Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
Loading...
Searching...
No Matches
seeder.h
Go to the documentation of this file.
1#pragma once
2
3#include <concepts>
4#include <cstddef>
5#include <cstdint>
6
9
10namespace clustering::kmeans {
11
22template <class S, class T>
24 std::default_initializable<S> &&
25 requires(S &seeder, const NDArray<T, 2> &X, std::size_t k, std::uint64_t seed, math::Pool pool,
26 NDArray<T, 2> &outCentroids) {
27 { seeder.run(X, k, seed, pool, outCentroids) };
28 };
29
30} // namespace clustering::kmeans
Represents a multidimensional array (NDArray) of a fixed number of dimensions N and element type T.
Definition ndarray.h:136
Contract for the seeder that produces initial centroids for the Lloyd driver.
Definition seeder.h:23
Thin injection wrapper around a BS::light_thread_pool.
Definition thread.h:63