From b5321aff06d6ea8d730d62aec2ffd8e9271c1ffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 14 Apr 2022 20:12:10 +0200 Subject: Adding upstream version 1.34.0. Signed-off-by: Daniel Baumann --- ml/kmeans/SamplesBuffer.cc | 6 ++++++ ml/kmeans/SamplesBuffer.h | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'ml/kmeans') diff --git a/ml/kmeans/SamplesBuffer.cc b/ml/kmeans/SamplesBuffer.cc index f8211fb54..d276c6e09 100644 --- a/ml/kmeans/SamplesBuffer.cc +++ b/ml/kmeans/SamplesBuffer.cc @@ -130,7 +130,13 @@ std::vector SamplesBuffer::preprocess() { DSamples.reserve(OutN); Preprocessed = true; + uint32_t MaxMT = std::numeric_limits::max(); + uint32_t CutOff = static_cast(MaxMT) * SamplingRatio; + for (size_t Idx = NumSamples - OutN; Idx != NumSamples; Idx++) { + if (RandNums[Idx] > CutOff) + continue; + DSample DS; DS.set_size(NumDimsPerSample * (LagN + 1)); diff --git a/ml/kmeans/SamplesBuffer.h b/ml/kmeans/SamplesBuffer.h index 5c3cb1a97..1c7215cca 100644 --- a/ml/kmeans/SamplesBuffer.h +++ b/ml/kmeans/SamplesBuffer.h @@ -80,9 +80,11 @@ class SamplesBuffer { public: SamplesBuffer(CalculatedNumber *CNs, size_t NumSamples, size_t NumDimsPerSample, - size_t DiffN = 1, size_t SmoothN = 3, size_t LagN = 3) : + size_t DiffN, size_t SmoothN, size_t LagN, + double SamplingRatio, std::vector &RandNums) : CNs(CNs), NumSamples(NumSamples), NumDimsPerSample(NumDimsPerSample), DiffN(DiffN), SmoothN(SmoothN), LagN(LagN), + SamplingRatio(SamplingRatio), RandNums(RandNums), BytesPerSample(NumDimsPerSample * sizeof(CalculatedNumber)), Preprocessed(false) {}; @@ -129,6 +131,9 @@ private: size_t DiffN; size_t SmoothN; size_t LagN; + double SamplingRatio; + std::vector &RandNums; + size_t BytesPerSample; bool Preprocessed; }; -- cgit v1.2.3