Commit f75e2a2a authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

Use sorted_equivalent in TDigest

Summary: [Folly] Use `sorted_equivalent` in `TDigest` since it is less ambiguous than `presorted` and it is a backport from C++20.

Reviewed By: vitaut

Differential Revision: D15195608

fbshipit-source-id: 07bb4c7e3750affd10f182efcdf3d9ee9e4a8cf8
parent cb3ff81d
...@@ -123,10 +123,11 @@ TDigest TDigest::merge(Range<const double*> unsortedValues) const { ...@@ -123,10 +123,11 @@ TDigest TDigest::merge(Range<const double*> unsortedValues) const {
detail::double_radix_sort(n, buckets.get(), in, out); detail::double_radix_sort(n, buckets.get(), in, out);
DCHECK(std::is_sorted(in, in + n)); DCHECK(std::is_sorted(in, in + n));
return merge(presorted, Range<const double*>(in, in + n)); return merge(sorted_equivalent, Range<const double*>(in, in + n));
} }
TDigest TDigest::merge(presorted_t, Range<const double*> sortedValues) const { TDigest TDigest::merge(sorted_equivalent_t, Range<const double*> sortedValues)
const {
if (sortedValues.empty()) { if (sortedValues.empty()) {
return *this; return *this;
} }
......
...@@ -94,7 +94,7 @@ class TDigest { ...@@ -94,7 +94,7 @@ class TDigest {
* Returns a new TDigest constructed with values merged from the current * Returns a new TDigest constructed with values merged from the current
* digest and the given sortedValues. * digest and the given sortedValues.
*/ */
TDigest merge(presorted_t, Range<const double*> sortedValues) const; TDigest merge(sorted_equivalent_t, Range<const double*> sortedValues) const;
/* /*
* Returns a new TDigest constructed with values merged from the current * Returns a new TDigest constructed with values merged from the current
* digest and the given unsortedValues. * digest and the given unsortedValues.
......
...@@ -46,7 +46,7 @@ void merge(unsigned int iters, size_t maxSize, size_t bufSize) { ...@@ -46,7 +46,7 @@ void merge(unsigned int iters, size_t maxSize, size_t bufSize) {
} }
for (const auto& buffer : buffers) { for (const auto& buffer : buffers) {
digest = digest.merge(folly::presorted, buffer); digest = digest.merge(folly::sorted_equivalent, buffer);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment