text: #include <cassert>
  
  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;
  }
  