aboutsummaryrefslogtreecommitdiff
path: root/src/km-set.c
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-02-05 11:08:51 -0500
committerPaul Duncan <pabs@pablotron.org>2019-02-05 11:08:51 -0500
commit42a5ea32a5bbba10b112a601ea8f34412842f1c3 (patch)
tree91b6ac1e940cc3d24fb2258df03bd16d6a11cbdd /src/km-set.c
parent7907db7627aafa35a45f7246e79f5369b6714828 (diff)
downloadkmeans-42a5ea32a5bbba10b112a601ea8f34412842f1c3.tar.bz2
kmeans-42a5ea32a5bbba10b112a601ea8f34412842f1c3.zip
use openmp, s/silouette/silhouette/, move row_map allocation outside of km_solve()
Diffstat (limited to 'src/km-set.c')
-rw-r--r--src/km-set.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/km-set.c b/src/km-set.c
index fcf1054..ca98a2b 100644
--- a/src/km-set.c
+++ b/src/km-set.c
@@ -237,6 +237,7 @@ km_set_normalize(
}
// normalize values
+ #pragma omp parallel for collapse(2)
for (size_t i = 0; i < set->num_rows; i++) {
for (size_t j = 0; j < num_floats; j++) {
const size_t ofs = i * num_floats + j;
@@ -257,21 +258,23 @@ km_set_normalize(
}
// get row from data set
+// unsafe (no bounds checking)
float *
km_set_get_row(
const km_set_t * const set,
const size_t i
) {
const size_t num_floats = set->shape.num_floats;
- return (num_floats) ? (set->floats + i * num_floats) : NULL;
+ return set->floats + i * num_floats;
}
// get row from data set
+// unsafe (no bounds checking)
int *
km_set_get_row_ints(
const km_set_t * const set,
const size_t i
) {
const size_t num_ints = set->shape.num_ints;
- return (num_ints) ? (set->ints + i * num_ints) : NULL;
+ return set->ints + i * num_ints;
}