69 if (data.size() != m_acc_data.size())
70 throw std::runtime_error(
71 "The given data size does not fit the initialized size!");
74 std::ranges::transform(
75 data, m_acc_data.begin(),
79 std::ranges::transform(m_acc_data, data, m_acc_data.begin(),
81 auto const old_mean = a.mean;
83 old_mean + (d - old_mean) / denominator;
85 a.m + (d - old_mean) * (d - new_mean);
86 return AccumulatorData<double>{new_mean, new_m};