protected cumulative_stats against count wraparound

This commit is contained in:
joaquintides 2024-04-30 17:32:53 +02:00
parent 2d8fd43cc4
commit 648f6fd23e

View File

@ -77,8 +77,12 @@ public:
static_assert(
sizeof...(Ts)==N,"A sample must be provided for each sequence.");
if(BOOST_UNLIKELY(++n==0)){ /* wraparound */
reset();
n=1;
}
mp11::tuple_transform(
welfords_algorithm{++n},
welfords_algorithm{n},
std::forward_as_tuple(std::forward<Ts>(xs)...),
data);
}