21 #include <grass/cluster.h>
25 double separation,
int min_class_size,
26 int (*checkpoint) (),
int *interrupted)
35 fprintf(stderr,
"cluster: not enough data points (%d)\n", C->npoints);
42 C->nclasses = maxclass;
44 if (min_class_size <= 0)
46 if (min_class_size < 2)
51 if (convergence <= 0.0)
78 for (C->iteration = 1;; C->iteration++) {
91 C->percent_stable = (C->npoints - changes) * 100.0;
92 C->percent_stable /= (double)C->npoints;
97 if (C->iteration >= iterations)
100 if (C->percent_stable < convergence)
109 (*checkpoint) (
C, 4);