mirror of
https://github.com/saymrwulf/prophet.git
synced 2026-07-18 18:52:23 +00:00
+ cleans up Stan model compilation by switching over to the rstantools-based workflow (see https://mc-stan.org/rstantools/articles/minimal-rstan-package.html for more info) + minor documentation change: {devtools} -> {remotes}, which is better for end-users + adds RStudio project file which makes it easier for community to get started with contributing to the package
25 lines
1 KiB
R
25 lines
1 KiB
R
# Generated by rstantools. Do not edit by hand.
|
|
|
|
# names of stan models
|
|
stanmodels <- c("prophet")
|
|
|
|
# load each stan module
|
|
Rcpp::loadModule("stan_fit4prophet_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)))
|
|
})
|