| Stan Math Library 2.11.0 reverse mode automatic differentiation

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

include_summand.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_SCAL_META_INCLUDE_SUMMAND_HPP
2 #define STAN_MATH_PRIM_SCAL_META_INCLUDE_SUMMAND_HPP
3
4 #include <stan/math/prim/scal/meta/is_constant.hpp>
5 #include <stan/math/prim/scal/meta/scalar_type.hpp>
6 #include <boost/math/tools/promotion.hpp>
7
8 namespace stan {
9
10 namespace math {
11
30 template <bool propto,
31 typename T1 = double, typename T2 = double,
32 typename T3 = double, typename T4 = double,
33 typename T5 = double, typename T6 = double,
34 typename T7 = double, typename T8 = double,
35 typename T9 = double, typename T10 = double>
36 struct include_summand {
42 enum {
43 value = (!propto
44 || !stan::is_constant<typename scalar_type<T1>::type>::value
45 || !stan::is_constant<typename scalar_type<T2>::type>::value
46 || !stan::is_constant<typename scalar_type<T3>::type>::value
47 || !stan::is_constant<typename scalar_type<T4>::type>::value
48 || !stan::is_constant<typename scalar_type<T5>::type>::value
49 || !stan::is_constant<typename scalar_type<T6>::type>::value
50 || !stan::is_constant<typename scalar_type<T7>::type>::value
51 || !stan::is_constant<typename scalar_type<T8>::type>::value
52 || !stan::is_constant<typename scalar_type<T9>::type>::value
53 || !stan::is_constant<typename scalar_type<T10>::type>::value
54 )
55 };
56 };
57
58
59 }
60
61 }
62
63 #endif
stan::is_constant
Metaprogramming struct to detect whether a given type is constant in the mathematical sense (not the ...
Definition: is_constant.hpp:22
stan
Definition: log_sum_exp.hpp:8
stan::math::include_summand
Template metaprogram to calculate whether a summand needs to be included in a proportional (log) prob...
Definition: include_summand.hpp:36
stan::math::include_summand::value
Definition: include_summand.hpp:43
scalar_type.hpp
is_constant.hpp

[ Stan Home Page ] © 2011–2016, Stan Development Team.