aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/histogram/adaptive/fixed_bin_histogram.h
diff options
context:
space:
mode:
authorzosimov <zosimov@yandex-team.ru>2022-02-10 16:50:32 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:50:32 +0300
commita8f009e06d613c9567eb4c0f461dbed5e0d8092b (patch)
treed21fc5cd2e0d5ade9588ebc637729e86b924279b /library/cpp/histogram/adaptive/fixed_bin_histogram.h
parent06e925754c8de946ff79d538bde1e6424cbd4cbb (diff)
downloadydb-a8f009e06d613c9567eb4c0f461dbed5e0d8092b.tar.gz
Restoring authorship annotation for <zosimov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/histogram/adaptive/fixed_bin_histogram.h')
-rw-r--r--library/cpp/histogram/adaptive/fixed_bin_histogram.h122
1 files changed, 61 insertions, 61 deletions
diff --git a/library/cpp/histogram/adaptive/fixed_bin_histogram.h b/library/cpp/histogram/adaptive/fixed_bin_histogram.h
index bd380bd94a..326d962c46 100644
--- a/library/cpp/histogram/adaptive/fixed_bin_histogram.h
+++ b/library/cpp/histogram/adaptive/fixed_bin_histogram.h
@@ -1,91 +1,91 @@
#pragma once
-#include "histogram.h"
-
+#include "histogram.h"
+
#include <library/cpp/histogram/adaptive/protos/histo.pb.h>
-
-#include <util/generic/ptr.h>
+
+#include <util/generic/ptr.h>
#include <util/generic/vector.h>
#include <utility>
namespace NKiwiAggr {
- class TFixedBinHistogram: private TNonCopyable, public IHistogram {
- private:
- static const size_t DEFAULT_TRAINING_SET_SIZE = 10000;
- static const size_t DEFAULT_INTERVALS = 100;
+ class TFixedBinHistogram: private TNonCopyable, public IHistogram {
+ private:
+ static const size_t DEFAULT_TRAINING_SET_SIZE = 10000;
+ static const size_t DEFAULT_INTERVALS = 100;
typedef std::pair<double, double> TWeightedValue; // value, weight
THolder<TVector<TWeightedValue>> TrainingSet;
- size_t TrainingSetSize;
-
- bool IsInitialized;
- bool IsEmpty;
+ size_t TrainingSetSize;
+
+ bool IsInitialized;
+ bool IsEmpty;
ui64 Id;
- double MinValue;
- double MaxValue;
- double Sum;
-
+ double MinValue;
+ double MaxValue;
+ double Sum;
+
TVector<double> Freqs;
TVector<double> ReserveFreqs;
- double ReferencePoint;
- double BinRange;
- size_t Intervals;
- i32 FirstUsedBin;
- i32 LastUsedBin;
- i32 BaseIndex;
-
- public:
+ double ReferencePoint;
+ double BinRange;
+ size_t Intervals;
+ i32 FirstUsedBin;
+ i32 LastUsedBin;
+ i32 BaseIndex;
+
+ public:
TFixedBinHistogram(size_t intervals, ui64 id = 0, size_t trainingSetSize = DEFAULT_TRAINING_SET_SIZE);
TFixedBinHistogram(const THistogram& histo, size_t defaultIntervals = DEFAULT_INTERVALS, ui64 defaultId = 0, size_t trainingSetSize = DEFAULT_TRAINING_SET_SIZE);
TFixedBinHistogram(IHistogram* histo, size_t defaultIntervals = DEFAULT_INTERVALS, ui64 defaultId = 0, size_t trainingSetSize = DEFAULT_TRAINING_SET_SIZE);
virtual ~TFixedBinHistogram() {
- }
-
- virtual void Clear();
-
- virtual void Add(double value, double weight);
- virtual void Add(const THistoRec& histoRec);
+ }
+ virtual void Clear();
+
+ virtual void Add(double value, double weight);
+ virtual void Add(const THistoRec& histoRec);
+
virtual void Merge(const THistogram& histo, double multiplier);
virtual void Merge(const TVector<THistogram>& histogramsToMerge);
virtual void Merge(TVector<IHistogramPtr> histogramsToMerge);
-
- virtual void Multiply(double factor);
-
- virtual void FromProto(const THistogram& histo);
- virtual void ToProto(THistogram& histo);
-
+
+ virtual void Multiply(double factor);
+
+ virtual void FromProto(const THistogram& histo);
+ virtual void ToProto(THistogram& histo);
+
virtual void SetId(ui64 id);
virtual ui64 GetId();
- virtual bool Empty();
- virtual double GetMinValue();
- virtual double GetMaxValue();
- virtual double GetSum();
- virtual double GetSumInRange(double leftBound, double rightBound);
- virtual double GetSumAboveBound(double bound);
- virtual double GetSumBelowBound(double bound);
- virtual double CalcUpperBound(double sum);
- virtual double CalcLowerBound(double sum);
+ virtual bool Empty();
+ virtual double GetMinValue();
+ virtual double GetMaxValue();
+ virtual double GetSum();
+ virtual double GetSumInRange(double leftBound, double rightBound);
+ virtual double GetSumAboveBound(double bound);
+ virtual double GetSumBelowBound(double bound);
+ virtual double CalcUpperBound(double sum);
+ virtual double CalcLowerBound(double sum);
virtual double CalcUpperBoundSafe(double sum);
virtual double CalcLowerBoundSafe(double sum);
-
+
double CalcDensity(double value);
- private:
- double CalcBinRange(double referencePoint, double maxValue);
- void SetFrame(double minValue, double maxValue, bool clear);
- void FromIHistogram(IHistogram* histo);
- void Initialize();
- i32 CalcBin(double value);
- double BinStart(i32 i);
- double BinEnd(i32 i);
- void Shrink(double newMinValue, double newMaxValue);
-
- static bool CompareWeightedValue(const TWeightedValue& left, const TWeightedValue& right) {
- return left.first < right.first;
- }
- };
-
+ private:
+ double CalcBinRange(double referencePoint, double maxValue);
+ void SetFrame(double minValue, double maxValue, bool clear);
+ void FromIHistogram(IHistogram* histo);
+ void Initialize();
+ i32 CalcBin(double value);
+ double BinStart(i32 i);
+ double BinEnd(i32 i);
+ void Shrink(double newMinValue, double newMaxValue);
+
+ static bool CompareWeightedValue(const TWeightedValue& left, const TWeightedValue& right) {
+ return left.first < right.first;
+ }
+ };
+
}