1 #ifndef STAN_MATH_PRIM_ARR_FUN_LOG_SUM_EXP_HPP 2 #define STAN_MATH_PRIM_ARR_FUN_LOG_SUM_EXP_HPP 25 using std::numeric_limits;
28 double max = -numeric_limits<double>::infinity();
29 for (
size_t ii = 0; ii < x.size(); ii++)
34 for (
size_t ii = 0; ii < x.size(); ii++)
35 if (x[ii] != -numeric_limits<double>::infinity())
36 sum +=
exp(x[ii] - max);
38 return max +
log(sum);
fvar< T > sum(const std::vector< fvar< T > > &m)
Return the sum of the entries of the specified standard vector.
fvar< T > log(const fvar< T > &x)
fvar< T > log_sum_exp(const std::vector< fvar< T > > &v)
fvar< T > exp(const fvar< T > &x)
int max(const std::vector< int > &x)
Returns the maximum coefficient in the specified column vector.