41 int &nz0, std::vector<int> &irn,
42 std::vector<int> &jcn,
43 std::vector<double> &val) {
61 ANNpointArray dataPts = annAllocPts(nPts,
dim);
62 std::vector<ANNidx> nnIdx(k);
63 std::vector<ANNdist> dists(k);
65 for (
int i = 0; i < nPts; i++){
66 double *xx = dataPts[i];
67 for (
int j = 0; j <
dim; j++) xx[j] = x[i*
dim + j];
77 for (
int ip = 0; ip < nPts; ip++){
85 for (
int i = 0; i < k; i++) {
86 if (nnIdx[i] == ip)
continue;
100 for (
int ip = 0; ip < nPts; ip++){
108 for (
int i = 0; i < k; i++) {
109 if (nnIdx[i] == ip)
continue;
112 jcn[nz++] = nnIdx[i];
118 annDeallocPts(dataPts);
void nearest_neighbor_graph_ann(int nPts, int k, const std::vector< double > &x, int &nz0, std::vector< int > &irn, std::vector< int > &jcn, std::vector< double > &val)