]> granicus.if.org Git - graphviz/commitdiff
nearest_neighbor_graph_ann: use a reference for 'nz0' instead of pointer
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 15 Jan 2022 22:18:48 +0000 (14:18 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 16 Jan 2022 18:51:42 +0000 (10:51 -0800)
This parameter is non-nullable, so we can make the type signature reflect that.

lib/mingle/nearest_neighbor_graph.cpp
lib/mingle/nearest_neighbor_graph_ann.cpp
lib/mingle/nearest_neighbor_graph_ann.h

index 13d08d59626b56ca347d051aff2f338c3ad22cdd..dd65b8eede92c3be6a04b74de8a3c48fdd5ef271 100644 (file)
@@ -37,7 +37,7 @@ SparseMatrix nearest_neighbor_graph(int nPts, int num_neigbors, double *x, doubl
   std::vector<int> jcn(nPts * k * 2);
   std::vector<double> val(nPts * k * 2);
 
-  nearest_neighbor_graph_ann(nPts, num_neigbors, eps, x, &nz, irn, jcn, val);
+  nearest_neighbor_graph_ann(nPts, num_neigbors, eps, x, nz, irn, jcn, val);
 
   A = SparseMatrix_from_coordinate_arrays(nz, nPts, nPts, irn.data(),
                                           jcn.data(), val.data(),
index f2dd0b39df22f37748df338f60296213e16b3ccc..982928be15044f4aacd1ec8d0f1c677838ae51c0 100644 (file)
@@ -51,7 +51,7 @@ static void sortPtsY(int n, ANNpointArray pts){
 }
 
 void nearest_neighbor_graph_ann(int nPts, int k, double eps, double *x,
-                                int *nz0, std::vector<int> &irn,
+                                int &nz0, std::vector<int> &irn,
                                 std::vector<int> &jcn,
                                 std::vector<double> &val) {
 
@@ -130,7 +130,7 @@ void nearest_neighbor_graph_ann(int nPts, int k, double eps, double *x,
     }
   }
     
-  *nz0 = nz;
+  nz0 = nz;
 
   annDeallocPts(dataPts);
   annClose();                                                                  // done with ANN
index 9d5e2c5cfeea21c42e091320fcb7fe35b288a04c..9f902f49806575ba656a0e683e5874f4b2194a3f 100644 (file)
@@ -13,6 +13,6 @@
 #include <vector>
 
 void nearest_neighbor_graph_ann(int nPts, int k, double eps, double *x,
-                                int *nz0, std::vector<int> &irn,
+                                int &nz0, std::vector<int> &irn,
                                 std::vector<int> &jcn,
                                 std::vector<double> &val);