aboutsummaryrefslogtreecommitdiff
path: root/km-rand-src.c
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-02-03 05:03:07 -0500
committerPaul Duncan <pabs@pablotron.org>2019-02-03 05:03:07 -0500
commite5f97aafca24667ed6780a92d9bd451c66454b44 (patch)
tree385e60e48d7a736f1611b83f9ce81ea2c97b5665 /km-rand-src.c
parentb3d3cebbc3dae2c975b9bb0f0c77f5dc845d7fb8 (diff)
downloadkmeans-e5f97aafca24667ed6780a92d9bd451c66454b44.tar.bz2
kmeans-e5f97aafca24667ed6780a92d9bd451c66454b44.zip
s/rand_src/rand/, mv km-rand{-src,}.c
Diffstat (limited to 'km-rand-src.c')
-rw-r--r--km-rand-src.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/km-rand-src.c b/km-rand-src.c
deleted file mode 100644
index 0ddc1bb..0000000
--- a/km-rand-src.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <stdbool.h>
-#include "util.h"
-#include "km.h"
-
-// fill buffer with N random floats
-bool
-km_rand_src_fill(
- km_rand_src_t * const rs,
- const size_t num_floats,
- float * const floats
-) {
- return rs->cbs->fill(rs, num_floats, floats);
-}
-
-// finalize random source
-void
-km_rand_src_fini(
- km_rand_src_t * const rs
-) {
- if (rs->cbs->fini) {
- rs->cbs->fini(rs);
- }
-}
-
-// fill callback for system random source
-static bool
-rand_src_system_on_fill(
- km_rand_src_t * const rs,
- const size_t num_floats,
- float * const floats
-) {
- UNUSED(rs);
-
- // generate random cluster centers
- for (size_t i = 0; i < num_floats; i++) {
- floats[i] = 1.0 * rand() / RAND_MAX;
- }
-
- // return success
- return true;
-}
-
-// system random source callbacks
-static const km_rand_src_cbs_t
-RAND_SRC_SYSTEM_CBS = {
- .fill = rand_src_system_on_fill,
- .fini = NULL,
-};
-
-// init system random source (uses system rand())
-void
-km_rand_src_system_init(
- km_rand_src_t * const rs
-) {
- rs->cbs = &RAND_SRC_SYSTEM_CBS;
- rs->data = NULL;
-}