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

calculate_greek_sum <- function(greek, x) {
    .Call('_phenopath_calculate_greek_sum', PACKAGE = 'phenopath', greek, x)
}

update_greek_sum <- function(g, p, greek_sum, old_greek, new_greek, x) {
    .Call('_phenopath_update_greek_sum', PACKAGE = 'phenopath', g, p, greek_sum, old_greek, new_greek, x)
}

greek_square_exp <- function(m_g, s_g, x) {
    .Call('_phenopath_greek_square_exp', PACKAGE = 'phenopath', m_g, s_g, x)
}

calculate_fg <- function(g, y, m_z, s_z, m_lambda, s_lambda, m_mu, s_mu, alpha_sum, beta_sum, alpha_square_sum, beta_square_sum) {
    .Call('_phenopath_calculate_fg', PACKAGE = 'phenopath', g, y, m_z, s_z, m_lambda, s_lambda, m_mu, s_mu, alpha_sum, beta_sum, alpha_square_sum, beta_square_sum)
}

cavi_update_z <- function(y, x, m_lambda, m_mu, s_lambda, m_alpha, m_beta, s_beta, a_tau, b_tau, q, tau_q) {
    .Call('_phenopath_cavi_update_z', PACKAGE = 'phenopath', y, x, m_lambda, m_mu, s_lambda, m_alpha, m_beta, s_beta, a_tau, b_tau, q, tau_q)
}

cavi_update_mu <- function(y, x, m_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, tau_mu) {
    .Call('_phenopath_cavi_update_mu', PACKAGE = 'phenopath', y, x, m_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, tau_mu)
}

cavi_update_lambda <- function(y, x, m_z, s_z, m_alpha, m_beta, a_tau, b_tau, m_mu, tau_c) {
    .Call('_phenopath_cavi_update_lambda', PACKAGE = 'phenopath', y, x, m_z, s_z, m_alpha, m_beta, a_tau, b_tau, m_mu, tau_c)
}

cavi_update_tau <- function(y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, m_beta, s_alpha, s_beta, m_mu, s_mu, a, b) {
    .Call('_phenopath_cavi_update_tau', PACKAGE = 'phenopath', y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, m_beta, s_alpha, s_beta, m_mu, s_mu, a, b)
}

cavi_update_alpha <- function(beta_sum, p, g, y, x, m_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, m_mu, tau_alpha) {
    .Call('_phenopath_cavi_update_alpha', PACKAGE = 'phenopath', beta_sum, p, g, y, x, m_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, m_mu, tau_alpha)
}

cavi_update_beta <- function(alpha_sum, p, g, y, x, m_z, s_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, a_chi, b_chi, m_mu) {
    .Call('_phenopath_cavi_update_beta', PACKAGE = 'phenopath', alpha_sum, p, g, y, x, m_z, s_z, m_lambda, m_alpha, m_beta, a_tau, b_tau, a_chi, b_chi, m_mu)
}

cavi_update_chi <- function(m_beta_pg, s_beta_pg, a_beta, b_beta) {
    .Call('_phenopath_cavi_update_chi', PACKAGE = 'phenopath', m_beta_pg, s_beta_pg, a_beta, b_beta)
}

calculate_E_log_Y_given_theta <- function(y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, m_mu, s_mu) {
    .Call('_phenopath_calculate_E_log_Y_given_theta', PACKAGE = 'phenopath', y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, m_mu, s_mu)
}

calculate_E_log_p <- function(m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, m_mu, s_mu, a_chi, b_chi, q, tau_q, tau_mu, tau_c, a, b, tau_alpha, a_beta, b_beta) {
    .Call('_phenopath_calculate_E_log_p', PACKAGE = 'phenopath', m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, m_mu, s_mu, a_chi, b_chi, q, tau_q, tau_mu, tau_c, a, b, tau_alpha, a_beta, b_beta)
}

calculate_E_log_q <- function(s_z, s_lambda, s_alpha, s_beta, a_tau, b_tau, s_mu, a_chi, b_chi, model_mu) {
    .Call('_phenopath_calculate_E_log_q', PACKAGE = 'phenopath', s_z, s_lambda, s_alpha, s_beta, a_tau, b_tau, s_mu, a_chi, b_chi, model_mu)
}

calculate_elbo <- function(y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, a_chi, b_chi, m_mu, s_mu, q, tau_q, tau_mu, tau_c, a, b, tau_alpha, a_beta, b_beta, model_mu) {
    .Call('_phenopath_calculate_elbo', PACKAGE = 'phenopath', y, x, m_z, s_z, m_lambda, s_lambda, m_alpha, s_alpha, m_beta, s_beta, a_tau, b_tau, a_chi, b_chi, m_mu, s_mu, q, tau_q, tau_mu, tau_c, a, b, tau_alpha, a_beta, b_beta, model_mu)
}

