Stan  2.10.0
probability, sampling & optimization
Classes | Namespaces | Functions
generator.hpp File Reference
#include <boost/variant/apply_visitor.hpp>
#include <boost/lexical_cast.hpp>
#include <stan/version.hpp>
#include <stan/lang/ast.hpp>
#include <cstddef>
#include <iostream>
#include <ostream>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  stan::lang::visgen
 generic visitor with output for extension More...
 
struct  stan::lang::expression_visgen
 
struct  stan::lang::printable_visgen
 
struct  stan::lang::var_size_validating_visgen
 
struct  stan::lang::var_resizing_visgen
 
struct  stan::lang::init_local_var_visgen
 
struct  stan::lang::validate_var_decl_visgen
 
struct  stan::lang::member_var_decl_visgen
 
struct  stan::lang::local_var_decl_visgen
 
struct  stan::lang::generate_local_var_init_nan_visgen
 
struct  stan::lang::generate_init_vars_visgen
 
struct  stan::lang::validate_transformed_params_visgen
 
struct  stan::lang::idx_visgen
 
struct  stan::lang::idx_user_visgen
 
struct  stan::lang::statement_visgen
 
struct  stan::lang::is_numbered_statement_vis
 
struct  stan::lang::dump_member_var_visgen
 
struct  stan::lang::set_param_ranges_visgen
 
struct  stan::lang::generate_init_visgen
 
struct  stan::lang::write_dims_visgen
 
struct  stan::lang::write_param_names_visgen
 
struct  stan::lang::constrained_param_names_visgen
 
struct  stan::lang::unconstrained_param_names_visgen
 
struct  stan::lang::write_array_visgen
 
struct  stan::lang::write_array_vars_visgen
 

Namespaces

 stan
 Probability, optimization and sampling library.
 
 stan::lang
 

Functions

void stan::lang::generate_expression (const expression &e, std::ostream &o)
 
void stan::lang::generate_expression (const expression &e, bool user_facing, std::ostream &o)
 
void stan::lang::generate_expression (const expression &e, bool user_facing, bool is_var, std::ostream &o)
 
void stan::lang::generate_bare_type (const expr_type &t, const std::string &scalar_t_name, std::ostream &out)
 
const std::string stan::lang::EOL ("\n")
 
const std::string stan::lang::EOL2 ("\n\n")
 
const std::string stan::lang::INDENT (" ")
 
const std::string stan::lang::INDENT2 (" ")
 
const std::string stan::lang::INDENT3 (" ")
 
template<typename D >
bool stan::lang::has_lub (const D &x)
 
template<typename D >
bool stan::lang::has_ub (const D &x)
 
template<typename D >
bool stan::lang::has_lb (const D &x)
 
template<typename T >
std::string stan::lang::to_string (T i)
 
void stan::lang::generate_indent (size_t indent, std::ostream &o)
 
void stan::lang::generate_void_statement (const std::string &name, const size_t indent, std::ostream &o)
 
void stan::lang::generate_start_namespace (std::string name, std::ostream &o)
 
void stan::lang::generate_end_namespace (std::ostream &o)
 
void stan::lang::generate_comment (std::string const &msg, int indent, std::ostream &o)
 
void stan::lang::generate_quoted_string (const std::string &s, std::ostream &o)
 Print a the specified string to the specified output stream, wrapping in double quotes (") and replacing all double quotes in the input with apostrophes ('). More...
 
void stan::lang::generate_indexed_expr_user (const std::string &expr, const std::vector< expression > indexes, base_expr_type base_type, std::ostream &o)
 
template<bool isLHS>
void stan::lang::generate_indexed_expr (const std::string &expr, const std::vector< expression > indexes, base_expr_type base_type, size_t e_num_dims, bool user_facing, std::ostream &o)
 
void stan::lang::generate_type (const std::string &base_type, const std::vector< expression > &, size_t end, std::ostream &o)
 
void stan::lang::generate_idxs (const std::vector< idx > &idxs, std::ostream &o)
 
void stan::lang::generate_idxs_user (const std::vector< idx > &idxs, std::ostream &o)
 
static void stan::lang::print_string_literal (std::ostream &o, const std::string &s)
 
static void stan::lang::print_quoted_expression (std::ostream &o, const expression &e)
 
void stan::lang::generate_printable (const printable &p, std::ostream &o)
 
void stan::lang::generate_using (const std::string &type, std::ostream &o)
 
void stan::lang::generate_using_namespace (const std::string &ns, std::ostream &o)
 
void stan::lang::generate_usings (std::ostream &o)
 
void stan::lang::generate_typedef (const std::string &type, const std::string &abbrev, std::ostream &o)
 
void stan::lang::generate_typedefs (std::ostream &o)
 
void stan::lang::generate_include (const std::string &lib_name, std::ostream &o)
 
void stan::lang::generate_includes (std::ostream &o)
 
void stan::lang::generate_version_comment (std::ostream &o)
 
void stan::lang::generate_class_decl (const std::string &model_name, std::ostream &o)
 
void stan::lang::generate_end_class_decl (std::ostream &o)
 
void stan::lang::generate_eigen_index_expression (const expression &e, std::ostream &o)
 
void stan::lang::generate_initializer (std::ostream &o, const std::string &base_type, const std::vector< expression > &dims, const expression &type_arg1=expression(), const expression &type_arg2=expression())
 
void stan::lang::generate_validate_context_size (std::ostream &o, const std::string &stage, const std::string &var_name, const std::string &base_type, const std::vector< expression > &dims, const expression &type_arg1=expression(), const expression &type_arg2=expression())
 
void stan::lang::generate_validate_positive (const std::string &var_name, const expression &expr, std::ostream &o)
 
void stan::lang::generate_initialization (std::ostream &o, const std::string &var_name, const std::string &base_type, const std::vector< expression > &dims, const expression &type_arg1=expression(), const expression &type_arg2=expression())
 
void stan::lang::generate_var_resizing (const std::vector< var_decl > &vs, std::ostream &o)
 
const std::vector< expression > stan::lang::EMPTY_EXP_VECTOR (0)
 
void stan::lang::generate_local_var_inits (std::vector< var_decl > vs, bool is_var, bool declare_vars, std::ostream &o)
 
void stan::lang::generate_public_decl (std::ostream &o)
 
void stan::lang::generate_private_decl (std::ostream &o)
 
void stan::lang::generate_validate_var_decl (const var_decl &decl, int indent, std::ostream &o)
 
void stan::lang::generate_validate_var_decls (const std::vector< var_decl > decls, int indent, std::ostream &o)
 
void stan::lang::generate_member_var_decls (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::lang::generate_local_var_decls (const std::vector< var_decl > &vs, int indent, std::ostream &o, bool is_var, bool is_fun_return)
 
void stan::lang::generate_local_var_init_nan (const std::vector< var_decl > &vs, int indent, std::ostream &o, bool is_var, bool is_fun_return)
 
void stan::lang::generate_init_vars (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::lang::generate_validate_transformed_params (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::lang::generate_idx (const idx &i, std::ostream &o)
 
void stan::lang::generate_idxs (size_t pos, const std::vector< idx > &idxs, std::ostream &o)
 
void stan::lang::generate_idx_user (const idx &i, std::ostream &o)
 
void stan::lang::generate_statement (statement const &s, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::lang::generate_statement (const statement &s, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::lang::generate_statements (const std::vector< statement > &ss, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::lang::generate_try (int indent, std::ostream &o)
 
void stan::lang::generate_catch_throw_located (int indent, std::ostream &o)
 
void stan::lang::generate_located_statement (const statement &s, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::lang::generate_located_statements (const std::vector< statement > &ss, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::lang::generate_log_prob (program const &p, std::ostream &o)
 
void stan::lang::suppress_warning (const std::string &indent, const std::string &var_name, std::ostream &o)
 
void stan::lang::generate_member_var_inits (const std::vector< var_decl > &vs, std::ostream &o)
 
void stan::lang::generate_destructor (const std::string &model_name, std::ostream &o)
 
void stan::lang::generate_set_param_ranges (const std::vector< var_decl > &var_decls, std::ostream &o)
 
void stan::lang::generate_constructor (const program &prog, const std::string &model_name, std::ostream &o)
 
void stan::lang::generate_init_method (const std::vector< var_decl > &vs, std::ostream &o)
 
void stan::lang::generate_dims_method (const program &prog, std::ostream &o)
 
void stan::lang::generate_param_names_method (const program &prog, std::ostream &o)
 
void stan::lang::generate_constrained_param_names_method (const program &prog, std::ostream &o)
 
void stan::lang::generate_unconstrained_param_names_method (const program &prog, std::ostream &o)
 
void stan::lang::generate_write_array_method (const program &prog, const std::string &model_name, std::ostream &o)
 
void stan::lang::generate_model_name_method (const std::string &model_name, std::ostream &out)
 
void stan::lang::generate_model_typedef (const std::string &model_name, std::ostream &out)
 
void stan::lang::generate_arg_decl (bool gen_const, bool gen_ref, const arg_decl &decl, const std::string &scalar_t_name, std::ostream &out)
 
bool stan::lang::has_only_int_args (const function_decl_def &fun)
 
std::string stan::lang::cond_op_scalar_type (const conditional_op &expr, bool is_data_origin)
 
std::string stan::lang::fun_scalar_type (const function_decl_def &fun, bool is_lp)
 
bool stan::lang::needs_template_params (const function_decl_def &fun)
 
void stan::lang::generate_function_template_parameters (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::lang::generate_function_inline_return_type (const function_decl_def &fun, const std::string &scalar_t_name, int indent, std::ostream &out)
 
void stan::lang::generate_function_name (const function_decl_def &fun, std::ostream &out)
 
void stan::lang::generate_function_arguments (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::lang::generate_functor_arguments (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::lang::generate_function_body (const function_decl_def &fun, const std::string &scalar_t_name, std::ostream &out)
 
void stan::lang::generate_propto_default_function_body (const function_decl_def &fun, std::ostream &out)
 
void stan::lang::generate_propto_default_function (const function_decl_def &fun, const std::string &scalar_t_name, std::ostream &out)
 
void stan::lang::generate_function (const function_decl_def &fun, std::ostream &out)
 Generate the specified function and optionally its default for propto=false for functions ending in _log. More...
 
void stan::lang::generate_function_functor (const function_decl_def &fun, std::ostream &out)
 
void stan::lang::generate_functions (const std::vector< function_decl_def > &funs, std::ostream &out)
 
void stan::lang::generate_member_var_decls_all (const program &prog, std::ostream &out)
 
void stan::lang::generate_globals (std::ostream &out)
 
void stan::lang::generate_cpp (const program &prog, const std::string &model_name, std::ostream &out)
 

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