Stan Math Library
2.14.0
reverse mode automatic differentiation
stan
math
prim
scal
meta
is_var_or_arithmetic.hpp
Go to the documentation of this file.
1
#ifndef STAN_MATH_PRIM_SCAL_META_IS_VAR_OR_ARITHMETIC_HPP
2
#define STAN_MATH_PRIM_SCAL_META_IS_VAR_OR_ARITHMETIC_HPP
3
4
#include <
stan/math/prim/scal/meta/is_var.hpp
>
5
#include <
stan/math/prim/scal/meta/scalar_type.hpp
>
6
#include <boost/type_traits/is_arithmetic.hpp>
7
8
namespace
stan
{
9
10
template
<
typename
T1,
11
typename
T2 = double,
12
typename
T3 = double,
13
typename
T4 = double,
14
typename
T5 = double,
15
typename
T6 =
double
>
16
struct
is_var_or_arithmetic
{
17
enum
{
18
value
19
= (
is_var<typename scalar_type<T1>::type
>
::value
20
|| boost::is_arithmetic<typename scalar_type<T1>::type>
::value
)
21
&& (
is_var
<
typename
scalar_type<T2>::type
>::
value
22
|| boost::is_arithmetic<
typename
scalar_type<T2>::type
>::
value
)
23
&& (
is_var<typename scalar_type<T3>::type
>
::value
24
|| boost::is_arithmetic<typename scalar_type<T3>::type>
::value
)
25
&& (
is_var
<
typename
scalar_type<T4>::type
>::
value
26
|| boost::is_arithmetic<
typename
scalar_type<T4>::type
>::
value
)
27
&& (
is_var<typename scalar_type<T5>::type
>
::value
28
|| boost::is_arithmetic<typename scalar_type<T5>::type>
::value
)
29
&& (
is_var
<
typename
scalar_type<T6>::type
>::
value
30
|| boost::is_arithmetic<
typename
scalar_type<T6>::type
>::
value
)
31
};
32
};
33
34
}
35
#endif
36
stan
Definition:
log_sum_exp.hpp:8
stan::is_var
Definition:
is_var.hpp:7
stan::is_var_or_arithmetic::value
Definition:
is_var_or_arithmetic.hpp:18
stan::scalar_type::type
scalar_type_helper< is_vector< T >::value, T >::type type
Definition:
scalar_type.hpp:34
is_var.hpp
scalar_type.hpp
stan::is_var_or_arithmetic
Definition:
is_var_or_arithmetic.hpp:16
[
Stan Home Page
]
© 2011–2016, Stan Development Team.