Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
generator.hpp File Reference
#include <boost/variant/apply_visitor.hpp>
#include <boost/lexical_cast.hpp>
#include <cstddef>
#include <iostream>
#include <ostream>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>
#include <stan/version.hpp>
#include <stan/gm/ast.hpp>

Go to the source code of this file.

Classes

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

Namespaces

 stan
 Probability, optimization and sampling library.
 
 stan::gm
 Directed graphical model compiler.
 

Functions

void stan::gm::generate_expression (const expression &e, std::ostream &o)
 
const std::string stan::gm::EOL ("\n")
 
const std::string stan::gm::EOL2 ("\n\n")
 
const std::string stan::gm::INDENT (" ")
 
const std::string stan::gm::INDENT2 (" ")
 
const std::string stan::gm::INDENT3 (" ")
 
template<typename D >
bool stan::gm::has_lub (const D &x)
 
template<typename D >
bool stan::gm::has_ub (const D &x)
 
template<typename D >
bool stan::gm::has_lb (const D &x)
 
template<typename T >
std::string stan::gm::to_string (T i)
 
void stan::gm::generate_indent (size_t indent, std::ostream &o)
 
void stan::gm::generate_void_statement (const std::string &name, const size_t indent, std::ostream &o)
 
void stan::gm::generate_start_namespace (std::string name, std::ostream &o)
 
void stan::gm::generate_end_namespace (std::ostream &o)
 
void stan::gm::generate_comment (std::string const &msg, int indent, std::ostream &o)
 
template<bool isLHS>
void stan::gm::generate_indexed_expr (const std::string &expr, const std::vector< expression > indexes, base_expr_type base_type, size_t e_num_dims, std::ostream &o)
 
void stan::gm::generate_type (const std::string &base_type, const std::vector< expression > &, size_t end, std::ostream &o)
 
static void stan::gm::print_string_literal (std::ostream &o, const std::string &s)
 
static void stan::gm::print_quoted_expression (std::ostream &o, const expression &e)
 
void stan::gm::generate_printable (const printable &p, std::ostream &o)
 
void stan::gm::generate_using (const std::string &type, std::ostream &o)
 
void stan::gm::generate_using_namespace (const std::string &ns, std::ostream &o)
 
void stan::gm::generate_usings (std::ostream &o)
 
void stan::gm::generate_typedef (const std::string &type, const std::string &abbrev, std::ostream &o)
 
void stan::gm::generate_typedefs (std::ostream &o)
 
void stan::gm::generate_include (const std::string &lib_name, std::ostream &o)
 
void stan::gm::generate_includes (std::ostream &o)
 
void stan::gm::generate_version_comment (std::ostream &o)
 
void stan::gm::generate_class_decl (const std::string &model_name, std::ostream &o)
 
void stan::gm::generate_end_class_decl (std::ostream &o)
 
void stan::gm::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::gm::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::gm::generate_validate_positive (const std::string &var_name, const expression &expr, std::ostream &o)
 
void stan::gm::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::gm::generate_var_resizing (const std::vector< var_decl > &vs, std::ostream &o)
 
const std::vector< expression > stan::gm::EMPTY_EXP_VECTOR (0)
 
void stan::gm::generate_local_var_inits (std::vector< var_decl > vs, bool is_var, bool declare_vars, std::ostream &o)
 
void stan::gm::generate_public_decl (std::ostream &o)
 
void stan::gm::generate_private_decl (std::ostream &o)
 
void stan::gm::generate_validate_var_decl (const var_decl &decl, int indent, std::ostream &o)
 
void stan::gm::generate_validate_var_decls (const std::vector< var_decl > decls, int indent, std::ostream &o)
 
void stan::gm::generate_member_var_decls (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::gm::generate_local_var_decls (const std::vector< var_decl > &vs, int indent, std::ostream &o, bool is_var, bool is_fun_return)
 
void stan::gm::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::gm::generate_init_vars (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::gm::generate_validate_transformed_params (const std::vector< var_decl > &vs, int indent, std::ostream &o)
 
void stan::gm::generate_statement (statement const &s, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::gm::generate_statements (const std::vector< statement > &ss, int indent, std::ostream &o, bool include_sampling, bool is_var, bool is_fun_return)
 
void stan::gm::generate_log_prob (program const &p, std::ostream &o)
 
void stan::gm::suppress_warning (const std::string &indent, const std::string &var_name, std::ostream &o)
 
void stan::gm::generate_member_var_inits (const std::vector< var_decl > &vs, std::ostream &o)
 
void stan::gm::generate_destructor (const std::string &model_name, std::ostream &o)
 
void stan::gm::generate_set_param_ranges (const std::vector< var_decl > &var_decls, std::ostream &o)
 
void stan::gm::generate_constructor (const program &prog, const std::string &model_name, std::ostream &o)
 
void stan::gm::generate_init_method (const std::vector< var_decl > &vs, std::ostream &o)
 
void stan::gm::generate_dims_method (const program &prog, std::ostream &o)
 
void stan::gm::generate_param_names_method (const program &prog, std::ostream &o)
 
void stan::gm::generate_write_csv_header_method (const program &prog, std::ostream &o)
 
void stan::gm::generate_constrained_param_names_method (const program &prog, std::ostream &o)
 
void stan::gm::generate_unconstrained_param_names_method (const program &prog, std::ostream &o)
 
void stan::gm::generate_write_csv_method (const program &prog, const std::string &model_name, std::ostream &o)
 
void stan::gm::generate_write_array_method (const program &prog, const std::string &model_name, std::ostream &o)
 
void stan::gm::generate_model_name_method (const std::string &model_name, std::ostream &out)
 
void stan::gm::generate_model_typedef (const std::string &model_name, std::ostream &out)
 
void stan::gm::generate_bare_type (const expr_type &t, const std::string &scalar_t_name, std::ostream &out)
 
void stan::gm::generate_arg_decl (bool gen_const, bool gen_ref, const arg_decl &decl, const std::string &scalar_t_name, std::ostream &out)
 
bool stan::gm::has_only_int_args (const function_decl_def &fun)
 
std::string stan::gm::fun_scalar_type (const function_decl_def &fun, bool is_lp)
 
bool stan::gm::needs_template_params (const function_decl_def &fun)
 
void stan::gm::generate_function_template_parameters (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::gm::generate_function_inline_return_type (const function_decl_def &fun, const std::string &scalar_t_name, std::ostream &out)
 
void stan::gm::generate_function_name (const function_decl_def &fun, std::ostream &out)
 
void stan::gm::generate_function_arguments (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::gm::generate_functor_arguments (const function_decl_def &fun, bool is_rng, bool is_lp, bool is_log, std::ostream &out)
 
void stan::gm::generate_function_body (const function_decl_def &fun, const std::string &scalar_t_name, std::ostream &out)
 
void stan::gm::generate_propto_default_function_body (const function_decl_def &fun, std::ostream &out)
 
void stan::gm::generate_propto_default_function (const function_decl_def &fun, const std::string &scalar_t_name, std::ostream &out)
 
void stan::gm::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::gm::generate_function_functor (const function_decl_def &fun, std::ostream &out)
 
void stan::gm::generate_functions (const std::vector< function_decl_def > &funs, std::ostream &out)
 
void stan::gm::generate_cpp (const program &prog, const std::string &model_name, std::ostream &out)
 

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