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
7
#include "
clustering/math/thread.h
"
8
#include "
clustering/ndarray.h
"
9
10
namespace
clustering::kmeans
{
11
22
template
<
class
S,
class
T>
23
concept
SeederStrategy
=
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
clustering::NDArray
Represents a multidimensional array (NDArray) of a fixed number of dimensions N and element type T.
Definition
ndarray.h:136
clustering::kmeans::SeederStrategy
Contract for the seeder that produces initial centroids for the Lloyd driver.
Definition
seeder.h:23
clustering::kmeans
Definition
afkmc2_seeder.h:14
ndarray.h
clustering::math::Pool
Thin injection wrapper around a BS::light_thread_pool.
Definition
thread.h:63
thread.h
include
clustering
kmeans
policy
seeder.h
Generated by
1.16.1