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

ppforest2_has_openmp <- function() {
    .Call('_ppforest2_ppforest2_has_openmp', PACKAGE = 'ppforest2')
}

ppforest2_proportion_to_count <- function(p, total) {
    .Call('_ppforest2_ppforest2_proportion_to_count', PACKAGE = 'ppforest2', p, total)
}

ppforest2_train <- function(spec, x, y) {
    .Call('_ppforest2_ppforest2_train', PACKAGE = 'ppforest2', spec, x, y)
}

ppforest2_predict_tree <- function(tree, data) {
    .Call('_ppforest2_ppforest2_predict_tree', PACKAGE = 'ppforest2', tree, data)
}

ppforest2_predict_forest <- function(forest, data) {
    .Call('_ppforest2_ppforest2_predict_forest', PACKAGE = 'ppforest2', forest, data)
}

ppforest2_predict_tree_prob <- function(tree, data) {
    .Call('_ppforest2_ppforest2_predict_tree_prob', PACKAGE = 'ppforest2', tree, data)
}

ppforest2_predict_forest_prob <- function(forest, data) {
    .Call('_ppforest2_ppforest2_predict_forest_prob', PACKAGE = 'ppforest2', forest, data)
}

ppforest2_vi_projections_tree <- function(tree, n_vars, scale) {
    .Call('_ppforest2_ppforest2_vi_projections_tree', PACKAGE = 'ppforest2', tree, n_vars, scale)
}

ppforest2_vi_projections_forest <- function(forest, n_vars, scale) {
    .Call('_ppforest2_ppforest2_vi_projections_forest', PACKAGE = 'ppforest2', forest, n_vars, scale)
}

ppforest2_vi_weighted_forest <- function(forest, x, y, scale) {
    .Call('_ppforest2_ppforest2_vi_weighted_forest', PACKAGE = 'ppforest2', forest, x, y, scale)
}

ppforest2_vi_permuted_forest <- function(forest, x, y, seed) {
    .Call('_ppforest2_ppforest2_vi_permuted_forest', PACKAGE = 'ppforest2', forest, x, y, seed)
}

ppforest2_oob_error <- function(forest, x, y) {
    .Call('_ppforest2_ppforest2_oob_error', PACKAGE = 'ppforest2', forest, x, y)
}

ppforest2_oob_predict <- function(forest, x) {
    .Call('_ppforest2_ppforest2_oob_predict', PACKAGE = 'ppforest2', forest, x)
}

ppforest2_tree_node_data <- function(tree, x, y) {
    .Call('_ppforest2_ppforest2_tree_node_data', PACKAGE = 'ppforest2', tree, x, y)
}

ppforest2_boundary_segments <- function(tree, var_indices, fixed_values, x_min, x_max, y_min, y_max) {
    .Call('_ppforest2_ppforest2_boundary_segments', PACKAGE = 'ppforest2', tree, var_indices, fixed_values, x_min, x_max, y_min, y_max)
}

ppforest2_decision_regions <- function(tree, var_indices, fixed_values, x_min, x_max, y_min, y_max) {
    .Call('_ppforest2_ppforest2_decision_regions', PACKAGE = 'ppforest2', tree, var_indices, fixed_values, x_min, x_max, y_min, y_max)
}

ppforest2_tree_layout <- function(tree) {
    .Call('_ppforest2_ppforest2_tree_layout', PACKAGE = 'ppforest2', tree)
}

ppforest2_save_model_json <- function(model, groups, include_metrics, x, y, feature_names) {
    .Call('_ppforest2_ppforest2_save_model_json', PACKAGE = 'ppforest2', model, groups, include_metrics, x, y, feature_names)
}

ppforest2_load_model_json <- function(path) {
    .Call('_ppforest2_ppforest2_load_model_json', PACKAGE = 'ppforest2', path)
}

