> example(stan_model, package = "rstan", run.dontrun = TRUE) stn_md> stancode <- 'data {real y_mean;} parameters {real y;} model {y ~ normal(y_mean,1);}' stn_md> mod <- stan_model(model_code = stancode, verbose = TRUE) TRANSLATING MODEL '73fc79f8b1915e8208c736914c86d1a1' FROM Stan CODE TO C++ CODE NOW. successful in parsing the Stan model '73fc79f8b1915e8208c736914c86d1a1'. COMPILING THE C++ CODE FOR MODEL '73fc79f8b1915e8208c736914c86d1a1' NOW. OS: x86_64, mingw32; rstan: 2.21.2; Rcpp: 1.0.5; inline: 0.3.15 >> setting environment variables: LOCAL_LIBS = "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a" -L"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppParallel/lib/x64" -ltbb PKG_CPPFLAGS = -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/Rcpp/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/unsupported" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/BH/include" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/src/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppParallel/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp" -std=c++1y >> Program source : 1 : 2 : // includes from the plugin 3 : // [[Rcpp::plugins(cpp14)]] 4 : 5 : 6 : // user includes 7 : #include 8 : #include 9 : #include 10 : #include 11 : #include 12 : // Code generated by Stan version 2.21.0 13 : 14 : #include 15 : 16 : namespace model543838078db_73fc79f8b1915e8208c736914c86d1a1_namespace { 17 : 18 : using std::istream; 19 : using std::string; 20 : using std::stringstream; 21 : using std::vector; 22 : using stan::io::dump; 23 : using stan::math::lgamma; 24 : using stan::model::prob_grad; 25 : using namespace stan::math; 26 : 27 : static int current_statement_begin__; 28 : 29 : stan::io::program_reader prog_reader__() { 30 : stan::io::program_reader reader; 31 : reader.add_event(0, 0, "start", "model543838078db_73fc79f8b1915e8208c736914c86d1a1"); 32 : reader.add_event(3, 1, "end", "model543838078db_73fc79f8b1915e8208c736914c86d1a1"); 33 : return reader; 34 : } 35 : 36 : class model543838078db_73fc79f8b1915e8208c736914c86d1a1 37 : : public stan::model::model_base_crtp { 38 : private: 39 : double y_mean; 40 : public: 41 : model543838078db_73fc79f8b1915e8208c736914c86d1a1(rstan::io::rlist_ref_var_context& context__, 42 : std::ostream* pstream__ = 0) 43 : : model_base_crtp(0) { 44 : ctor_body(context__, 0, pstream__); 45 : } 46 : 47 : model543838078db_73fc79f8b1915e8208c736914c86d1a1(stan::io::var_context& context__, 48 : unsigned int random_seed__, 49 : std::ostream* pstream__ = 0) 50 : : model_base_crtp(0) { 51 : ctor_body(context__, random_seed__, pstream__); 52 : } 53 : 54 : void ctor_body(stan::io::var_context& context__, 55 : unsigned int random_seed__, 56 : std::ostream* pstream__) { 57 : typedef double local_scalar_t__; 58 : 59 : boost::ecuyer1988 base_rng__ = 60 : stan::services::util::create_rng(random_seed__, 0); 61 : (void) base_rng__; // suppress unused var warning 62 : 63 : current_statement_begin__ = -1; 64 : 65 : static const char* function__ = "model543838078db_73fc79f8b1915e8208c736914c86d1a1_namespace::model543838078db_73fc79f8b1915e8208c736914c86d1a1"; 66 : (void) function__; // dummy to suppress unused var warning 67 : size_t pos__; 68 : (void) pos__; // dummy to suppress unused var warning 69 : std::vector vals_i__; 70 : std::vector vals_r__; 71 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 72 : (void) DUMMY_VAR__; // suppress unused var warning 73 : 74 : try { 75 : // initialize data block variables from context__ 76 : current_statement_begin__ = 1; 77 : context__.validate_dims("data initialization", "y_mean", "double", context__.to_vec()); 78 : y_mean = double(0); 79 : vals_r__ = context__.vals_r("y_mean"); 80 : pos__ = 0; 81 : y_mean = vals_r__[pos__++]; 82 : 83 : 84 : // initialize transformed data variables 85 : // execute transformed data statements 86 : 87 : // validate transformed data 88 : 89 : // validate, set parameter ranges 90 : num_params_r__ = 0U; 91 : param_ranges_i__.clear(); 92 : current_statement_begin__ = 1; 93 : num_params_r__ += 1; 94 : } catch (const std::exception& e) { 95 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 96 : // Next line prevents compiler griping about no return 97 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 98 : } 99 : } 100 : 101 : ~model543838078db_73fc79f8b1915e8208c736914c86d1a1() { } 102 : 103 : 104 : void transform_inits(const stan::io::var_context& context__, 105 : std::vector& params_i__, 106 : std::vector& params_r__, 107 : std::ostream* pstream__) const { 108 : typedef double local_scalar_t__; 109 : stan::io::writer writer__(params_r__, params_i__); 110 : size_t pos__; 111 : (void) pos__; // dummy call to supress warning 112 : std::vector vals_r__; 113 : std::vector vals_i__; 114 : 115 : current_statement_begin__ = 1; 116 : if (!(context__.contains_r("y"))) 117 : stan::lang::rethrow_located(std::runtime_error(std::string("Variable y missing")), current_statement_begin__, prog_reader__()); 118 : vals_r__ = context__.vals_r("y"); 119 : pos__ = 0U; 120 : context__.validate_dims("parameter initialization", "y", "double", context__.to_vec()); 121 : double y(0); 122 : y = vals_r__[pos__++]; 123 : try { 124 : writer__.scalar_unconstrain(y); 125 : } catch (const std::exception& e) { 126 : stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable y: ") + e.what()), current_statement_begin__, prog_reader__()); 127 : } 128 : 129 : params_r__ = writer__.data_r(); 130 : params_i__ = writer__.data_i(); 131 : } 132 : 133 : void transform_inits(const stan::io::var_context& context, 134 : Eigen::Matrix& params_r, 135 : std::ostream* pstream__) const { 136 : std::vector params_r_vec; 137 : std::vector params_i_vec; 138 : transform_inits(context, params_i_vec, params_r_vec, pstream__); 139 : params_r.resize(params_r_vec.size()); 140 : for (int i = 0; i < params_r.size(); ++i) 141 : params_r(i) = params_r_vec[i]; 142 : } 143 : 144 : 145 : template 146 : T__ log_prob(std::vector& params_r__, 147 : std::vector& params_i__, 148 : std::ostream* pstream__ = 0) const { 149 : 150 : typedef T__ local_scalar_t__; 151 : 152 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 153 : (void) DUMMY_VAR__; // dummy to suppress unused var warning 154 : 155 : T__ lp__(0.0); 156 : stan::math::accumulator lp_accum__; 157 : try { 158 : stan::io::reader in__(params_r__, params_i__); 159 : 160 : // model parameters 161 : current_statement_begin__ = 1; 162 : local_scalar_t__ y; 163 : (void) y; // dummy to suppress unused var warning 164 : if (jacobian__) 165 : y = in__.scalar_constrain(lp__); 166 : else 167 : y = in__.scalar_constrain(); 168 : 169 : // model body 170 : 171 : current_statement_begin__ = 1; 172 : lp_accum__.add(normal_log(y, y_mean, 1)); 173 : 174 : } catch (const std::exception& e) { 175 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 176 : // Next line prevents compiler griping about no return 177 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 178 : } 179 : 180 : lp_accum__.add(lp__); 181 : return lp_accum__.sum(); 182 : 183 : } // log_prob() 184 : 185 : template 186 : T_ log_prob(Eigen::Matrix& params_r, 187 : std::ostream* pstream = 0) const { 188 : std::vector vec_params_r; 189 : vec_params_r.reserve(params_r.size()); 190 : for (int i = 0; i < params_r.size(); ++i) 191 : vec_params_r.push_back(params_r(i)); 192 : std::vector vec_params_i; 193 : return log_prob(vec_params_r, vec_params_i, pstream); 194 : } 195 : 196 : 197 : void get_param_names(std::vector& names__) const { 198 : names__.resize(0); 199 : names__.push_back("y"); 200 : } 201 : 202 : 203 : void get_dims(std::vector >& dimss__) const { 204 : dimss__.resize(0); 205 : std::vector dims__; 206 : dims__.resize(0); 207 : dimss__.push_back(dims__); 208 : } 209 : 210 : template 211 : void write_array(RNG& base_rng__, 212 : std::vector& params_r__, 213 : std::vector& params_i__, 214 : std::vector& vars__, 215 : bool include_tparams__ = true, 216 : bool include_gqs__ = true, 217 : std::ostream* pstream__ = 0) const { 218 : typedef double local_scalar_t__; 219 : 220 : vars__.resize(0); 221 : stan::io::reader in__(params_r__, params_i__); 222 : static const char* function__ = "model543838078db_73fc79f8b1915e8208c736914c86d1a1_namespace::write_array"; 223 : (void) function__; // dummy to suppress unused var warning 224 : 225 : // read-transform, write parameters 226 : double y = in__.scalar_constrain(); 227 : vars__.push_back(y); 228 : 229 : double lp__ = 0.0; 230 : (void) lp__; // dummy to suppress unused var warning 231 : stan::math::accumulator lp_accum__; 232 : 233 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 234 : (void) DUMMY_VAR__; // suppress unused var warning 235 : 236 : if (!include_tparams__ && !include_gqs__) return; 237 : 238 : try { 239 : if (!include_gqs__ && !include_tparams__) return; 240 : if (!include_gqs__) return; 241 : } catch (const std::exception& e) { 242 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 243 : // Next line prevents compiler griping about no return 244 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 245 : } 246 : } 247 : 248 : template 249 : void write_array(RNG& base_rng, 250 : Eigen::Matrix& params_r, 251 : Eigen::Matrix& vars, 252 : bool include_tparams = true, 253 : bool include_gqs = true, 254 : std::ostream* pstream = 0) const { 255 : std::vector params_r_vec(params_r.size()); 256 : for (int i = 0; i < params_r.size(); ++i) 257 : params_r_vec[i] = params_r(i); 258 : std::vector vars_vec; 259 : std::vector params_i_vec; 260 : write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream); 261 : vars.resize(vars_vec.size()); 262 : for (int i = 0; i < vars.size(); ++i) 263 : vars(i) = vars_vec[i]; 264 : } 265 : 266 : std::string model_name() const { 267 : return "model543838078db_73fc79f8b1915e8208c736914c86d1a1"; 268 : } 269 : 270 : 271 : void constrained_param_names(std::vector& param_names__, 272 : bool include_tparams__ = true, 273 : bool include_gqs__ = true) const { 274 : std::stringstream param_name_stream__; 275 : param_name_stream__.str(std::string()); 276 : param_name_stream__ << "y"; 277 : param_names__.push_back(param_name_stream__.str()); 278 : 279 : if (!include_gqs__ && !include_tparams__) return; 280 : 281 : if (include_tparams__) { 282 : } 283 : 284 : if (!include_gqs__) return; 285 : } 286 : 287 : 288 : void unconstrained_param_names(std::vector& param_names__, 289 : bool include_tparams__ = true, 290 : bool include_gqs__ = true) const { 291 : std::stringstream param_name_stream__; 292 : param_name_stream__.str(std::string()); 293 : param_name_stream__ << "y"; 294 : param_names__.push_back(param_name_stream__.str()); 295 : 296 : if (!include_gqs__ && !include_tparams__) return; 297 : 298 : if (include_tparams__) { 299 : } 300 : 301 : if (!include_gqs__) return; 302 : } 303 : 304 : }; // model 305 : 306 : } // namespace 307 : 308 : typedef model543838078db_73fc79f8b1915e8208c736914c86d1a1_namespace::model543838078db_73fc79f8b1915e8208c736914c86d1a1 stan_model; 309 : 310 : #ifndef USING_R 311 : 312 : stan::model::model_base& new_model( 313 : stan::io::var_context& data_context, 314 : unsigned int seed, 315 : std::ostream* msg_stream) { 316 : stan_model* m = new stan_model(data_context, seed, msg_stream); 317 : return *m; 318 : } 319 : 320 : #endif 321 : 322 : 323 : 324 : #include 325 : 326 : struct stan_model_holder { 327 : stan_model_holder(rstan::io::rlist_ref_var_context rcontext, 328 : unsigned int random_seed) 329 : : rcontext_(rcontext), random_seed_(random_seed) 330 : { 331 : } 332 : 333 : //stan::math::ChainableStack ad_stack; 334 : rstan::io::rlist_ref_var_context rcontext_; 335 : unsigned int random_seed_; 336 : }; 337 : 338 : Rcpp::XPtr model_ptr(stan_model_holder* smh) { 339 : Rcpp::XPtr model_instance(new stan_model(smh->rcontext_, smh->random_seed_), true); 340 : return model_instance; 341 : } 342 : 343 : Rcpp::XPtr fit_ptr(stan_model_holder* smh) { 344 : return Rcpp::XPtr(new rstan::stan_fit(model_ptr(smh), smh->random_seed_), true); 345 : } 346 : 347 : std::string model_name(stan_model_holder* smh) { 348 : return model_ptr(smh).get()->model_name(); 349 : } 350 : 351 : RCPP_MODULE(stan_fit4model543838078db_73fc79f8b1915e8208c736914c86d1a1_mod){ 352 : Rcpp::class_("stan_fit4model543838078db_73fc79f8b1915e8208c736914c86d1a1") 353 : .constructor() 354 : .method("model_ptr", &model_ptr) 355 : .method("fit_ptr", &fit_ptr) 356 : .method("model_name", &model_name) 357 : ; 358 : } 359 : 360 : 361 : // declarations 362 : extern "C" { 363 : SEXP file543834543ee( ) ; 364 : } 365 : 366 : // definition 367 : 368 : SEXP file543834543ee( ){ 369 : return Rcpp::wrap("73fc79f8b1915e8208c736914c86d1a1"); 370 : } 371 : 372 : Compilation argument: C:/PROGRA~1/R/R-40~1.2/bin/x64/R CMD SHLIB file543834543ee.cpp 2> file543834543ee.cpp.err.txt "C:/RBuildTools/4.0/mingw64/bin/"g++ -std=gnu++14 -I"C:/PROGRA~1/R/R-40~1.2/include" -DNDEBUG -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/Rcpp/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/unsupported" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/BH/include" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/src/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppParallel/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp" -std=c++1y -include C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp -I "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include" -I "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c file543834543ee.cpp -o file543834543ee.o sh: -c: line 0: syntax error near unexpected token `(' sh: -c: line 0: `"C:/RBuildTools/4.0/mingw64/bin/"g++ -std=gnu++14 -I"C:/PROGRA~1/R/R-40~1.2/include" -DNDEBUG -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/Rcpp/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include/unsupported" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/BH/include" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/src/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppParallel/include/" -I"C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp" -std=c++1y -include C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp -I "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/StanHeaders/include" -I "C:/Users/daksu/Dropbox/My PC (DESKTOP-O01UCGH)/Documents/R/win-library/4.0/RcppEigen/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c file543834543ee.cpp -o file543834543ee.o' make: *** [C:/PROGRA~1/R/R-40~1.2/etc/x64/Makeconf:229: file543834543ee.o] Error 1 Error in file(con, "r") : cannot open the connection In addition: Warning messages: 1: In system(paste(CXX, ARGS), ignore.stdout = TRUE, ignore.stderr = TRUE) : '-E' not found 2: In file(con, "r") : cannot open file 'file543834543ee.cpp.err.txt': No such file or directory