1 #ifndef __STAN__MATH__ERROR_HANDLING__CHECK_POSITIVE_HPP__
2 #define __STAN__MATH__ERROR_HANDLING__CHECK_POSITIVE_HPP__
4 #include <boost/type_traits/is_unsigned.hpp>
14 template <
typename T_y,
19 static bool check(
const char*
function,
26 if (!boost::is_unsigned<T_y>::value && !(y > 0))
28 " is %1%, but must be > 0!",
"",
34 template <
typename T_y,
37 struct positive<T_y, T_result, Policy, true> {
38 static bool check(
const char*
function,
44 for (
size_t n = 0; n <
length(y); n++) {
45 if (!boost::is_unsigned<typename T_y::value_type>::value
48 " is %1%, but must be > 0!",
"",
55 template <
typename T_y,
typename T_result,
class Policy>
61 return positive<T_y,T_result,Policy,
63 ::check(
function, y, name, result, Policy());
65 template <
typename T_x,
typename T_result>
76 return check_positive<T,typename scalar_type<T>::type *>