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

#include "../inst/include/lsoda.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

// ode_cpp
Rcpp::NumericMatrix ode_cpp(std::vector<double> y, std::vector<double> times, Rcpp::Function func, double rtol, double atol);
RcppExport SEXP _lsoda_ode_cpp(SEXP ySEXP, SEXP timesSEXP, SEXP funcSEXP, SEXP rtolSEXP, SEXP atolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type y(ySEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type times(timesSEXP);
    Rcpp::traits::input_parameter< Rcpp::Function >::type func(funcSEXP);
    Rcpp::traits::input_parameter< double >::type rtol(rtolSEXP);
    Rcpp::traits::input_parameter< double >::type atol(atolSEXP);
    rcpp_result_gen = Rcpp::wrap(ode_cpp(y, times, func, rtol, atol));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_lsoda_ode_cpp", (DL_FUNC) &_lsoda_ode_cpp, 5},
    {NULL, NULL, 0}
};

RcppExport void R_init_lsoda(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
