110{
112 if (radii)
113 memset(radii, 0, sizeof(double) * k);
114
115 for (uint32_t i = 0; i < n; i++)
116 {
118
119
121 uint32_t curr_cluster = 0;
122
123
124 for (uint32_t cluster = 1; cluster < k; cluster++)
125 {
128 {
130 curr_cluster = cluster;
131 }
132 }
133
134
135 if (clusters[i] != curr_cluster)
136 {
138 clusters[i] = curr_cluster;
139 }
140 if (radii)
141 if (radii[curr_cluster] < curr_distance)
142 radii[curr_cluster] = curr_distance;
143 }
144 return converged;
145}
#define LW_TRUE
Return types for functions with status returns.
static double distance3d_sqr_pt4d_pt4d(const POINT4D *p1, const POINT4D *p2)
static double distance(double x1, double y1, double x2, double y2)