R/stanmodels.R

# Generated by rstantools.  Do not edit by hand.

# names of stan models
stanmodels <- c("gqs_loglik", "gqs_ppmc", "gqs_probs", "test_dina")

# load each stan module
Rcpp::loadModule("stan_fit4gqs_loglik_mod", what = TRUE)
Rcpp::loadModule("stan_fit4gqs_ppmc_mod", what = TRUE)
Rcpp::loadModule("stan_fit4gqs_probs_mod", what = TRUE)
Rcpp::loadModule("stan_fit4test_dina_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("rstantools_model_", model_name)))
})
wjakethompson/measr documentation built on April 12, 2025, 9:46 p.m.