--- a +++ b/R/stanmodels.R @@ -0,0 +1,28 @@ +# Generated by rstantools. Do not edit by hand. + +# names of stan models +stanmodels <- c("base0", "base0_logit", "hs", "hs_logit") + +# load each stan module +Rcpp::loadModule("stan_fit4base0_mod", what = TRUE) +Rcpp::loadModule("stan_fit4base0_logit_mod", what = TRUE) +Rcpp::loadModule("stan_fit4hs_mod", what = TRUE) +Rcpp::loadModule("stan_fit4hs_logit_mod", what = TRUE) + +# instantiate each stanmodel object +stanmodels <- sapply(stanmodels, function(model_name) { + # create C++ code for stan model + stan_file <- if(dir.exists("stan")) "stan" else file.path("inst", "stan") + stan_file <- file.path(stan_file, paste0(model_name, ".stan")) + stanfit <- rstan::stanc_builder(stan_file, + allow_undefined = TRUE, + obfuscate_model_name = FALSE) + stanfit$model_cpp <- list(model_cppname = stanfit$model_name, + model_cppcode = stanfit$cppcode) + # create stanmodel object + methods::new(Class = "stanmodel", + model_name = stanfit$model_name, + model_code = stanfit$model_code, + model_cpp = stanfit$model_cpp, + mk_cppmodule = function(x) get(paste0("model_", model_name))) +})