Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mean.hpp
Go to the documentation of this file.
1 #ifndef STAN__MATH__MATRIX__MEAN_HPP
2 #define STAN__MATH__MATRIX__MEAN_HPP
3 
4 #include <vector>
5 #include <boost/math/tools/promotion.hpp>
8 
9 namespace stan {
10  namespace math {
11 
20  template <typename T>
21  inline
22  typename boost::math::tools::promote_args<T>::type
23  mean(const std::vector<T>& v) {
24  stan::math::check_nonzero_size("mean(%1%)",v,"v", (double*)0);
25  T sum(v[0]);
26  for (size_t i = 1; i < v.size(); ++i)
27  sum += v[i];
28  return sum / v.size();
29  }
30 
37  template <typename T, int R, int C>
38  inline
39  typename boost::math::tools::promote_args<T>::type
40  mean(const Eigen::Matrix<T,R,C>& m) {
41  stan::math::check_nonzero_size("mean(%1%)",m,"m", (double*)0);
42  return m.mean();
43  }
44 
45  }
46 }
47 #endif
boost::math::tools::promote_args< T >::type mean(const std::vector< T > &v)
Returns the sample mean (i.e., average) of the coefficients in the specified standard vector...
Definition: mean.hpp:23
double sum(std::vector< double > &x)
Definition: sum.hpp:10
bool check_nonzero_size(const char *function, const T_y &y, const char *name, T_result *result)
Return true if the specified matrix/vector is of non-zero size.

     [ Stan Home Page ] © 2011–2014, Stan Development Team.