Stan Math Library  2.20.0
reverse mode automatic differentiation
promote_scalar_type.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_MAT_FUN_PROMOTE_SCALAR_TYPE_HPP
2 #define STAN_MATH_PRIM_MAT_FUN_PROMOTE_SCALAR_TYPE_HPP
3 
6 #include <vector>
7 
8 namespace stan {
9 namespace math {
10 
21 template <typename T, typename S>
23  Eigen::Matrix<S, Eigen::Dynamic, Eigen::Dynamic> > {
27  typedef Eigen::Matrix<typename promote_scalar_type<T, S>::type,
28  Eigen::Dynamic, Eigen::Dynamic>
30 };
31 
40 template <typename T, typename S>
41 struct promote_scalar_type<T, Eigen::Matrix<S, Eigen::Dynamic, 1> > {
45  typedef Eigen::Matrix<typename promote_scalar_type<T, S>::type,
46  Eigen::Dynamic, 1>
48 };
49 
58 template <typename T, typename S>
59 struct promote_scalar_type<T, Eigen::Matrix<S, 1, Eigen::Dynamic> > {
63  typedef Eigen::Matrix<typename promote_scalar_type<T, S>::type, 1,
64  Eigen::Dynamic>
66 };
67 
68 } // namespace math
69 
70 } // namespace stan
71 
72 #endif
(Expert) Numerical traits for algorithmic differentiation variables.
Eigen::Matrix< typename promote_scalar_type< T, S >::type, Eigen::Dynamic, 1 > type
The promoted type.
Template metaprogram to calculate a type for converting a convertible type.
Eigen::Matrix< typename promote_scalar_type< T, S >::type, Eigen::Dynamic, Eigen::Dynamic > type
The promoted type.
Eigen::Matrix< typename promote_scalar_type< T, S >::type, 1, Eigen::Dynamic > type
The promoted type.

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