63{
64 uint32_t i;
65 int cluster;
66
67 memset(weights, 0, sizeof(uint32_t) * k);
68 for (i = 0; i < k; i++)
69 {
72 }
73 for (i = 0; i < n; i++)
74 {
75 cluster = clusters[i];
77 {
78 centers[cluster]->
x += objs[i]->
x;
79 centers[cluster]->
y += objs[i]->
y;
80 weights[cluster] += 1;
81 }
82 }
83 for (i = 0; i < k; i++)
84 {
85 if (weights[i])
86 {
87 centers[i]->
x /= weights[i];
88 centers[i]->
y /= weights[i];
89 }
90 }
91}
#define KMEANS_NULL_CLUSTER