From 16d9fd58a51c6083234e2e9f8f50e49ed5ed02e4 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Thu, 21 Nov 2019 10:30:22 -0800 Subject: Export of internal Abseil changes -- db8dbd0e8a7b0125a4819dfc81c9bd2496849c71 by Abseil Team : Create GetSkipCount() and GetStride() methods and add rounding bias correction. PiperOrigin-RevId: 281780897 GitOrigin-RevId: db8dbd0e8a7b0125a4819dfc81c9bd2496849c71 Change-Id: I56a97288b1cb38a9357c065747f8d9bc4b187fee --- absl/base/internal/periodic_sampler.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'absl/base/internal/periodic_sampler.cc') diff --git a/absl/base/internal/periodic_sampler.cc b/absl/base/internal/periodic_sampler.cc index 69656c8..87c3c85 100644 --- a/absl/base/internal/periodic_sampler.cc +++ b/absl/base/internal/periodic_sampler.cc @@ -22,7 +22,7 @@ namespace absl { namespace base_internal { int64_t PeriodicSamplerBase::GetExponentialBiased(int period) noexcept { - return rng_.Get(period); + return rng_.GetStride(period); } bool PeriodicSamplerBase::SubtleConfirmSample() noexcept { @@ -36,13 +36,14 @@ bool PeriodicSamplerBase::SubtleConfirmSample() noexcept { // Check if this is the first call to Sample() if (ABSL_PREDICT_FALSE(stride_ == 1)) { - stride_ = static_cast(-1 - GetExponentialBiased(current_period)); + stride_ = static_cast(-GetExponentialBiased(current_period)); if (static_cast(stride_) < -1) { ++stride_; return false; } } - stride_ = static_cast(-1 - GetExponentialBiased(current_period)); + + stride_ = static_cast(-GetExponentialBiased(current_period)); return true; } -- cgit v1.2.3