1 #ifndef STAN_MATH_FWD_MAT_FUN_TO_FVAR_HPP
2 #define STAN_MATH_FWD_MAT_FUN_TO_FVAR_HPP
8 #include <boost/utility/enable_if.hpp>
28 template<
int R,
int C,
typename T>
30 Eigen::Matrix<T, R, C>
31 to_fvar(
const Eigen::Matrix<T, R, C>& m) {
35 template<
int R,
int C>
37 Eigen::Matrix<fvar<double>, R, C>
38 to_fvar(
const Eigen::Matrix<double, R, C>& m) {
39 Eigen::Matrix<fvar<double>, R, C> m_fd(m.rows(), m.cols());
40 for (
int i = 0; i < m.size(); ++i)
45 template<
typename T,
int R,
int C>
47 Eigen::Matrix<fvar<T>, R, C>
48 to_fvar(
const Eigen::Matrix<T, R, C>& val,
49 const Eigen::Matrix<T, R, C>& deriv) {
53 Eigen::Matrix<fvar<T>, R, C> ret(val.rows(), val.cols());
54 for (
int i = 0; i < val.rows(); i++) {
55 for (
int j = 0; j < val.cols(); j++) {
56 ret(i, j).val_ = val(i, j);
57 ret(i, j).d_ = deriv(i, j);
fvar< T > to_fvar(const T &x)
bool check_matching_dims(const char *function, const char *name1, const Eigen::Matrix< T1, R1, C1 > &y1, const char *name2, const Eigen::Matrix< T2, R2, C2 > &y2)
Return true if the two matrices are of the same size.