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

#' Simplify Symbolic Expressions
#'
#' @param expr An R language object, symbol, or numeric constant to simplify.
#' @return A simplified R expression or scalar numeric value.
#' @export
Simplify_cpp <- function(expr) {
    .Call(`_Deriv_Simplify_cpp`, expr)
}

#' Symbolic Differentiation (Supports Vectors of Variables)
#'
#' Computes the symbolic derivative of an R expression with respect to one
#' or more target variables. If a single target is provided, it returns a 
#' scalar expression. If multiple targets are provided, it returns a named c() call.
#' 
#' This version is much faster for simple expressions but has less features than its R counterpart Deriv().
#'
#' @param expr An R language object, symbol, or numeric constant to differentiate.
#' @param x A character vector, symbol, or named vector of targets.
#' @param env An environment to resolve function calls in (defaults to parent.frame()).
#' @param drule An environment containing derivative rules (cf. Details in \code{\link{Deriv}} for syntax rules).
#' @return A simplified R expression (or a named c() call for multiple inputs).
#' @seealso \code{\link{Deriv}}
#' @export
Deriv_cpp <- function(expr, x, env=parent.frame(), drule=Deriv::drule) {
    .Call(`_Deriv_Deriv_cpp`, expr, x, env, drule)
}

