38template <
typename T,
size_t N>
49 for (
size_t i = 0;
i <
N; ++
i)
92template <
typename T, std::
size_t N,
typename Func>
134template <
typename T,
size_t N>
144 for (
size_t d = 0;
d <
N; ++
d)
153 for (
size_t d = 0;
d <
N; ++
d)
163 for (
size_t d = 0;
d <
N; ++
d)
206template <
typename T,
size_t N>
208 const std::array<std::pair<T, T>,
N> &
ranges)
211 for (
size_t d = 0;
d <
N; ++
d)
Definition dbscan_clustering.hpp:11
std::vector< Point< T, N > > random(size_t count, const std::array< std::pair< T, T >, N > &axis_ranges, std::optional< unsigned int > seed=std::nullopt)
Generates a specified number of uniformly distributed random points in N-dimensional space.
Definition random.hpp:66
void refit_points_to_range(std::vector< Point< T, N > > &points, const std::array< std::pair< T, T >, N > &target_ranges)
Linearly remap a set of points to fit within the specified axis-aligned ranges.
Definition range.hpp:135
std::vector< Point< T, N > > filter_points_function(const std::vector< Point< T, N > > &points, Func fn)
Filters points using a user-provided function.
Definition range.hpp:93
void rescale_points(std::vector< Point< T, N > > &points, const std::array< std::pair< T, T >, N > &ranges)
Rescales normalized points (in [0, 1]) to specified axis-aligned ranges.
Definition range.hpp:207
std::vector< Point< T, N > > filter_points_in_range(const std::vector< Point< T, N > > &points, const std::array< std::pair< T, T >, N > &axis_ranges)
Filters points that lie within the specified axis-aligned bounding box.
Definition range.hpp:39
A fixed-size N-dimensional point/vector class.
Definition point.hpp:39