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

cpp_set_num_threads <- function(threads) {
    .Call(`_visPedigree_cpp_set_num_threads`, threads)
}

cpp_openmp_available <- function() {
    .Call(`_visPedigree_cpp_openmp_available`)
}

cpp_calculate_inbreeding <- function(sire, dam) {
    .Call(`_visPedigree_cpp_calculate_inbreeding`, sire, dam)
}

cpp_build_ainv_triplets <- function(sire, dam, dii) {
    .Call(`_visPedigree_cpp_build_ainv_triplets`, sire, dam, dii)
}

cpp_calculate_A <- function(sire, dam) {
    .Call(`_visPedigree_cpp_calculate_A`, sire, dam)
}

cpp_calculate_D <- function(sire, dam, A) {
    .Call(`_visPedigree_cpp_calculate_D`, sire, dam, A)
}

cpp_calculate_AA <- function(A) {
    .Call(`_visPedigree_cpp_calculate_AA`, A)
}

cpp_invert_dense <- function(M) {
    .Call(`_visPedigree_cpp_invert_dense`, M)
}

cpp_invert_sympd <- function(M) {
    .Call(`_visPedigree_cpp_invert_sympd`, M)
}

cpp_invert_auto <- function(M) {
    .Call(`_visPedigree_cpp_invert_auto`, M)
}

cpp_multiply_A <- function(sire, dam, dii, rhs) {
    .Call(`_visPedigree_cpp_multiply_A`, sire, dam, dii, rhs)
}

cpp_multiply_Ainv <- function(sire, dam, dii, rhs) {
    .Call(`_visPedigree_cpp_multiply_Ainv`, sire, dam, dii, rhs)
}

cpp_assign_generations_top <- function(sire, dam, topo_order) {
    .Call(`_visPedigree_cpp_assign_generations_top`, sire, dam, topo_order)
}

cpp_calculate_partial_inbreeding <- function(sire, dam, dii, ancestors) {
    .Call(`_visPedigree_cpp_calculate_partial_inbreeding`, sire, dam, dii, ancestors)
}

cpp_assign_generations_bottom <- function(sire, dam, topo_order) {
    .Call(`_visPedigree_cpp_assign_generations_bottom`, sire, dam, topo_order)
}

cpp_pedcontrib <- function(sire, dam, cohort_pos, mode) {
    .Call(`_visPedigree_cpp_pedcontrib`, sire, dam, cohort_pos, mode)
}

cpp_calculate_ancestry <- function(sire, dam, res_mat) {
    .Call(`_visPedigree_cpp_calculate_ancestry`, sire, dam, res_mat)
}

cpp_trace_ancestors <- function(sire, dam, targets, max_gen = 0L) {
    .Call(`_visPedigree_cpp_trace_ancestors`, sire, dam, targets, max_gen)
}

cpp_trace_descendants <- function(sire, dam, targets, max_gen = 0L) {
    .Call(`_visPedigree_cpp_trace_descendants`, sire, dam, targets, max_gen)
}

cpp_topo_order <- function(sire, dam) {
    .Call(`_visPedigree_cpp_topo_order`, sire, dam)
}

