#pragma once
namespace folly {
namespace detail {
QuantileEstimates estimatesFromDigest(
const TDigest& digest, Range<const double*> quantiles);
}
template <typename ClockT>
SimpleQuantileEstimator<ClockT>::SimpleQuantileEstimator()
: … { … }
template <typename ClockT>
QuantileEstimates SimpleQuantileEstimator<ClockT>::estimateQuantiles(
Range<const double*> quantiles, TimePoint now) { … }
template <typename ClockT>
void SimpleQuantileEstimator<ClockT>::addValue(double value, TimePoint now) { … }
template <typename ClockT>
SlidingWindowQuantileEstimator<ClockT>::SlidingWindowQuantileEstimator(
Duration windowDuration, size_t nWindows)
: … { … }
template <typename ClockT>
QuantileEstimates SlidingWindowQuantileEstimator<ClockT>::estimateQuantiles(
Range<const double*> quantiles, TimePoint now) { … }
template <typename ClockT>
void SlidingWindowQuantileEstimator<ClockT>::addValue(
double value, TimePoint now) { … }
}