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

#' Rooted SPR distance (C++ core)
#'
#' Low-level Rcpp interface to the rspr library.  Prefer the R wrapper
#' \code{RSPRDist()} for normal use.
#'
#' @param tree1,tree2 Character vectors of Newick-format rooted binary trees.
#'   Must be the same length.
#' @param approx Logical scalar: compute the linear-time 3-approximation?
#' @param exact  Logical scalar: compute the exact branch-and-bound distance?
#' @return A named list with elements \code{exact} (integer), \code{approx}
#'   (integer), \code{maf_1} and \code{maf_2} (character).  Elements not
#'   requested are filled with \code{NA} or empty strings.
#' @keywords internal
rspr_dist <- function(tree1, tree2, approx, exact) {
    .Call('_TBRDist_rspr_dist', PACKAGE = 'TBRDist', tree1, tree2, approx, exact)
}

uspr_dist <- function(tree1, tree2, useTbrApproxEstimate, useTbrEstimate, useReplugEstimate) {
    .Call('_TBRDist_uspr_dist', PACKAGE = 'TBRDist', tree1, tree2, useTbrApproxEstimate, useTbrEstimate, useReplugEstimate)
}

tbr_dist <- function(tree1, tree2, printMafs, countMafs, optimize, protectB, exact, approximate) {
    .Call('_TBRDist_tbr_dist', PACKAGE = 'TBRDist', tree1, tree2, printMafs, countMafs, optimize, protectB, exact, approximate)
}

replug_dist <- function(tree1, tree2) {
    .Call('_TBRDist_replug_dist', PACKAGE = 'TBRDist', tree1, tree2)
}

