1#ifndef STAN_MATH_PRIM_ERR_CHECK_VECTOR_HPP
2#define STAN_MATH_PRIM_ERR_CHECK_VECTOR_HPP
29template <
typename Mat,
30 require_any_t<is_matrix<Mat>,
31 is_prim_or_rev_kernel_expression<Mat>>* =
nullptr>
32inline void check_vector(
const char* function,
const char* name,
const Mat& x) {
33 if (!(x.rows() == 1 || x.cols() == 1)) {
36 std::ostringstream msg;
37 msg <<
") has " << x.rows() <<
" rows and " << x.cols()
38 <<
" columns but it should be a vector so it should "
39 <<
"either have 1 row or 1 column";
40 std::string msg_str(msg.str());
#define STAN_NO_RANGE_CHECKS_RETURN
Turns all range and size checks into no-ops.
void check_vector(const char *function, const char *name, const Mat &x)
Check the input is either a row vector or column vector or a matrix with a single row or column.
void invalid_argument(const char *function, const char *name, const T &y, const char *msg1, const char *msg2)
Throw an invalid_argument exception with a consistently formatted message.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...