R/stanmodels.R

# Generated by rstantools.  Do not edit by hand.

# names of stan models
stanmodels <- c("case_1_MM", "case_2_1M", "case_2_M1", "case_3_11", "case_4_M0", "case_5_10", "model")

# load each stan module
Rcpp::loadModule("stan_fit4case_1_MM_mod", what = TRUE)
Rcpp::loadModule("stan_fit4case_2_1M_mod", what = TRUE)
Rcpp::loadModule("stan_fit4case_2_M1_mod", what = TRUE)
Rcpp::loadModule("stan_fit4case_3_11_mod", what = TRUE)
Rcpp::loadModule("stan_fit4case_4_M0_mod", what = TRUE)
Rcpp::loadModule("stan_fit4case_5_10_mod", what = TRUE)
Rcpp::loadModule("stan_fit4model_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)))
})

Try the BINtools package in your browser

Any scripts or data that you put into this service are public.

BINtools documentation built on April 5, 2022, 1:15 a.m.