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

#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

// d_fastdm
NumericVector d_fastdm(NumericVector rts, NumericVector params, double precision, int boundary, bool stop_on_error);
RcppExport SEXP _rtdists_d_fastdm(SEXP rtsSEXP, SEXP paramsSEXP, SEXP precisionSEXP, SEXP boundarySEXP, SEXP stop_on_errorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type rts(rtsSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type params(paramsSEXP);
    Rcpp::traits::input_parameter< double >::type precision(precisionSEXP);
    Rcpp::traits::input_parameter< int >::type boundary(boundarySEXP);
    Rcpp::traits::input_parameter< bool >::type stop_on_error(stop_on_errorSEXP);
    rcpp_result_gen = Rcpp::wrap(d_fastdm(rts, params, precision, boundary, stop_on_error));
    return rcpp_result_gen;
END_RCPP
}
// p_fastdm
NumericVector p_fastdm(NumericVector rts, NumericVector params, double precision, int boundary, bool stop_on_error);
RcppExport SEXP _rtdists_p_fastdm(SEXP rtsSEXP, SEXP paramsSEXP, SEXP precisionSEXP, SEXP boundarySEXP, SEXP stop_on_errorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type rts(rtsSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type params(paramsSEXP);
    Rcpp::traits::input_parameter< double >::type precision(precisionSEXP);
    Rcpp::traits::input_parameter< int >::type boundary(boundarySEXP);
    Rcpp::traits::input_parameter< bool >::type stop_on_error(stop_on_errorSEXP);
    rcpp_result_gen = Rcpp::wrap(p_fastdm(rts, params, precision, boundary, stop_on_error));
    return rcpp_result_gen;
END_RCPP
}
// p_precise_fastdm
NumericVector p_precise_fastdm(NumericVector rts, NumericVector params, double precision, int boundary, bool stop_on_error);
RcppExport SEXP _rtdists_p_precise_fastdm(SEXP rtsSEXP, SEXP paramsSEXP, SEXP precisionSEXP, SEXP boundarySEXP, SEXP stop_on_errorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type rts(rtsSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type params(paramsSEXP);
    Rcpp::traits::input_parameter< double >::type precision(precisionSEXP);
    Rcpp::traits::input_parameter< int >::type boundary(boundarySEXP);
    Rcpp::traits::input_parameter< bool >::type stop_on_error(stop_on_errorSEXP);
    rcpp_result_gen = Rcpp::wrap(p_precise_fastdm(rts, params, precision, boundary, stop_on_error));
    return rcpp_result_gen;
END_RCPP
}
// r_fastdm
List r_fastdm(int num_values, NumericVector params, double precision, bool stop_on_error);
RcppExport SEXP _rtdists_r_fastdm(SEXP num_valuesSEXP, SEXP paramsSEXP, SEXP precisionSEXP, SEXP stop_on_errorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type num_values(num_valuesSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type params(paramsSEXP);
    Rcpp::traits::input_parameter< double >::type precision(precisionSEXP);
    Rcpp::traits::input_parameter< bool >::type stop_on_error(stop_on_errorSEXP);
    rcpp_result_gen = Rcpp::wrap(r_fastdm(num_values, params, precision, stop_on_error));
    return rcpp_result_gen;
END_RCPP
}
