average.h 353 B

12345678910111213141516171819
  1. #ifndef __AVERAGE_H
  2. #define __AVERAGE_H
  3. template <class T>
  4. typename T::value_type
  5. arithmetic_mean(T& list)
  6. {
  7. typename T::value_type sum = typename T::value_type();
  8. size_t count = 0;
  9. for(typename T::iterator pos = list.begin(); pos != list.end(); ++pos) {
  10. sum += *pos;
  11. ++count;
  12. }
  13. return sum / count;
  14. }
  15. #endif // __AVERAGE_H