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

rowVars <- function(mat_in) {
    .Call(`_BAMBI_rowVars`, mat_in)
}

par_mat_permute <- function(par_mat, perm_lab) {
    .Call(`_BAMBI_par_mat_permute`, par_mat, perm_lab)
}

cID <- function(probs, ncomp, Uv) {
    .Call(`_BAMBI_cID`, probs, ncomp, Uv)
}

change_labs <- function(orig, rand_perm) {
    .Call(`_BAMBI_change_labs`, orig, rand_perm)
}

calc_corr_tau_2 <- function(samp_mat) {
    .Call(`_BAMBI_calc_corr_tau_2`, samp_mat)
}

calc_corr_tau_1 <- function(samp_mat) {
    .Call(`_BAMBI_calc_corr_tau_1`, samp_mat)
}

calc_corr_fl <- function(samp_mat) {
    .Call(`_BAMBI_calc_corr_fl`, samp_mat)
}

const_univm <- function(k) {
    .Call(`_BAMBI_const_univm`, k)
}

log_const_univm_all <- function(par_mat) {
    .Call(`_BAMBI_log_const_univm_all`, par_mat)
}

ldunivmnum <- function(x, par) {
    .Call(`_BAMBI_ldunivmnum`, x, par)
}

dunivm_manyx_onepar <- function(x, k, mu) {
    .Call(`_BAMBI_dunivm_manyx_onepar`, x, k, mu)
}

dunivm_manyx_manypar <- function(x, k, mu) {
    .Call(`_BAMBI_dunivm_manyx_manypar`, x, k, mu)
}

dunivm_onex_manypar <- function(x, k, mu) {
    .Call(`_BAMBI_dunivm_onex_manypar`, x, k, mu)
}

runivm_onepar <- function(n, k, mu) {
    .Call(`_BAMBI_runivm_onepar`, n, k, mu)
}

runivm_manypar <- function(k, mu) {
    .Call(`_BAMBI_runivm_manypar`, k, mu)
}

univmmix <- function(x, par, pi, log_c_von) {
    .Call(`_BAMBI_univmmix`, x, par, pi, log_c_von)
}

univmmix_manyx <- function(x, par, pi, log_c) {
    .Call(`_BAMBI_univmmix_manyx`, x, par, pi, log_c)
}

mem_p_univm <- function(data, par, pi, log_c_von) {
    .Call(`_BAMBI_mem_p_univm`, data, par, pi, log_c_von)
}

llik_univm_one_comp <- function(data, par_vec, log_c) {
    .Call(`_BAMBI_llik_univm_one_comp`, data, par_vec, log_c)
}

grad_llik_univm_C <- function(data, par) {
    .Call(`_BAMBI_grad_llik_univm_C`, data, par)
}

llik_univm_contri_C <- function(data, par, pi, log_c) {
    .Call(`_BAMBI_llik_univm_contri_C`, data, par, pi, log_c)
}

l_const_uniwnorm <- function(k) {
    .Call(`_BAMBI_l_const_uniwnorm`, k)
}

const_uniwnorm <- function(k) {
    .Call(`_BAMBI_const_uniwnorm`, k)
}

log_const_uniwnorm_all <- function(par_mat) {
    .Call(`_BAMBI_log_const_uniwnorm_all`, par_mat)
}

lduniwnormnum <- function(x, par, omega_2pi_1d) {
    .Call(`_BAMBI_lduniwnormnum`, x, par, omega_2pi_1d)
}

duniwnorm_manyx_onepar <- function(x, k, mu, omega_2pi_1d) {
    .Call(`_BAMBI_duniwnorm_manyx_onepar`, x, k, mu, omega_2pi_1d)
}

duniwnorm_manyx_manypar <- function(x, k, mu, omega_2pi_1d) {
    .Call(`_BAMBI_duniwnorm_manyx_manypar`, x, k, mu, omega_2pi_1d)
}

duniwnorm_onex_manypar <- function(x, k, mu, omega_2pi_1d) {
    .Call(`_BAMBI_duniwnorm_onex_manypar`, x, k, mu, omega_2pi_1d)
}

mem_p_uniwnorm <- function(data, par, pi, log_c_von, omega_2pi_1d) {
    .Call(`_BAMBI_mem_p_uniwnorm`, data, par, pi, log_c_von, omega_2pi_1d)
}

llik_uniwnorm_contri_C <- function(data, par, pi, log_c, omega_2pi_1d) {
    .Call(`_BAMBI_llik_uniwnorm_contri_C`, data, par, pi, log_c, omega_2pi_1d)
}

llik_uniwnorm_one_comp <- function(data, par_vec, log_c, omega_2pi_1d) {
    .Call(`_BAMBI_llik_uniwnorm_one_comp`, data, par_vec, log_c, omega_2pi_1d)
}

grad_llik_uniwnorm_C <- function(data, par, omega_2pi_1d) {
    .Call(`_BAMBI_grad_llik_uniwnorm_C`, data, par, omega_2pi_1d)
}

BESSI0_C <- function(x) {
    .Call(`_BAMBI_BESSI0_C`, x)
}

const_vmcos_anltc <- function(k1, k2, k3) {
    .Call(`_BAMBI_const_vmcos_anltc`, k1, k2, k3)
}

const_vmcos_mc <- function(k1, k2, k3, uni_rand, return_log = FALSE) {
    .Call(`_BAMBI_const_vmcos_mc`, k1, k2, k3, uni_rand, return_log)
}

const_vmcos <- function(k1, k2, k3, uni_rand, return_log = FALSE) {
    .Call(`_BAMBI_const_vmcos`, k1, k2, k3, uni_rand, return_log)
}

d_const_vmcos_anltc <- function(k1, k2, k3) {
    .Call(`_BAMBI_d_const_vmcos_anltc`, k1, k2, k3)
}

d_const_vmcos_mc <- function(k1, k2, k3, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_d_const_vmcos_mc`, k1, k2, k3, uni_rand, ncores)
}

d_const_vmcos <- function(par, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_d_const_vmcos`, par, uni_rand, ncores)
}

log_const_vmcos_all <- function(par_mat, uni_rand) {
    .Call(`_BAMBI_log_const_vmcos_all`, par_mat, uni_rand)
}

ldcosnum <- function(x, y, par) {
    .Call(`_BAMBI_ldcosnum`, x, y, par)
}

dcos_onex_manypar <- function(x, k1, k2, k3, mu1, mu2, l_const_all) {
    .Call(`_BAMBI_dcos_onex_manypar`, x, k1, k2, k3, mu1, mu2, l_const_all)
}

dcos_manyx_onepar <- function(x, k1, k2, k3, mu1, mu2, l_const) {
    .Call(`_BAMBI_dcos_manyx_onepar`, x, k1, k2, k3, mu1, mu2, l_const)
}

dcos_manyx_manypar <- function(x, k1, k2, k3, mu1, mu2, l_const_all) {
    .Call(`_BAMBI_dcos_manyx_manypar`, x, k1, k2, k3, mu1, mu2, l_const_all)
}

rcos_unimodal <- function(n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmcos) {
    .Call(`_BAMBI_rcos_unimodal`, n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmcos)
}

rcos_bimodal <- function(n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmcos, mode_1, mode_2, vmpropn, unifpropn) {
    .Call(`_BAMBI_rcos_bimodal`, n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmcos, mode_1, mode_2, vmpropn, unifpropn)
}

rcos_onepar <- function(n, k1, k2, k3, mu1, mu2, I_upper_bd) {
    .Call(`_BAMBI_rcos_onepar`, n, k1, k2, k3, mu1, mu2, I_upper_bd)
}

mem_p_cos <- function(data, par, pi, log_c_von) {
    .Call(`_BAMBI_mem_p_cos`, data, par, pi, log_c_von)
}

llik_vmcos_contri_C <- function(data, par, pi, log_c) {
    .Call(`_BAMBI_llik_vmcos_contri_C`, data, par, pi, log_c)
}

llik_vmcos_one_comp <- function(data, par_vec, log_c) {
    .Call(`_BAMBI_llik_vmcos_one_comp`, data, par_vec, log_c)
}

grad_llik_vmcos_C <- function(data, par, uni_rand) {
    .Call(`_BAMBI_grad_llik_vmcos_C`, data, par, uni_rand)
}

vmcos_var_corr_anltc <- function(k1, k2, k3) {
    .Call(`_BAMBI_vmcos_var_corr_anltc`, k1, k2, k3)
}

vmcos_var_corr_mc <- function(k1, k2, k3, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_vmcos_var_corr_mc`, k1, k2, k3, uni_rand, ncores)
}

vmcos_var_cor_singlepar_cpp <- function(k1, k2, k3, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_vmcos_var_cor_singlepar_cpp`, k1, k2, k3, uni_rand, ncores)
}

ldcos_onex_manypar <- function(x, k1, k2, k3, mu1, mu2, l_const_all) {
    .Call(`_BAMBI_ldcos_onex_manypar`, x, k1, k2, k3, mu1, mu2, l_const_all)
}

ldcos_manyx_onepar <- function(x, k1, k2, k3, mu1, mu2, l_const) {
    .Call(`_BAMBI_ldcos_manyx_onepar`, x, k1, k2, k3, mu1, mu2, l_const)
}

ldcos_manyx_manypar <- function(x, k1, k2, k3, mu1, mu2, l_const_all) {
    .Call(`_BAMBI_ldcos_manyx_manypar`, x, k1, k2, k3, mu1, mu2, l_const_all)
}

const_vmsin <- function(k1, k2, lambda) {
    .Call(`_BAMBI_const_vmsin`, k1, k2, lambda)
}

d_const_vmsin <- function(par) {
    .Call(`_BAMBI_d_const_vmsin`, par)
}

log_const_vmsin_all <- function(par_mat) {
    .Call(`_BAMBI_log_const_vmsin_all`, par_mat)
}

ldsinnum <- function(x, y, par) {
    .Call(`_BAMBI_ldsinnum`, x, y, par)
}

dsin_onex_manypar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_dsin_onex_manypar`, x, k1, k2, k3, mu1, mu2)
}

dsin_manyx_onepar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_dsin_manyx_onepar`, x, k1, k2, k3, mu1, mu2)
}

dsin_manyx_manypar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_dsin_manyx_manypar`, x, k1, k2, k3, mu1, mu2)
}

rsin_unimodal <- function(n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmsin) {
    .Call(`_BAMBI_rsin_unimodal`, n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmsin)
}

rsin_bimodal <- function(n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmsin, mode_1, mode_2, vmpropn, unifpropn) {
    .Call(`_BAMBI_rsin_bimodal`, n, k1, k2, k3, mu1, mu2, kappa_opt, log_I0_kappa_opt, logK, log_const_vmsin, mode_1, mode_2, vmpropn, unifpropn)
}

rsin_onepar <- function(n, k1, k2, k3, mu1, mu2, I_upper_bd) {
    .Call(`_BAMBI_rsin_onepar`, n, k1, k2, k3, mu1, mu2, I_upper_bd)
}

mem_p_sin <- function(data, par, pi, log_c_von, ncores = 1L) {
    .Call(`_BAMBI_mem_p_sin`, data, par, pi, log_c_von, ncores)
}

llik_vmsin_contri_C <- function(data, par, pi, log_c) {
    .Call(`_BAMBI_llik_vmsin_contri_C`, data, par, pi, log_c)
}

llik_vmsin_one_comp <- function(data, par_vec, log_c) {
    .Call(`_BAMBI_llik_vmsin_one_comp`, data, par_vec, log_c)
}

grad_llik_vmsin_C <- function(data, par) {
    .Call(`_BAMBI_grad_llik_vmsin_C`, data, par)
}

vmsin_var_corr_anltc <- function(k1, k2, lambda) {
    .Call(`_BAMBI_vmsin_var_corr_anltc`, k1, k2, lambda)
}

vmsin_var_corr_mc <- function(k1, k2, k3, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_vmsin_var_corr_mc`, k1, k2, k3, uni_rand, ncores)
}

vmsin_var_cor_singlepar_cpp <- function(k1, k2, k3, uni_rand, ncores = 1L) {
    .Call(`_BAMBI_vmsin_var_cor_singlepar_cpp`, k1, k2, k3, uni_rand, ncores)
}

ldsin_onex_manypar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_ldsin_onex_manypar`, x, k1, k2, k3, mu1, mu2)
}

ldsin_manyx_onepar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_ldsin_manyx_onepar`, x, k1, k2, k3, mu1, mu2)
}

ldsin_manyx_manypar <- function(x, k1, k2, k3, mu1, mu2) {
    .Call(`_BAMBI_ldsin_manyx_manypar`, x, k1, k2, k3, mu1, mu2)
}

ldwnorm2_num <- function(x, par, omega_2pi) {
    .Call(`_BAMBI_ldwnorm2_num`, x, par, omega_2pi)
}

l_const_wnorm2 <- function(par) {
    .Call(`_BAMBI_l_const_wnorm2`, par)
}

const_wnorm2 <- function(par) {
    .Call(`_BAMBI_const_wnorm2`, par)
}

log_const_wnorm2_all <- function(par_mat) {
    .Call(`_BAMBI_log_const_wnorm2_all`, par_mat)
}

mem_p_wnorm2 <- function(data, par_mat, pi, log_c_wnorm, omega_2pi, ncores = 1L) {
    .Call(`_BAMBI_mem_p_wnorm2`, data, par_mat, pi, log_c_wnorm, omega_2pi, ncores)
}

llik_wnorm2_contri_C <- function(data, par, pi, log_c, omega_2pi) {
    .Call(`_BAMBI_llik_wnorm2_contri_C`, data, par, pi, log_c, omega_2pi)
}

llik_wnorm2_one_comp <- function(data, par_vec, log_c, omega_2pi) {
    .Call(`_BAMBI_llik_wnorm2_one_comp`, data, par_vec, log_c, omega_2pi)
}

grad_llik_wnorm2_C <- function(data, par, omega_2pi) {
    .Call(`_BAMBI_grad_llik_wnorm2_C`, data, par, omega_2pi)
}

grad_den_wnorm2_one_comp_i_unadj <- function(x, y, par, det_sig_inv, det_sig_inv_sqrt, omega_2pi) {
    .Call(`_BAMBI_grad_den_wnorm2_one_comp_i_unadj`, x, y, par, det_sig_inv, det_sig_inv_sqrt, omega_2pi)
}

dwnorm2_onex_manypar <- function(x, k1, k2, k3, mu1, mu2, omega_2pi) {
    .Call(`_BAMBI_dwnorm2_onex_manypar`, x, k1, k2, k3, mu1, mu2, omega_2pi)
}

dwnorm2_manyx_onepar <- function(x, k1, k2, k3, mu1, mu2, omega_2pi) {
    .Call(`_BAMBI_dwnorm2_manyx_onepar`, x, k1, k2, k3, mu1, mu2, omega_2pi)
}

dwnorm2_manyx_manypar <- function(x, k1, k2, k3, mu1, mu2, omega_2pi) {
    .Call(`_BAMBI_dwnorm2_manyx_manypar`, x, k1, k2, k3, mu1, mu2, omega_2pi)
}

