From b9cbbce771323fb7cfca3f511e9e75a6daae1c5b Mon Sep 17 00:00:00 2001 From: Matthew Fernandez Date: Sat, 13 Feb 2021 22:02:54 -0800 Subject: [PATCH] push some definitions closer to where they are used --- lib/mingle/nearest_neighbor_graph_ann.cpp | 31 ++++++++--------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/lib/mingle/nearest_neighbor_graph_ann.cpp b/lib/mingle/nearest_neighbor_graph_ann.cpp index 1710d3e2e..75d6f2bd3 100644 --- a/lib/mingle/nearest_neighbor_graph_ann.cpp +++ b/lib/mingle/nearest_neighbor_graph_ann.cpp @@ -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 nnIdx(k); // allocate near neighbor indices std::vector 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 -- 2.40.0