1 #ifndef STAN_LANG_GENERATOR_GET_VERBOSE_VAR_TYPE_HPP
2 #define STAN_LANG_GENERATOR_GET_VERBOSE_VAR_TYPE_HPP
3 
4 #include <stan/lang/ast.hpp>
5 #include <string>
6 
7 namespace stan {
8   namespace lang {
9     /**
10      * Return type string for variable type.
11      *
12      * @param[in] bare_type expression type
13      */
14     std::string
get_verbose_var_type(const bare_expr_type bare_type)15     get_verbose_var_type(const bare_expr_type bare_type) {
16       if (bare_type.innermost_type().is_matrix_type()) {
17         return
18           "Eigen::Matrix<local_scalar_t__, Eigen::Dynamic, Eigen::Dynamic>";
19       } else if (bare_type.innermost_type().is_row_vector_type()) {
20         return "Eigen::Matrix<local_scalar_t__, 1, Eigen::Dynamic>";
21       } else if (bare_type.innermost_type().is_vector_type()) {
22         return "Eigen::Matrix<local_scalar_t__, Eigen::Dynamic, 1>";
23       } else if (bare_type.innermost_type().is_double_type()) {
24         return "local_scalar_t__";
25       } else if (bare_type.innermost_type().is_int_type()) {
26         return "int";
27       }
28       return "ill_formed";
29     }
30   }
31 }
32 #endif
33