TRANSLATING MODEL 'gamma' FROM Stan CODE TO C++ CODE NOW. successful in parsing the Stan model 'gamma'. COMPILING THE C++ CODE FOR MODEL 'gamma' NOW. OS: x86_64, darwin15.6.0; rstan: 2.19.2; Rcpp: 1.0.2; inline: 0.3.15 >> setting environment variables: PKG_LIBS = -L'/Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/lib/' -lStanHeaders PKG_CPPFLAGS = -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/Rcpp/include/" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/unsupported" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/" -I"/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS >> Program source : 1 : 2 : // includes from the plugin 3 : // [[Rcpp::plugins(cpp14)]] 4 : 5 : // user includes 6 : #define STAN__SERVICES__COMMAND_HPP// Code generated by Stan version 2.19.1 7 : 8 : #include 9 : 10 : namespace modelb73a3e37de1d_gamma_namespace { 11 : 12 : using std::istream; 13 : using std::string; 14 : using std::stringstream; 15 : using std::vector; 16 : using stan::io::dump; 17 : using stan::math::lgamma; 18 : using stan::model::prob_grad; 19 : using namespace stan::math; 20 : 21 : static int current_statement_begin__; 22 : 23 : stan::io::program_reader prog_reader__() { 24 : stan::io::program_reader reader; 25 : reader.add_event(0, 0, "start", "modelb73a3e37de1d_gamma"); 26 : reader.add_event(17, 15, "end", "modelb73a3e37de1d_gamma"); 27 : return reader; 28 : } 29 : 30 : template 31 : typename boost::math::tools::promote_args::type 32 : lgammaJacLinf(const Eigen::Matrix& x, 33 : const T1__& alpha, 34 : const T2__& lambda, std::ostream* pstream__); 35 : 36 : 37 : #include "/Users/murph/Documents/Research/EAS_GFD/lgammaJacLinf.hpp" 38 : class modelb73a3e37de1d_gamma : public prob_grad { 39 : private: 40 : int N; 41 : vector_d y; 42 : public: 43 : modelb73a3e37de1d_gamma(stan::io::var_context& context__, 44 : std::ostream* pstream__ = 0) 45 : : prob_grad(0) { 46 : ctor_body(context__, 0, pstream__); 47 : } 48 : 49 : modelb73a3e37de1d_gamma(stan::io::var_context& context__, 50 : unsigned int random_seed__, 51 : std::ostream* pstream__ = 0) 52 : : prob_grad(0) { 53 : ctor_body(context__, random_seed__, pstream__); 54 : } 55 : 56 : void ctor_body(stan::io::var_context& context__, 57 : unsigned int random_seed__, 58 : std::ostream* pstream__) { 59 : typedef double local_scalar_t__; 60 : 61 : boost::ecuyer1988 base_rng__ = 62 : stan::services::util::create_rng(random_seed__, 0); 63 : (void) base_rng__; // suppress unused var warning 64 : 65 : current_statement_begin__ = -1; 66 : 67 : static const char* function__ = "modelb73a3e37de1d_gamma_namespace::modelb73a3e37de1d_gamma"; 68 : (void) function__; // dummy to suppress unused var warning 69 : size_t pos__; 70 : (void) pos__; // dummy to suppress unused var warning 71 : std::vector vals_i__; 72 : std::vector vals_r__; 73 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 74 : (void) DUMMY_VAR__; // suppress unused var warning 75 : 76 : try { 77 : // initialize data block variables from context__ 78 : current_statement_begin__ = 5; 79 : context__.validate_dims("data initialization", "N", "int", context__.to_vec()); 80 : N = int(0); 81 : vals_i__ = context__.vals_i("N"); 82 : pos__ = 0; 83 : N = vals_i__[pos__++]; 84 : check_greater_or_equal(function__, "N", N, 1); 85 : 86 : current_statement_begin__ = 6; 87 : validate_non_negative_index("y", "N", N); 88 : context__.validate_dims("data initialization", "y", "vector_d", context__.to_vec(N)); 89 : y = Eigen::Matrix(N); 90 : vals_r__ = context__.vals_r("y"); 91 : pos__ = 0; 92 : size_t y_j_1_max__ = N; 93 : for (size_t j_1__ = 0; j_1__ < y_j_1_max__; ++j_1__) { 94 : y(j_1__) = vals_r__[pos__++]; 95 : } 96 : 97 : 98 : // initialize transformed data variables 99 : // execute transformed data statements 100 : 101 : // validate transformed data 102 : 103 : // validate, set parameter ranges 104 : num_params_r__ = 0U; 105 : param_ranges_i__.clear(); 106 : current_statement_begin__ = 9; 107 : num_params_r__ += 1; 108 : current_statement_begin__ = 10; 109 : num_params_r__ += 1; 110 : } catch (const std::exception& e) { 111 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 112 : // Next line prevents compiler griping about no return 113 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 114 : } 115 : } 116 : 117 : ~modelb73a3e37de1d_gamma() { } 118 : 119 : 120 : void transform_inits(const stan::io::var_context& context__, 121 : std::vector& params_i__, 122 : std::vector& params_r__, 123 : std::ostream* pstream__) const { 124 : typedef double local_scalar_t__; 125 : stan::io::writer writer__(params_r__, params_i__); 126 : size_t pos__; 127 : (void) pos__; // dummy call to supress warning 128 : std::vector vals_r__; 129 : std::vector vals_i__; 130 : 131 : current_statement_begin__ = 9; 132 : if (!(context__.contains_r("alpha"))) 133 : stan::lang::rethrow_located(std::runtime_error(std::string("Variable alpha missing")), current_statement_begin__, prog_reader__()); 134 : vals_r__ = context__.vals_r("alpha"); 135 : pos__ = 0U; 136 : context__.validate_dims("parameter initialization", "alpha", "double", context__.to_vec()); 137 : double alpha(0); 138 : alpha = vals_r__[pos__++]; 139 : try { 140 : writer__.scalar_lb_unconstrain(0, alpha); 141 : } catch (const std::exception& e) { 142 : stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable alpha: ") + e.what()), current_statement_begin__, prog_reader__()); 143 : } 144 : 145 : current_statement_begin__ = 10; 146 : if (!(context__.contains_r("lambda"))) 147 : stan::lang::rethrow_located(std::runtime_error(std::string("Variable lambda missing")), current_statement_begin__, prog_reader__()); 148 : vals_r__ = context__.vals_r("lambda"); 149 : pos__ = 0U; 150 : context__.validate_dims("parameter initialization", "lambda", "double", context__.to_vec()); 151 : double lambda(0); 152 : lambda = vals_r__[pos__++]; 153 : try { 154 : writer__.scalar_lb_unconstrain(0, lambda); 155 : } catch (const std::exception& e) { 156 : stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable lambda: ") + e.what()), current_statement_begin__, prog_reader__()); 157 : } 158 : 159 : params_r__ = writer__.data_r(); 160 : params_i__ = writer__.data_i(); 161 : } 162 : 163 : void transform_inits(const stan::io::var_context& context, 164 : Eigen::Matrix& params_r, 165 : std::ostream* pstream__) const { 166 : std::vector params_r_vec; 167 : std::vector params_i_vec; 168 : transform_inits(context, params_i_vec, params_r_vec, pstream__); 169 : params_r.resize(params_r_vec.size()); 170 : for (int i = 0; i < params_r.size(); ++i) 171 : params_r(i) = params_r_vec[i]; 172 : } 173 : 174 : 175 : template 176 : T__ log_prob(std::vector& params_r__, 177 : std::vector& params_i__, 178 : std::ostream* pstream__ = 0) const { 179 : 180 : typedef T__ local_scalar_t__; 181 : 182 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 183 : (void) DUMMY_VAR__; // dummy to suppress unused var warning 184 : 185 : T__ lp__(0.0); 186 : stan::math::accumulator lp_accum__; 187 : try { 188 : stan::io::reader in__(params_r__, params_i__); 189 : 190 : // model parameters 191 : current_statement_begin__ = 9; 192 : local_scalar_t__ alpha; 193 : (void) alpha; // dummy to suppress unused var warning 194 : if (jacobian__) 195 : alpha = in__.scalar_lb_constrain(0, lp__); 196 : else 197 : alpha = in__.scalar_lb_constrain(0); 198 : 199 : current_statement_begin__ = 10; 200 : local_scalar_t__ lambda; 201 : (void) lambda; // dummy to suppress unused var warning 202 : if (jacobian__) 203 : lambda = in__.scalar_lb_constrain(0, lp__); 204 : else 205 : lambda = in__.scalar_lb_constrain(0); 206 : 207 : // model body 208 : 209 : current_statement_begin__ = 13; 210 : lp_accum__.add(gamma_lpdf(y, alpha, (1 / lambda))); 211 : current_statement_begin__ = 14; 212 : lp_accum__.add(lgammaJacLinf(y, alpha, lambda, pstream__)); 213 : 214 : } catch (const std::exception& e) { 215 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 216 : // Next line prevents compiler griping about no return 217 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 218 : } 219 : 220 : lp_accum__.add(lp__); 221 : return lp_accum__.sum(); 222 : 223 : } // log_prob() 224 : 225 : template 226 : T_ log_prob(Eigen::Matrix& params_r, 227 : std::ostream* pstream = 0) const { 228 : std::vector vec_params_r; 229 : vec_params_r.reserve(params_r.size()); 230 : for (int i = 0; i < params_r.size(); ++i) 231 : vec_params_r.push_back(params_r(i)); 232 : std::vector vec_params_i; 233 : return log_prob(vec_params_r, vec_params_i, pstream); 234 : } 235 : 236 : 237 : void get_param_names(std::vector& names__) const { 238 : names__.resize(0); 239 : names__.push_back("alpha"); 240 : names__.push_back("lambda"); 241 : } 242 : 243 : 244 : void get_dims(std::vector >& dimss__) const { 245 : dimss__.resize(0); 246 : std::vector dims__; 247 : dims__.resize(0); 248 : dimss__.push_back(dims__); 249 : dims__.resize(0); 250 : dimss__.push_back(dims__); 251 : } 252 : 253 : template 254 : void write_array(RNG& base_rng__, 255 : std::vector& params_r__, 256 : std::vector& params_i__, 257 : std::vector& vars__, 258 : bool include_tparams__ = true, 259 : bool include_gqs__ = true, 260 : std::ostream* pstream__ = 0) const { 261 : typedef double local_scalar_t__; 262 : 263 : vars__.resize(0); 264 : stan::io::reader in__(params_r__, params_i__); 265 : static const char* function__ = "modelb73a3e37de1d_gamma_namespace::write_array"; 266 : (void) function__; // dummy to suppress unused var warning 267 : 268 : // read-transform, write parameters 269 : double alpha = in__.scalar_lb_constrain(0); 270 : vars__.push_back(alpha); 271 : 272 : double lambda = in__.scalar_lb_constrain(0); 273 : vars__.push_back(lambda); 274 : 275 : double lp__ = 0.0; 276 : (void) lp__; // dummy to suppress unused var warning 277 : stan::math::accumulator lp_accum__; 278 : 279 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 280 : (void) DUMMY_VAR__; // suppress unused var warning 281 : 282 : if (!include_tparams__ && !include_gqs__) return; 283 : 284 : try { 285 : if (!include_gqs__ && !include_tparams__) return; 286 : if (!include_gqs__) return; 287 : } catch (const std::exception& e) { 288 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 289 : // Next line prevents compiler griping about no return 290 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 291 : } 292 : } 293 : 294 : template 295 : void write_array(RNG& base_rng, 296 : Eigen::Matrix& params_r, 297 : Eigen::Matrix& vars, 298 : bool include_tparams = true, 299 : bool include_gqs = true, 300 : std::ostream* pstream = 0) const { 301 : std::vector params_r_vec(params_r.size()); 302 : for (int i = 0; i < params_r.size(); ++i) 303 : params_r_vec[i] = params_r(i); 304 : std::vector vars_vec; 305 : std::vector params_i_vec; 306 : write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream); 307 : vars.resize(vars_vec.size()); 308 : for (int i = 0; i < vars.size(); ++i) 309 : vars(i) = vars_vec[i]; 310 : } 311 : 312 : static std::string model_name() { 313 : return "modelb73a3e37de1d_gamma"; 314 : } 315 : 316 : 317 : void constrained_param_names(std::vector& param_names__, 318 : bool include_tparams__ = true, 319 : bool include_gqs__ = true) const { 320 : std::stringstream param_name_stream__; 321 : param_name_stream__.str(std::string()); 322 : param_name_stream__ << "alpha"; 323 : param_names__.push_back(param_name_stream__.str()); 324 : param_name_stream__.str(std::string()); 325 : param_name_stream__ << "lambda"; 326 : param_names__.push_back(param_name_stream__.str()); 327 : 328 : if (!include_gqs__ && !include_tparams__) return; 329 : 330 : if (include_tparams__) { 331 : } 332 : 333 : if (!include_gqs__) return; 334 : } 335 : 336 : 337 : void unconstrained_param_names(std::vector& param_names__, 338 : bool include_tparams__ = true, 339 : bool include_gqs__ = true) const { 340 : std::stringstream param_name_stream__; 341 : param_name_stream__.str(std::string()); 342 : param_name_stream__ << "alpha"; 343 : param_names__.push_back(param_name_stream__.str()); 344 : param_name_stream__.str(std::string()); 345 : param_name_stream__ << "lambda"; 346 : param_names__.push_back(param_name_stream__.str()); 347 : 348 : if (!include_gqs__ && !include_tparams__) return; 349 : 350 : if (include_tparams__) { 351 : } 352 : 353 : if (!include_gqs__) return; 354 : } 355 : 356 : }; // model 357 : 358 : } // namespace 359 : 360 : typedef modelb73a3e37de1d_gamma_namespace::modelb73a3e37de1d_gamma stan_model; 361 : 362 : #include 363 : /** 364 : * Define Rcpp Module to expose stan_fit's functions to R. 365 : */ 366 : RCPP_MODULE(stan_fit4modelb73a3e37de1d_gamma_mod){ 367 : Rcpp::class_ >("stan_fit4modelb73a3e37de1d_gamma") 369 : // .constructor() 370 : .constructor() 371 : // .constructor() 372 : .method("call_sampler", 373 : &rstan::stan_fit::call_sampler) 374 : .method("param_names", 375 : &rstan::stan_fit::param_names) 376 : .method("param_names_oi", 377 : &rstan::stan_fit::param_names_oi) 378 : .method("param_fnames_oi", 379 : &rstan::stan_fit::param_fnames_oi) 380 : .method("param_dims", 381 : &rstan::stan_fit::param_dims) 382 : .method("param_dims_oi", 383 : &rstan::stan_fit::param_dims_oi) 384 : .method("update_param_oi", 385 : &rstan::stan_fit::update_param_oi) 386 : .method("param_oi_tidx", 387 : &rstan::stan_fit::param_oi_tidx) 388 : .method("grad_log_prob", 389 : &rstan::stan_fit::grad_log_prob) 390 : .method("log_prob", 391 : &rstan::stan_fit::log_prob) 392 : .method("unconstrain_pars", 393 : &rstan::stan_fit::unconstrain_pars) 394 : .method("constrain_pars", 395 : &rstan::stan_fit::constrain_pars) 396 : .method("num_pars_unconstrained", 397 : &rstan::stan_fit::num_pars_unconstrained) 398 : .method("unconstrained_param_names", 399 : &rstan::stan_fit::unconstrained_param_names) 400 : .method("constrained_param_names", 401 : &rstan::stan_fit::constrained_param_names) 402 : .method("standalone_gqs", 403 : &rstan::stan_fit::standalone_gqs) 404 : ; 405 : } 406 : 407 : // declarations 408 : extern "C" { 409 : SEXP fileb73a1c54f10f( ) ; 410 : } 411 : 412 : // definition 413 : 414 : SEXP fileb73a1c54f10f( ){ 415 : return Rcpp::wrap("gamma"); 416 : } 417 : 418 : Compilation argument: /Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB fileb73a1c54f10f.cpp 2> fileb73a1c54f10f.cpp.err.txt In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:96: In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/complex:246: /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:313:9: error: no member named 'signbit' in the global namespace using ::signbit; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:314:9: error: no member named 'fpclassify' in the global namespace using ::fpclassify; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:315:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'? using ::isfinite; ~~^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:749:12: note: 'finite' declared here extern int finite(double) ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:96: In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/complex:246: /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:316:9: error: no member named 'isinf' in the global namespace using ::isinf; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:317:9: error: no member named 'isnan' in the global namespace using ::isnan; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:318:9: error: no member named 'isnormal' in the global namespace using ::isnormal; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:319:7: error: no member named 'isgreater' in the global namespace; did you mean '::std::greater'? using ::isgreater; ^~ /Library/Developer/CommandLineTools/usr/include/c++/v1/functional:720:29: note: '::std::greater' declared here struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool> ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:96: In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/complex:246: /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:320:7: error: no member named 'isgreaterequal' in the global namespace; did you mean '::std::greater_equal'? using ::isgreaterequal; ^~ /Library/Developer/CommandLineTools/usr/include/c++/v1/functional:749:29: note: '::std::greater_equal' declared here struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool> ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:96: In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/complex:246: /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:321:9: error: no member named 'isless' in the global namespace using ::isless; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:322:9: error: no member named 'islessequal' in the global namespace using ::islessequal; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:323:9: error: no member named 'islessgreater' in the global namespace using ::islessgreater; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:324:9: error: no member named 'isunordered' in the global namespace using ::isunordered; ~~^ /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:325:9: error: no member named 'isunordered' in the global namespace using ::isunordered; ~~^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:371: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/MathFunctions.h:712:16: error: no member named 'isfinite' in namespace 'std'; did you mean 'finite'? using std::isfinite; ~~~~~^~~~~~~~ finite /Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:315:9: note: 'finite' declared here using ::isfinite; ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:371: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/MathFunctions.h:727:16: error: no member named 'isinf' in namespace 'std' using std::isinf; ~~~~~^ /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/MathFunctions.h:742:16: error: no member named 'isnan' in namespace 'std' using std::isnan; ~~~~~^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:1: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Core:535: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:2: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/LU:47: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:3: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Cholesky:12: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Jacobi:29: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:3: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Cholesky:43: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/QR:17: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Householder:27: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/SVD:48: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:6: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Geometry:58: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:5: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/build_vari_array.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Dense:7: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/Eigenvalues:58: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/RcppEigen/include/Eigen/src/Core/util/ReenableStupidWarnings.h:10:30: warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:17: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/operator_addition.hpp:7: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/scal/fun/is_nan.hpp:17:44: error: expected unqualified-id inline bool is_nan(double x) { return std::isnan(x); } ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:165:5: note: expanded from macro 'isnan' ( sizeof(x) == sizeof(float) ? __inline_isnanf((float)(x)) \ ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:37: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/operator_unary_plus.hpp:7: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/scal/fun/constants.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/constants/constants.hpp:13: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/tools/convert_from_string.hpp:15: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast.hpp:32: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/try_lexical_convert.hpp:44: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/converter_lexical.hpp:54: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/inf_nan.hpp:34: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/special_functions/sign.hpp:30:17: error: no member named 'signbit' in namespace 'std'; did you mean simply 'signbit'? return (std::signbit)(x) ? 1 : 0; ^~~~~~~~~~~~ signbit /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/special_functions/math_fwd.hpp:891:8: note: 'signbit' declared here int signbit BOOST_NO_MACRO_EXPAND(T x); ^ In file included from fileb73a1c54f10f.cpp:8: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/src/stan/model/model_header.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/mat.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core.hpp:37: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/rev/core/operator_unary_plus.hpp:7: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/StanHeaders/include/stan/math/prim/scal/fun/constants.hpp:4: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/constants/constants.hpp:13: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/tools/convert_from_string.hpp:15: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast.hpp:32: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/try_lexical_convert.hpp:44: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/converter_lexical.hpp:54: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63: In file included from /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/lexical_cast/detail/inf_nan.hpp:35: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/special_functions/fpclassify.hpp:155:12: error: no member named 'fpclassify' in namespace 'std'; did you mean simply 'fpclassify'? return (std::fpclassify)(t); ^~~~~~~~~~~~~~~ fpclassify /Library/Frameworks/R.framework/Versions/3.5/Resources/library/BH/include/boost/math/special_functions/math_fwd.hpp:876:8: note: 'fpclassify' declared here int fpclassify BOOST_NO_MACRO_EXPAND(T t); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 8 warnings and 20 errors generated. make: *** [fileb73a1c54f10f.o] Error 1 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: // user includes 6: #define STAN__SERVICES__COMMAND_HPP// Code generated by Stan version 2.19.1 7: 8: #include 9: 10: namespace modelb73a3e37de1d_gamma_namespace { 11: 12: using std::istream; 13: using std::string; 14: using std::stringstream; 15: using std::vector; 16: using stan::io::dump; 17: using stan::math::lgamma; 18: using stan::model::prob_grad; 19: using namespace stan::math; 20: 21: static int current_statement_begin__; 22: 23: stan::io::program_reader prog_reader__() { 24: stan::io::program_reader reader; 25: reader.add_event(0, 0, "start", "modelb73a3e37de1d_gamma"); 26: reader.add_event(17, 15, "end", "modelb73a3e37de1d_gamma"); 27: return reader; 28: } 29: 30: template 31: typename boost::math::tools::promote_args::type 32: lgammaJacLinf(const Eigen::Matrix& x, 33: const T1__& alpha, 34: const T2__& lambda, std::ostream* pstream__); 35: 36: 37: #include "/Users/murph/Documents/Research/EAS_GFD/lgammaJacLinf.hpp" 38: class modelb73a3e37de1d_gamma : public prob_grad { 39: private: 40: int N; 41: vector_d y; 42: public: 43: modelb73a3e37de1d_gamma(stan::io::var_context& context__, 44: std::ostream* pstream__ = 0) 45: : prob_grad(0) { 46: ctor_body(context__, 0, pstream__); 47: } 48: 49: modelb73a3e37de1d_gamma(stan::io::var_context& context__, 50: unsigned int random_seed__, 51: std::ostream* pstream__ = 0) 52: : prob_grad(0) { 53: ctor_body(context__, random_seed__, pstream__); 54: } 55: 56: void ctor_body(stan::io::var_context& context__, 57: unsigned int random_seed__, 58: std::ostream* pstream__) { 59: typedef double local_scalar_t__; 60: 61: boost::ecuyer1988 base_rng__ = 62: stan::services::util::create_rng(random_seed__, 0); 63: (void) base_rng__; // suppress unused var warning 64: 65: current_statement_begin__ = -1; 66: 67: static const char* function__ = "modelb73a3e37de1d_gamma_namespace::modelb73a3e37de1d_gamma"; 68: (void) function__; // dummy to suppress unused var warning 69: size_t pos__; 70: (void) pos__; // dummy to suppress unused var warning 71: std::vector vals_i__; 72: std::vector vals_r__; 73: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 74: (void) DUMMY_VAR__; // suppress unused var warning 75: 76: try { 77: // initialize data block variables from context__ 78: current_statement_begin__ = 5; 79: context__.validate_dims("data initialization", "N", "int", context__.to_vec()); 80: N = int(0); 81: vals_i__ = context__.vals_i("N"); 82: pos__ = 0; 83: N = vals_i__[pos__++]; 84: check_greater_or_equal(function__, "N", N, 1); 85: 86: current_statement_begin__ = 6; 87: validate_non_negative_index("y", "N", N); 88: context__.validate_dims("data initialization", "y", "vector_d", context__.to_vec(N)); 89: y = Eigen::Matrix(N); 90: vals_r__ = context__.vals_r("y"); 91: pos__ = 0; 92: size_t y_j_1_max__ = N; 93: for (size_t j_1__ = 0; j_1__ < y_j_1_max__; ++j_1__) { 94: y(j_1__) = vals_r__[pos__++]; 95: } 96: 97: 98: // initialize transformed data variables 99: // execute transformed data statements 100: 101: // validate transformed data 102: 103: // validate, set parameter ranges 104: num_params_r__ = 0U; 105: param_ranges_i__.clear(); 106: current_statement_begin__ = 9; 107: num_params_r__ += 1; 108: current_statement_begin__ = 10; 109: num_params_r__ += 1; 110: } catch (const std::exception& e) { 111: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 112: // Next line prevents compiler griping about no return 113: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 114: } 115: } 116: 117: ~modelb73a3e37de1d_gamma() { } 118: 119: 120: void transform_inits(const stan::io::var_context& context__, 121: std::vector& params_i__, 122: std::vector& params_r__, 123: std::ostream* pstream__) const { 124: typedef double local_scalar_t__; 125: stan::io::writer writer__(params_r__, params_i__); 126: size_t pos__; 127: (void) pos__; // dummy call to supress warning 128: std::vector vals_r__; 129: std::vector vals_i__; 130: 131: current_statement_begin__ = 9; 132: if (!(context__.contains_r("alpha"))) 133: stan::lang::rethrow_located(std::runtime_error(std::string("Variable alpha missing")), current_statement_begin__, prog_reader__()); 134: vals_r__ = context__.vals_r("alpha"); 135: pos__ = 0U; 136: context__.validate_dims("parameter initialization", "alpha", "double", context__.to_vec()); 137: double alpha(0); 138: alpha = vals_r__[pos__++]; 139: try { 140: writer__.scalar_lb_unconstrain(0, alpha); 141: } catch (const std::exception& e) { 142: stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable alpha: ") + e.what()), current_statement_begin__, prog_reader__()); 143: } 144: 145: current_statement_begin__ = 10; 146: if (!(context__.contains_r("lambda"))) 147: stan::lang::rethrow_located(std::runtime_error(std::string("Variable lambda missing")), current_statement_begin__, prog_reader__()); 148: vals_r__ = context__.vals_r("lambda"); 149: pos__ = 0U; 150: context__.validate_dims("parameter initialization", "lambda", "double", context__.to_vec()); 151: double lambda(0); 152: lambda = vals_r__[pos__++]; 153: try { 154: writer__.scalar_lb_unconstrain(0, lambda); 155: } catch (const std::exception& e) { 156: stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable lambda: ") + e.what()), current_statement_begin__, prog_reader__()); 157: } 158: 159: params_r__ = writer__.data_r(); 160: params_i__ = writer__.data_i(); 161: } 162: 163: void transform_inits(const stan::io::var_context& context, 164: Eigen::Matrix& params_r, 165: std::ostream* pstream__) const { 166: std::vector params_r_vec; 167: std::vector params_i_vec; 168: transform_inits(context, params_i_vec, params_r_vec, pstream__); 169: params_r.resize(params_r_vec.size()); 170: for (int i = 0; i < params_r.size(); ++i) 171: params_r(i) = params_r_vec[i]; 172: } 173: 174: 175: template 176: T__ log_prob(std::vector& params_r__, 177: std::vector& params_i__, 178: std::ostream* pstream__ = 0) const { 179: 180: typedef T__ local_scalar_t__; 181: 182: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 183: (void) DUMMY_VAR__; // dummy to suppress unused var warning 184: 185: T__ lp__(0.0); 186: stan::math::accumulator lp_accum__; 187: try { 188: stan::io::reader in__(params_r__, params_i__); 189: 190: // model parameters 191: current_statement_begin__ = 9; 192: local_scalar_t__ alpha; 193: (void) alpha; // dummy to suppress unused var warning 194: if (jacobian__) 195: alpha = in__.scalar_lb_constrain(0, lp__); 196: else 197: alpha = in__.scalar_lb_constrain(0); 198: 199: current_statement_begin__ = 10; 200: local_scalar_t__ lambda; 201: (void) lambda; // dummy to suppress unused var warning 202: if (jacobian__) 203: lambda = in__.scalar_lb_constrain(0, lp__); 204: else 205: lambda = in__.scalar_lb_constrain(0); 206: 207: // model body 208: 209: current_statement_begin__ = 13; 210: lp_accum__.add(gamma_lpdf(y, alpha, (1 / lambda))); 211: current_statement_begin__ = 14; 212: lp_accum__.add(lgammaJacLinf(y, alpha, lambda, pstream__)); 213: 214: } catch (const std::exception& e) { 215: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 216: // Next line prevents compiler griping about no return 217: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 218: } 219: 220: lp_accum__.add(lp__); 221: return lp_accum__.sum(); 222: 223: } // log_prob() 224: 225: template 226: T_ log_prob(Eigen::Matrix& params_r, 227: std::ostream* pstream = 0) const { 228: std::vector vec_params_r; 229: vec_params_r.reserve(params_r.size()); 230: for (int i = 0; i < params_r.size(); ++i) 231: vec_params_r.push_back(params_r(i)); 232: std::vector vec_params_i; 233: return log_prob(vec_params_r, vec_params_i, pstream); 234: } 235: 236: 237: void get_param_names(std::vector& names__) const { 238: names__.resize(0); 239: names__.push_back("alpha"); 240: names__.push_back("lambda"); 241: } 242: 243: 244: void get_dims(std::vector >& dimss__) const { 245: dimss__.resize(0); 246: std::vector dims__; 247: dims__.resize(0); 248: dimss__.push_back(dims__); 249: dims__.resize(0); 250: dimss__.push_back(dims__); 251: } 252: 253: template 254: void write_array(RNG& base_rng__, 255: std::vector& params_r__, 256: std::vector& params_i__, 257: std::vector& vars__, 258: bool include_tparams__ = true, 259: bool include_gqs__ = true, 260: std::ostream* pstream__ = 0) const { 261: typedef double local_scalar_t__; 262: 263: vars__.resize(0); 264: stan::io::reader in__(params_r__, params_i__); 265: static const char* function__ = "modelb73a3e37de1d_gamma_namespace::write_array"; 266: (void) function__; // dummy to suppress unused var warning 267: 268: // read-transform, write parameters 269: double alpha = in__.scalar_lb_constrain(0); 270: vars__.push_back(alpha); 271: 272: double lambda = in__.scalar_lb_constrain(0); 273: vars__.push_back(lambda); 274: 275: double lp__ = 0.0; 276: (void) lp__; // dummy to suppress unused var warning 277: stan::math::accumulator lp_accum__; 278: 279: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); 280: (void) DUMMY_VAR__; // suppress unused var warning 281: 282: if (!include_tparams__ && !include_gqs__) return; 283: 284: try { 285: if (!include_gqs__ && !include_tparams__) return; 286: if (!include_gqs__) return; 287: } catch (const std::exception& e) { 288: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__()); 289: // Next line prevents compiler griping about no return 290: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); 291: } 292: } 293: 294: template 295: void write_array(RNG& base_rng, 296: Eigen::Matrix& params_r, 297: Eigen::Matrix& vars, 298: bool include_tparams = true, 299: bool include_gqs = true, 300: std::ostream* pstream = 0) const { 301: std::vector params_r_vec(params_r.size()); 302: for (int i = 0; i < params_r.size(); ++i) 303: params_r_vec[i] = params_r(i); 304: std::vector vars_vec; 305: std::vector params_i_vec; 306: write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream); 307: vars.resize(vars_vec.size()); 308: for (int i = 0; i < vars.size(); ++i) 309: vars(i) = vars_vec[i]; 310: } 311: 312: static std::string model_name() { 313: return "modelb73a3e37de1d_gamma"; 314: } 315: 316: 317: void constrained_param_names(std::vector& param_names__, 318: bool include_tparams__ = true, 319: bool include_gqs__ = true) const { 320: std::stringstream param_name_stream__; 321: param_name_stream__.str(std::string()); 322: param_name_stream__ << "alpha"; 323: param_names__.push_back(param_name_stream__.str()); 324: param_name_stream__.str(std::string()); 325: param_name_stream__ << "lambda"; 326: param_names__.push_back(param_name_stream__.str()); 327: 328: if (!include_gqs__ && !include_tparams__) return; 329: 330: if (include_tparams__) { 331: } 332: 333: if (!include_gqs__) return; 334: } 335: 336: 337: void unconstrained_param_names(std::vector& param_names__, 338: bool include_tparams__ = true, 339: bool include_gqs__ = true) const { 340: std::stringstream param_name_stream__; 341: param_name_stream__.str(std::string()); 342: param_name_stream__ << "alpha"; 343: param_names__.push_back(param_name_stream__.str()); 344: param_name_stream__.str(std::string()); 345: param_name_stream__ << "lambda"; 346: param_names__.push_back(param_name_stream__.str()); 347: 348: if (!include_gqs__ && !include_tparams__) return; 349: 350: if (include_tparams__) { 351: } 352: 353: if (!include_gqs__) return; 354: } 355: 356: }; // model 357: 358: } // namespace 359: 360: typedef modelb73a3e37de1d_gamma_namespace::modelb73a3e37de1d_gamma stan_model; 361: 362: #include 363: /** 364: * Define Rcpp Module to expose stan_fit's functions to R. 365: */ 366: RCPP_MODULE(stan_fit4modelb73a3e37de1d_gamma_mod){ 367: Rcpp::class_ >("stan_fit4modelb73a3e37de1d_gamma") 369: // .constructor() 370: .constructor() 371: // .constructor() 372: .method("call_sampler", 373: &rstan::stan_fit::call_sampler) 374: .method("param_names", 375: &rstan::stan_fit::param_names) 376: .method("param_names_oi", 377: &rstan::stan_fit::param_names_oi) 378: .method("param_fnames_oi", 379: &rstan::stan_fit::param_fnames_oi) 380: .method("param_dims", 381: &rstan::stan_fit::param_dims) 382: .method("param_dims_oi", 383: &rstan::stan_fit::param_dims_oi) 384: .method("update_param_oi", 385: &rstan::stan_fit::update_param_oi) 386: .method("param_oi_tidx", 387: &rstan::stan_fit::param_oi_tidx) 388: .method("grad_log_prob", 389: &rstan::stan_fit::grad_log_prob) 390: .method("log_prob", 391: &rstan::stan_fit::log_prob) 392: .method("unconstrain_pars", 393: &rstan::stan_fit::unconstrain_pars) 394: .method("constrain_pars", 395: &rstan::stan_fit::constrain_pars) 396: .method("num_pars_unconstrained", 397: &rstan::stan_fit::num_pars_unconstrained) 398: .method("unconstrained_param_names", 399: &rstan::stan_fit::unconstrained_param_names) 400: .method("constrained_param_names", 401: &rstan::stan_fit::constrained_param_names) 402: .method("standalone_gqs", 403: &rstan::stan_fit::standalone_gqs) 404: ; 405: } 406: 407: // declarations 408: extern "C" { 409: SEXP fileb73a1c54f10f( ) ; 410: } 411: 412: // definition 413: 414: SEXP fileb73a1c54f10f( ){ 415: return Rcpp::wrap("gamma"); 416: } 417: 418: