VCCC  2024.05
VisualCamp Common C++ library
average

calculate average More...

Detailed Description

Functions

template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0>
constexpr auto average (InputIterator first, InputIterator last)
 get average of iterator values [first, last) More...
 
template<typename InputIterator , typename UnaryOperation , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0>
constexpr auto average (InputIterator first, InputIterator last, UnaryOperation unary_op)
 get average of iterator values [first, last) More...
 
template<typename ... Numbers, std::enable_if_t< conjunction< std::is_arithmetic< Numbers >... >::value, int > = 0>
constexpr auto average (Numbers... numbers)
 get average value of arithmetic types More...
 
template<typename ... Args, std::enable_if_t< conjunction< negation< disjunction< is_iterable< Args >... >>, negation< disjunction< std::is_arithmetic< Args >... >> >::value, int > = 0>
constexpr auto average (const Args &... args)
 get average value of custom types More...
 

Function Documentation

◆ average() [1/4]

constexpr auto vccc::average ( const Args &...  args)
inlineconstexpr
Parameters
...argsarguments
Returns

◆ average() [2/4]

constexpr auto vccc::average ( InputIterator  first,
InputIterator  last 
)
constexpr
Parameters
firstbegin of input iterator
lastend of input iterator

◆ average() [3/4]

constexpr auto vccc::average ( InputIterator  first,
InputIterator  last,
UnaryOperation  unary_op 
)
constexpr
Parameters
firstbegin of input iterator
lastend of input iterator
unary_opcustom unary operator( sum+=op(x) ... )

◆ average() [4/4]

constexpr auto vccc::average ( Numbers...  numbers)
inlineconstexpr

Note:

  • average of ints -> return double
  • average of floats -> return float
  • average of doubles -> return double
  • average of long doubles -> return long double
    Parameters
    ...numbersnumbers