public static void InitKdTree(double[][] points, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST) { int n = points.Length; int dim = points[0].Length; double[] data = new double[n * dim]; for (int i = 0; i < points.Length; i++) for (int j = 0; j < dim; j++) data[i * dim + j] = points[i][j]; InitKdTree(data, n, dim, bucketSize, splitRule); }
public static void InitKdTree(double[][] points, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST) { int n = points.Length; int dim = points[0].Length; double[] data = new double[n * dim]; for (int i = 0; i < points.Length; i++) { for (int j = 0; j < dim; j++) { data[i * dim + j] = points[i][j]; } } InitKdTree(data, n, dim, bucketSize, splitRule); }
public static void InitKdTree(double[] points, int n, int dim, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST) { fixed (double* d = points) InitKdTree(d, n, dim, bucketSize, splitRule); }
private static extern void InitKdTree(double* data, int n, int dim, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST);
public static void InitKdTree(double[] points, int n, int dim, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST) { fixed(double *d = points) InitKdTree(d, n, dim, bucketSize, splitRule); }
private static extern void InitKdTree(double *data, int n, int dim, int bucketSize = 1, ANNSplitRule splitRule = ANNSplitRule.ANN_KD_SUGGEST);