#ifndef STAN_MATH_PRIM_ARR_FUN_SUM_HPP
#define STAN_MATH_PRIM_ARR_FUN_SUM_HPP

#include <cstddef>
#include <vector>

namespace stan {
namespace math {

/**
 * Return the sum of the values in the specified standard vector.
 *
 * @tparam T Type of elements summed.
 * @param xs Standard vector to sum.
 * @return Sum of elements.
 */
template <typename T>
inline T sum(const std::vector<T>& xs) {
  if (xs.size() == 0)
    return 0;
  T sum(xs[0]);
  for (size_t i = 1; i < xs.size(); ++i)
    sum += xs[i];
  return sum;
}

}  // namespace math
}  // namespace stan
#endif
