# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

set_seed <- function(seed) {
    invisible(.Call(`_simmr_set_seed`, seed))
}

proddiag <- function(x) {
    .Call(`_simmr_proddiag`, x)
}

matmult <- function(x, y) {
    .Call(`_simmr_matmult`, x, y)
}

crossprod <- function(X) {
    .Call(`_simmr_crossprod`, X)
}

rMVNormCpp <- function(n, Mean, Var) {
    .Call(`_simmr_rMVNormCpp`, n, Mean, Var)
}

solvearma <- function(X) {
    .Call(`_simmr_solvearma`, X)
}

sim_thetacpp <- function(S, lambda, n_sources, n_tracers, solo) {
    .Call(`_simmr_sim_thetacpp`, S, lambda, n_sources, n_tracers, solo)
}

hfn <- function(theta, n_sources) {
    .Call(`_simmr_hfn`, theta, n_sources)
}

hcpp <- function(n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, theta, y) {
    .Call(`_simmr_hcpp`, n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, theta, y)
}

log_q_cpp <- function(theta, lambda, n_sources, n_tracers) {
    .Call(`_simmr_log_q_cpp`, theta, lambda, n_sources, n_tracers)
}

delta_lqltcpp <- function(lambda, theta, eps, n_sources, n_tracers) {
    .Call(`_simmr_delta_lqltcpp`, lambda, theta, eps, n_sources, n_tracers)
}

h_lambdacpp <- function(n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, theta, y, lambda) {
    .Call(`_simmr_h_lambdacpp`, n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, theta, y, lambda)
}

cov_mat_cpp <- function(x, y) {
    .Call(`_simmr_cov_mat_cpp`, x, y)
}

nabla_LB_cpp <- function(lambda, theta, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y, c) {
    .Call(`_simmr_nabla_LB_cpp`, lambda, theta, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y, c)
}

control_var_cpp <- function(lambda, theta, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y) {
    .Call(`_simmr_control_var_cpp`, lambda, theta, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y)
}

LB_lambda_cpp <- function(theta, lambda, p, n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y) {
    .Call(`_simmr_LB_lambda_cpp`, theta, lambda, p, n_sources, n_isotopes, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y)
}

run_VB_cpp <- function(lambdastart, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y, S, P, beta_1, beta_2, tau, eps_0, t_W, solo) {
    .Call(`_simmr_run_VB_cpp`, lambdastart, n_sources, n_tracers, beta_prior, concentrationmeans, sourcemeans, correctionmeans, corrsds, sourcesds, y, S, P, beta_1, beta_2, tau, eps_0, t_W, solo)
}

