Loading required package: StanHeaders Loading required package: ggplot2 rstan (Version 2.21.2, GitRev: 2e1f913d3ca3) For execution on a local, multicore CPU with excess RAM we recommend calling options(mc.cores = parallel::detectCores()). To avoid recompilation of unchanged Stan programs, we recommend calling rstan_options(auto_write = 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 '16a540c6086086816528e4524def24d9' FROM Stan CODE TO C++ CODE NOW. successful in parsing the Stan model '16a540c6086086816528e4524def24d9'. COMPILING THE C++ CODE FOR MODEL '16a540c6086086816528e4524def24d9' NOW. OS: x86_64, linux-gnu; rstan: 2.21.2; Rcpp: 1.0.6; inline: 0.3.17 >> setting environment variables: PKG_LIBS = '/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/lib//libStanServices.a' -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/lib/' -lStanHeaders -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppParallel/lib/' -ltbb PKG_CPPFLAGS = -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppEigen/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppEigen/include/unsupported" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/BH/include" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/src/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppParallel/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include '/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp' -D_REENTRANT -DRCPP_PARALLEL_USE_TBB=1 >> 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 model3553697f0e11_16a540c6086086816528e4524def24d9_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", "model3553697f0e11_16a540c6086086816528e4524def24d9"); 32 : reader.add_event(3, 1, "end", "model3553697f0e11_16a540c6086086816528e4524def24d9"); 33 : return reader; 34 : } 35 : 36 : class model3553697f0e11_16a540c6086086816528e4524def24d9 37 : : public stan::model::model_base_crtp { 38 : private: 39 : double y_mean; 40 : public: 41 : model3553697f0e11_16a540c6086086816528e4524def24d9(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 : model3553697f0e11_16a540c6086086816528e4524def24d9(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__ = "model3553697f0e11_16a540c6086086816528e4524def24d9_namespace::model3553697f0e11_16a540c6086086816528e4524def24d9"; 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 : ~model3553697f0e11_16a540c6086086816528e4524def24d9() { } 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__ = "model3553697f0e11_16a540c6086086816528e4524def24d9_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 "model3553697f0e11_16a540c6086086816528e4524def24d9"; 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 model3553697f0e11_16a540c6086086816528e4524def24d9_namespace::model3553697f0e11_16a540c6086086816528e4524def24d9 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_fit4model3553697f0e11_16a540c6086086816528e4524def24d9_mod){ 352 : Rcpp::class_("stan_fit4model3553697f0e11_16a540c6086086816528e4524def24d9") 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 file3553179b0f6d( ) ; 364 : } 365 : 366 : // definition 367 : SEXP file3553179b0f6d() { 368 : return Rcpp::wrap("16a540c6086086816528e4524def24d9"); 369 : } make cmd is make -f '/usr/lib/R/etc/Makeconf' -f '/usr/share/R/share/make/shlib.mk' CXX='$(CXX14) $(CXX14STD)' CXXFLAGS='$(CXX14FLAGS)' CXXPICFLAGS='$(CXX14PICFLAGS)' SHLIB_LDFLAGS='$(SHLIB_CXX14LDFLAGS)' SHLIB_LD='$(SHLIB_CXX14LD)' SHLIB='file3553179b0f6d.so' OBJECTS='file3553179b0f6d.o' make would use g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppEigen/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppEigen/include/unsupported" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/BH/include" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/src/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppParallel/include/" -I"/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include '/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp' -D_REENTRANT -DRCPP_PARALLEL_USE_TBB=1 -fpic -g -O2 -fdebug-prefix-map=/build/r-base-fhxXXR/r-base-4.0.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c file3553179b0f6d.cpp -o file3553179b0f6d.o if test "zfile3553179b0f6d.o" != "z"; then \ echo g++ -std=gnu++14 -shared -L"/usr/lib/R/lib" -Wl,-Bsymbolic-functions -Wl,-z,relro -o file3553179b0f6d.so file3553179b0f6d.o '/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/lib//libStanServices.a' -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/lib/' -lStanHeaders -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppParallel/lib/' -ltbb -L"/usr/lib/R/lib" -lR; \ g++ -std=gnu++14 -shared -L"/usr/lib/R/lib" -Wl,-Bsymbolic-functions -Wl,-z,relro -o file3553179b0f6d.so file3553179b0f6d.o '/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/lib//libStanServices.a' -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/StanHeaders/lib/' -lStanHeaders -L'/home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/RcppParallel/lib/' -ltbb -L"/usr/lib/R/lib" -lR; \ fi ERROR(s) during compilation: source code errors or compiler configuration errors! 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 model3553697f0e11_16a540c6086086816528e4524def24d9_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", "model3553697f0e11_16a540c6086086816528e4524def24d9"); 32: reader.add_event(3, 1, "end", "model3553697f0e11_16a540c6086086816528e4524def24d9"); 33: return reader; 34: } 35: 36: class model3553697f0e11_16a540c6086086816528e4524def24d9 37: : public stan::model::model_base_crtp { 38: private: 39: double y_mean; 40: public: 41: model3553697f0e11_16a540c6086086816528e4524def24d9(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: model3553697f0e11_16a540c6086086816528e4524def24d9(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__ = "model3553697f0e11_16a540c6086086816528e4524def24d9_namespace::model3553697f0e11_16a540c6086086816528e4524def24d9"; 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: ~model3553697f0e11_16a540c6086086816528e4524def24d9() { } 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__ = "model3553697f0e11_16a540c6086086816528e4524def24d9_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 "model3553697f0e11_16a540c6086086816528e4524def24d9"; 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 model3553697f0e11_16a540c6086086816528e4524def24d9_namespace::model3553697f0e11_16a540c6086086816528e4524def24d9 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_fit4model3553697f0e11_16a540c6086086816528e4524def24d9_mod){ 352: Rcpp::class_("stan_fit4model3553697f0e11_16a540c6086086816528e4524def24d9") 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 file3553179b0f6d( ) ; 364: } 365: 366: // definition 367: SEXP file3553179b0f6d() { 368: return Rcpp::wrap("16a540c6086086816528e4524def24d9"); 369: } Compilation ERROR, function(s)/method(s) not created! Error in compileCode(f, code, language = language, verbose = verbose) : 650 | return internal::first_aligned::alignment),Derived>(m); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/usr/bin/ld: /home/gzf2/R/x86_64-pc-linux-gnu-library/4.0/rstan/lib//libStanServices.a(stan_fit.o): relocation R_X86_64_PC32 against undefined hidden symbol `_ZTCN5boost10wrapexceptINS_4math14rounding_errorEEE0_NS_16exception_detail10clone_implINS4_19error_info_injectorIS2_EEEE' can not be used when making a shared object/usr/bin/ld: final link failed: bad valuecollect2: error: ld returned 1 exit statusmake: *** [/usr/share/R/share/make/shlib.mk:10: file3553179b0f6d.so] Error 1