R/stanmodels.R

# Generated by rstantools.  Do not edit by hand.

# names of stan models
stanmodels <- c("common_functions", "sstap_binomial", "sstap_continuous", "sstap_count")

# load each stan module
Rcpp::loadModule("stan_fit4common_functions_mod", what = TRUE)
Rcpp::loadModule("stan_fit4sstap_binomial_mod", what = TRUE)
Rcpp::loadModule("stan_fit4sstap_continuous_mod", what = TRUE)
Rcpp::loadModule("stan_fit4sstap_count_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)))
})
apeterson91/rsstap documentation built on April 7, 2021, 4:36 p.m.