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

#include <RcppArmadillo.h>
#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// vdqagsRcpp
Rcpp::List vdqagsRcpp(const Rcpp::Function f, const arma::vec a, const arma::vec b, const double epsrel, const double epsabs, const int limit, const int ny);
RcppExport SEXP _rstpm2_vdqagsRcpp(SEXP fSEXP, SEXP aSEXP, SEXP bSEXP, SEXP epsrelSEXP, SEXP epsabsSEXP, SEXP limitSEXP, SEXP nySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type a(aSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type b(bSEXP);
    Rcpp::traits::input_parameter< const double >::type epsrel(epsrelSEXP);
    Rcpp::traits::input_parameter< const double >::type epsabs(epsabsSEXP);
    Rcpp::traits::input_parameter< const int >::type limit(limitSEXP);
    Rcpp::traits::input_parameter< const int >::type ny(nySEXP);
    rcpp_result_gen = Rcpp::wrap(vdqagsRcpp(f, a, b, epsrel, epsabs, limit, ny));
    return rcpp_result_gen;
END_RCPP
}
// vdqagiRcpp
Rcpp::List vdqagiRcpp(const Rcpp::Function f, const arma::vec bound, const int inf, const double epsrel, const double epsabs, const int limit, const int ny);
RcppExport SEXP _rstpm2_vdqagiRcpp(SEXP fSEXP, SEXP boundSEXP, SEXP infSEXP, SEXP epsrelSEXP, SEXP epsabsSEXP, SEXP limitSEXP, SEXP nySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type bound(boundSEXP);
    Rcpp::traits::input_parameter< const int >::type inf(infSEXP);
    Rcpp::traits::input_parameter< const double >::type epsrel(epsrelSEXP);
    Rcpp::traits::input_parameter< const double >::type epsabs(epsabsSEXP);
    Rcpp::traits::input_parameter< const int >::type limit(limitSEXP);
    Rcpp::traits::input_parameter< const int >::type ny(nySEXP);
    rcpp_result_gen = Rcpp::wrap(vdqagiRcpp(f, bound, inf, epsrel, epsabs, limit, ny));
    return rcpp_result_gen;
END_RCPP
}
// vrdqk21Rcpp
Rcpp::List vrdqk21Rcpp(const Rcpp::Function f, const arma::vec lower, const arma::vec upper, const double a, const double b);
RcppExport SEXP _rstpm2_vrdqk21Rcpp(SEXP fSEXP, SEXP lowerSEXP, SEXP upperSEXP, SEXP aSEXP, SEXP bSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type lower(lowerSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type upper(upperSEXP);
    Rcpp::traits::input_parameter< const double >::type a(aSEXP);
    Rcpp::traits::input_parameter< const double >::type b(bSEXP);
    rcpp_result_gen = Rcpp::wrap(vrdqk21Rcpp(f, lower, upper, a, b));
    return rcpp_result_gen;
END_RCPP
}
// vrdqk15Rcpp
Rcpp::List vrdqk15Rcpp(const Rcpp::Function f, const arma::vec boun, const int inf, double a, double b);
RcppExport SEXP _rstpm2_vrdqk15Rcpp(SEXP fSEXP, SEXP bounSEXP, SEXP infSEXP, SEXP aSEXP, SEXP bSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type boun(bounSEXP);
    Rcpp::traits::input_parameter< const int >::type inf(infSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    rcpp_result_gen = Rcpp::wrap(vrdqk15Rcpp(f, boun, inf, a, b));
    return rcpp_result_gen;
END_RCPP
}
// test_vdqags
Rcpp::List test_vdqags();
RcppExport SEXP _rstpm2_test_vdqags() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(test_vdqags());
    return rcpp_result_gen;
END_RCPP
}
// test_vdqagi
Rcpp::List test_vdqagi();
RcppExport SEXP _rstpm2_test_vdqagi() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(test_vdqagi());
    return rcpp_result_gen;
END_RCPP
}
// vunirootRcpp
Rcpp::List vunirootRcpp(Rcpp::Function f, Rcpp::NumericVector lower, Rcpp::NumericVector upper, Rcpp::NumericVector fa, Rcpp::NumericVector fb, int numiter, double tol);
RcppExport SEXP _rstpm2_vunirootRcpp(SEXP fSEXP, SEXP lowerSEXP, SEXP upperSEXP, SEXP faSEXP, SEXP fbSEXP, SEXP numiterSEXP, SEXP tolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type lower(lowerSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type upper(upperSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type fa(faSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type fb(fbSEXP);
    Rcpp::traits::input_parameter< int >::type numiter(numiterSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    rcpp_result_gen = Rcpp::wrap(vunirootRcpp(f, lower, upper, fa, fb, numiter, tol));
    return rcpp_result_gen;
END_RCPP
}
// voptimizeRcpp
Rcpp::NumericVector voptimizeRcpp(Rcpp::Function f, Rcpp::NumericVector ax, Rcpp::NumericVector bx, double tol);
RcppExport SEXP _rstpm2_voptimizeRcpp(SEXP fSEXP, SEXP axSEXP, SEXP bxSEXP, SEXP tolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::Function >::type f(fSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type ax(axSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type bx(bxSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    rcpp_result_gen = Rcpp::wrap(voptimizeRcpp(f, ax, bx, tol));
    return rcpp_result_gen;
END_RCPP
}
