22 #ifndef EDSP_STATISTICAL_MEAN_H 23 #define EDSP_STATISTICAL_MEAN_H 25 #include <edsp/meta/iterator.hpp> 29 namespace edsp {
namespace statistics {
43 template <
typename ForwardIt>
44 constexpr meta::value_type_t<ForwardIt>
mean(ForwardIt first, ForwardIt last) {
45 using input_t = meta::value_type_t<ForwardIt>;
46 const auto acc = std::accumulate(first, last, static_cast<input_t>(0));
47 return acc /
static_cast<input_t
>(
std::distance(first, last));
51 #endif // EDSP_STATISTICAL_MEAN_H constexpr T distance(T x, T y) noexcept
Computes the distance between x and y.
Definition: numeric.hpp:328
Definition: amplifier.hpp:29
constexpr meta::value_type_t< ForwardIt > mean(ForwardIt first, ForwardIt last)
Computes the average or mean value of the range [first, last)
Definition: mean.hpp:44