]> granicus.if.org Git - graphviz/commitdiff
push some definitions closer to where they are used
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 14 Feb 2021 06:02:54 +0000 (22:02 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 20 Feb 2021 16:04:15 +0000 (08:04 -0800)
lib/mingle/nearest_neighbor_graph_ann.cpp

index 1710d3e2e2185e3394c6ace64876f43d2f8b0c3c..75d6f2bd399faad83a91531237293d946e2193a4 100644 (file)
@@ -35,10 +35,8 @@ static void printPt(ostream &out, ANNpoint p)                        // print point
 
 static void sortPtsX(int n, ANNpointArray pts){
   /* sort so that edges always go from left to right in x-doordinate */
-  ANNpoint p;
-  int i;
-  for (i = 0; i < n; i++){
-    p = pts[i];
+  for (int i = 0; i < n; i++){
+    ANNpoint p = pts[i];
     if (p[0] < p[2] || (p[0] == p[2] && p[1] < p[3])) continue;
     std::swap(p[0], p[2]);
     std::swap(p[1], p[3]);
@@ -47,10 +45,8 @@ static void sortPtsX(int n, ANNpointArray pts){
 
 static void sortPtsY(int n, ANNpointArray pts){
   /* sort so that edges always go from left to right in x-doordinate */
-  ANNpoint p;
-  int i;
-  for (i = 0; i < n; i++){
-    p = pts[i];
+  for (int i = 0; i < n; i++){
+    ANNpoint p = pts[i];
     if (p[1] < p[3] || (p[1] == p[3] && p[0] < p[2])) continue;
     std::swap(p[0], p[2]);
     std::swap(p[1], p[3]);
@@ -73,29 +69,22 @@ void nearest_neighbor_graph_ann(int nPts, int k, double eps, double *x, int *nz0
     note that there could be repeates
   */
 
-  ANNpointArray                dataPts;                                // data points
-  
-  double *xx;
-  int *irn, *jcn;
-  double *val;
-  int nz;
-  
-  irn = *irn0;
-  jcn = *jcn0;
-  val = *val0;
+  int *irn = *irn0;
+  int *jcn = *jcn0;
+  double *val = *val0;
 
 
-  dataPts = annAllocPts(nPts, dim);                    // allocate data points
+  ANNpointArray dataPts = annAllocPts(nPts, dim);                      // allocate data points
   std::vector<ANNidx> nnIdx(k);                                                // allocate near neighbor indices
   std::vector<ANNdist> dists(k);                                       // allocate near neighbor dists
 
   for (int i = 0; i < nPts; i++){
-    xx =  dataPts[i];
+    double *xx =  dataPts[i];
     for (int j = 0; j < dim; j++) xx[j] = x[i*dim + j];
   }
 
   //========= graph when sort based on x ========
-  nz = 0;
+  int nz = 0;
   sortPtsX(nPts, dataPts);
   ANNkd_tree kdTree(                                   // build search structure
                          dataPts,                                      // the data points