#include extern "C" { #include "fastcluster.h" } int main(int argc, const char* argv[]) { const int n = 11; const int m = 3; double* pts = new double[n*m]{59.26000137, -9.35999966, -5.42500019, 91.61999817, -0.31999999, -2.75, 31.38000031, 0.40000001, -0.2, 89.57999725, -8.07999992, -18.04999924, 53.42000122, 0.63999999, -0.175, 31.38000031, 0.47999999, -0.2, 36.33999939, 0.16, -0.2, 53.33999939, 0.95999998, -0.175, 59.26000137, -9.76000023, -5.44999981, 33.93999977, 0.40000001, -0.22499999, 106.74000092, -5.76000023, -18.04999924}; int * idx = new int[n]; int * correct_idx = new int[n]{0, 1, 2, 3, 4, 2, 5, 4, 0, 5, 6}; cluster_points_centroid(n, m, pts, 2.5 * 2.5, idx); for (int i = 0; i < n; i++) { assert(idx[i] == correct_idx[i]); } delete[] idx; delete[] correct_idx; delete[] pts; }