Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
Loading...
Searching...
No Matches
prim_mst_backend.h File Reference
#include <algorithm>
#include <array>
#include <atomic>
#include <cstddef>
#include <cstdint>
#include <future>
#include <limits>
#include <thread>
#include <type_traits>
#include <utility>
#include <vector>
#include "clustering/always_assert.h"
#include "clustering/hdbscan/mst_output.h"
#include "clustering/index/kdtree.h"
#include "clustering/math/detail/avx2_helpers.h"
#include "clustering/math/detail/sq_distances_block.h"
#include "clustering/math/thread.h"
#include "clustering/ndarray.h"
Include dependency graph for prim_mst_backend.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clustering::hdbscan::PrimMstBackend< T >
 Exact minimum-spanning-tree backend over mutual-reachability distance, streaming Prim. More...

Namespaces

namespace  clustering
namespace  clustering::hdbscan

Variables

constexpr std::size_t clustering::hdbscan::kPrimMaxN = std::size_t{16384}
 Compute budget that gates the streaming Prim backend, expressed as the maximum point count it will accept.
constexpr std::size_t clustering::hdbscan::kPrimMrdMatrixByteBudget = kPrimMaxN * kPrimMaxN * sizeof(float)
 Equivalent byte-budget phrasing of kPrimMaxN, kept so callers that gate on n*n*sizeof(T) <= kPrimMrdMatrixByteBudget compile unchanged.
constexpr std::size_t clustering::hdbscan::kPrimDenseCoreMinN = 1024
 Thresholds gating the dense symmetric core-distance pass.
constexpr std::size_t clustering::hdbscan::kPrimDenseCoreMinD = 17
constexpr std::size_t clustering::hdbscan::kPrimDenseCoreMaxMinSamples = 64
constexpr std::size_t clustering::hdbscan::kPrimPersistentRelaxMinWorkers = 8
constexpr std::size_t clustering::hdbscan::kPrimPersistentRelaxMinOpsPerWorker = std::size_t{1} << 14