Stan Math Library  2.20.0
reverse mode automatic differentiation
append_return_type.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_MAT_META_APPEND_RETURN_TYPE_HPP
2 #define STAN_MATH_PRIM_MAT_META_APPEND_RETURN_TYPE_HPP
3 
6 #include <vector>
7 
8 namespace stan {
9 namespace math {
21 template <typename T1, typename T2>
23  typedef typename return_type<T1, T2>::type type;
24 };
25 
35 template <>
36 struct append_return_type<int, int> {
37  typedef int type;
38 };
39 
54 template <typename T1, typename T2, int R, int C>
55 struct append_return_type<Eigen::Matrix<T1, R, C>, Eigen::Matrix<T2, R, C> > {
56  typedef typename Eigen::Matrix<typename return_type<T1, T2>::type, R, C> type;
57 };
58 
70 template <typename T1, typename T2>
71 struct append_return_type<std::vector<T1>, std::vector<T2> > {
72  typedef typename std::vector<typename append_return_type<T1, T2>::type> type;
73 };
74 } // namespace math
75 } // namespace stan
76 #endif
(Expert) Numerical traits for algorithmic differentiation variables.
boost::math::tools::promote_args< double, typename scalar_type< T >::type, typename return_type< Types_pack... >::type >::type type
Definition: return_type.hpp:36
std::vector< typename append_return_type< T1, T2 >::type > type
return_type< T1, T2 >::type type
This template metaprogram is used to compute the return type for append_array.

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