Skip to content

Commit 0692de1

Browse files
author
Rafał Hibner
committed
Merge branch 'tdigest_scaler' into combined3
2 parents 3b17812 + 8c6fec8 commit 0692de1

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

cpp/src/arrow/util/tdigest.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,5 +403,10 @@ void TDigest::MergeInput() const {
403403
}
404404
}
405405

406+
TDigestScalerK0::TDigestScalerK0(uint32_t delta)
407+
: Scaler(delta), delta_norm(delta / 2.0) {}
408+
TDigestScalerK1::TDigestScalerK1(uint32_t delta)
409+
: Scaler(delta), delta_norm(delta / (2.0 * M_PI)) {}
410+
406411
} // namespace internal
407412
} // namespace arrow

cpp/src/arrow/util/tdigest_internal.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class ARROW_EXPORT TDigest {
112112

113113
// scale function K0: linear function, as baseline
114114
struct ARROW_EXPORT TDigestScalerK0 : public TDigest::Scaler {
115-
explicit TDigestScalerK0(uint32_t delta) : Scaler(delta), delta_norm(delta / 2.0) {}
115+
explicit TDigestScalerK0(uint32_t delta);
116116

117117
double K(double q) const override { return delta_norm * q; }
118118
double Q(double k) const { return k / delta_norm; }
@@ -123,8 +123,7 @@ struct ARROW_EXPORT TDigestScalerK0 : public TDigest::Scaler {
123123

124124
// scale function K1
125125
struct ARROW_EXPORT TDigestScalerK1 : public TDigest::Scaler {
126-
explicit TDigestScalerK1(uint32_t delta)
127-
: Scaler(delta), delta_norm(delta / (2.0 * M_PI)) {}
126+
explicit TDigestScalerK1(uint32_t delta);
128127

129128
double K(double q) const override { return delta_norm * std::asin(2 * q - 1); }
130129
double Q(double k) const { return (std::sin(k / delta_norm) + 1) / 2; }

0 commit comments

Comments
 (0)