Stan Math Library  2.14.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>
22  struct promote_scalar_type<T, Eigen::Matrix<S, Eigen::Dynamic,
23  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,
64  1, Eigen::Dynamic>
66  };
67 
68  }
69 
70 }
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–2016, Stan Development Team.