| Stan Math Library 2.12.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 namespace math {
10
29 template <bool propto,
30 typename T1 = double, typename T2 = double,
31 typename T3 = double, typename T4 = double,
32 typename T5 = double, typename T6 = double,
33 typename T7 = double, typename T8 = double,
34 typename T9 = double, typename T10 = double>
35 struct include_summand {
41 enum {
42 value = (!propto
43 || !stan::is_constant<typename scalar_type<T1>::type>::value
44 || !stan::is_constant<typename scalar_type<T2>::type>::value
45 || !stan::is_constant<typename scalar_type<T3>::type>::value
46 || !stan::is_constant<typename scalar_type<T4>::type>::value
47 || !stan::is_constant<typename scalar_type<T5>::type>::value
48 || !stan::is_constant<typename scalar_type<T6>::type>::value
49 || !stan::is_constant<typename scalar_type<T7>::type>::value
50 || !stan::is_constant<typename scalar_type<T8>::type>::value
51 || !stan::is_constant<typename scalar_type<T9>::type>::value
52 || !stan::is_constant<typename scalar_type<T10>::type>::value
53 )
54 };
55 };
56
57 }
58
59 }
60
61 #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:35
stan::math::include_summand::value
Definition: include_summand.hpp:42
scalar_type.hpp
is_constant.hpp

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