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

seed_rng_v2 <- function(u1, u2) {
    invisible(.Call(`_spFFBS_seed_rng_v2`, u1, u2))
}

log_matrix_t_density_v2 <- function(X, M, U_scalar, L_V, log_det_V, lgamma_nupq, lgamma_nuq, nu) {
    .Call(`_spFFBS_log_matrix_t_density_v2`, X, M, U_scalar, L_V, log_det_V, lgamma_nupq, lgamma_nuq, nu)
}

unified_parallel_function_v2 <- function(Y, X, G_beta, rho, G_is_identity, D, par_grid, FF_prec, J, p, n, num_threads = 1L) {
    .Call(`_spFFBS_unified_parallel_function_v2`, Y, X, G_beta, rho, G_is_identity, D, par_grid, FF_prec, J, p, n, num_threads)
}

spFF3_v2 <- function(Y, X, D, par_grid, prior, G_beta, rho = 1.0, num_threads = 1L) {
    .Call(`_spFFBS_spFF3_v2`, Y, X, D, par_grid, prior, G_beta, rho, num_threads)
}

sample_index_v2 <- function(size, length, p) {
    .Call(`_spFFBS_sample_index_v2`, size, length, p)
}

weighted_backward_sample_v2 <- function(G_beta, rho, G_is_identity, D, FF_t, ThetaSmp, SigmaSmp, par_grid, weights, num_threads = 1L, iK_vec_sexp = NULL) {
    .Call(`_spFFBS_weighted_backward_sample_v2`, G_beta, rho, G_is_identity, D, FF_t, ThetaSmp, SigmaSmp, par_grid, weights, num_threads, iK_vec_sexp)
}

weighted_backward_sample_T_v2 <- function(G_beta, rho, D, ForwFilt, L, par_grid, weights, num_threads = 1L) {
    .Call(`_spFFBS_weighted_backward_sample_T_v2`, G_beta, rho, D, ForwFilt, L, par_grid, weights, num_threads)
}

optimize_weights_proj_v2 <- function(scores, lr = 0.05, max_iter = 500L) {
    .Call(`_spFFBS_optimize_weights_proj_v2`, scores, lr, max_iter)
}

compute_Wt_cpp_v2 <- function(density_list, n, t, lr = 0.05, max_iter = 500L, n_threads = 1L) {
    .Call(`_spFFBS_compute_Wt_cpp_v2`, density_list, n, t, lr, max_iter, n_threads)
}

predict_ffbs_v2 <- function(G_beta, rho, G_is_identity, X_new, K_j, c_j, a, C_bb, C_bw, C_ww, nu, Psi, L, num_threads = 1L) {
    .Call(`_spFFBS_predict_ffbs_v2`, G_beta, rho, G_is_identity, X_new, K_j, c_j, a, C_bb, C_bw, C_ww, nu, Psi, L, num_threads)
}

temporal_forecast_v2 <- function(G_beta, rho, D, par_grid, ForwFilt, X_all, weights, horiz, L, num_threads = 1L) {
    .Call(`_spFFBS_temporal_forecast_v2`, G_beta, rho, D, par_grid, ForwFilt, X_all, weights, horiz, L, num_threads)
}

spatial_interpolation_v2 <- function(G_beta, rho, Xu, D_s, D_u, D_us, par_grid, ForwFilt, weights, t, L, num_threads = 1L) {
    .Call(`_spFFBS_spatial_interpolation_v2`, G_beta, rho, Xu, D_s, D_u, D_us, par_grid, ForwFilt, weights, t, L, num_threads)
}

