aboutsummaryrefslogtreecommitdiff
path: root/km-init.c
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-02-04 09:36:52 -0500
committerPaul Duncan <pabs@pablotron.org>2019-02-04 09:36:52 -0500
commitf496f3f1ce5bd068930382f7516494abdbf62489 (patch)
treef912fff2b50e04cfc4585fa6d8f6afcb05460a68 /km-init.c
parent4a4373f113b607f715badd2ea06cba461fe3bbcf (diff)
downloadkmeans-f496f3f1ce5bd068930382f7516494abdbf62489.tar.bz2
kmeans-f496f3f1ce5bd068930382f7516494abdbf62489.zip
add kmeans++ method
Diffstat (limited to 'km-init.c')
-rw-r--r--km-init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/km-init.c b/km-init.c
index f04fca0..280ea81 100644
--- a/km-init.c
+++ b/km-init.c
@@ -13,6 +13,7 @@ typedef bool (*km_init_fn_t)(
bool km_init_rand(km_set_t *, const size_t, const km_set_t *, km_rand_t *);
bool km_init_forgy(km_set_t *, const size_t, const km_set_t *, km_rand_t *);
+bool km_init_kmeans(km_set_t *, const size_t, const km_set_t *, km_rand_t *);
static const struct {
const km_init_type_t type;
@@ -26,6 +27,10 @@ static const struct {
.name = "forgy",
.type = KM_INIT_TYPE_FORGY,
.init = km_init_forgy,
+}, {
+ .name = "kmeans",
+ .type = KM_INIT_TYPE_KMEANS,
+ .init = km_init_kmeans,
}};
#define NUM_TYPES (sizeof(TYPES) / sizeof(TYPES[0]))