@@ -1521,31 +1521,33 @@ RcppExport SEXP _RQuantLib_europeanOptionEngine(SEXP typeSEXP, SEXP underlyingSE
15211521 return rcpp_result_gen;
15221522}
15231523// americanOptionEngine
1524- Rcpp::List americanOptionEngine (std::string type, double underlying, double strike, double dividendYield, double riskFreeRate, double maturity, double volatility, int timeSteps, int gridPoints, std::string engine, Rcpp::Nullable<Rcpp::NumericVector> discreteDividends, Rcpp::Nullable<Rcpp::NumericVector> discreteDividendsTimeUntil);
1525- static SEXP _RQuantLib_americanOptionEngine_try (SEXP typeSEXP, SEXP underlyingSEXP, SEXP strikeSEXP, SEXP dividendYieldSEXP, SEXP riskFreeRateSEXP, SEXP maturitySEXP, SEXP volatilitySEXP, SEXP timeStepsSEXP, SEXP gridPointsSEXP, SEXP engineSEXP, SEXP discreteDividendsSEXP, SEXP discreteDividendsTimeUntilSEXP) {
1524+ Rcpp::List americanOptionEngine (std::string type, double underlying, double strike, double dividendYield, double riskFreeRate, Rcpp::Nullable< double > maturity, Rcpp::Nullable<QuantLib::Date> exDate, double volatility, int timeSteps, int gridPoints, std::string engine, Rcpp::Nullable<Rcpp::NumericVector> discreteDividends, Rcpp::Nullable<Rcpp::NumericVector> discreteDividendsTimeUntil, int dayCounter );
1525+ static SEXP _RQuantLib_americanOptionEngine_try (SEXP typeSEXP, SEXP underlyingSEXP, SEXP strikeSEXP, SEXP dividendYieldSEXP, SEXP riskFreeRateSEXP, SEXP maturitySEXP, SEXP exDateSEXP, SEXP volatilitySEXP, SEXP timeStepsSEXP, SEXP gridPointsSEXP, SEXP engineSEXP, SEXP discreteDividendsSEXP, SEXP discreteDividendsTimeUntilSEXP, SEXP dayCounterSEXP ) {
15261526BEGIN_RCPP
15271527 Rcpp::RObject rcpp_result_gen;
15281528 Rcpp::traits::input_parameter< std::string >::type type (typeSEXP);
15291529 Rcpp::traits::input_parameter< double >::type underlying (underlyingSEXP);
15301530 Rcpp::traits::input_parameter< double >::type strike (strikeSEXP);
15311531 Rcpp::traits::input_parameter< double >::type dividendYield (dividendYieldSEXP);
15321532 Rcpp::traits::input_parameter< double >::type riskFreeRate (riskFreeRateSEXP);
1533- Rcpp::traits::input_parameter< double >::type maturity (maturitySEXP);
1533+ Rcpp::traits::input_parameter< Rcpp::Nullable<double > >::type maturity (maturitySEXP);
1534+ Rcpp::traits::input_parameter< Rcpp::Nullable<QuantLib::Date> >::type exDate (exDateSEXP);
15341535 Rcpp::traits::input_parameter< double >::type volatility (volatilitySEXP);
15351536 Rcpp::traits::input_parameter< int >::type timeSteps (timeStepsSEXP);
15361537 Rcpp::traits::input_parameter< int >::type gridPoints (gridPointsSEXP);
15371538 Rcpp::traits::input_parameter< std::string >::type engine (engineSEXP);
15381539 Rcpp::traits::input_parameter< Rcpp::Nullable<Rcpp::NumericVector> >::type discreteDividends (discreteDividendsSEXP);
15391540 Rcpp::traits::input_parameter< Rcpp::Nullable<Rcpp::NumericVector> >::type discreteDividendsTimeUntil (discreteDividendsTimeUntilSEXP);
1540- rcpp_result_gen = Rcpp::wrap (americanOptionEngine (type, underlying, strike, dividendYield, riskFreeRate, maturity, volatility, timeSteps, gridPoints, engine, discreteDividends, discreteDividendsTimeUntil));
1541+ Rcpp::traits::input_parameter< int >::type dayCounter (dayCounterSEXP);
1542+ rcpp_result_gen = Rcpp::wrap (americanOptionEngine (type, underlying, strike, dividendYield, riskFreeRate, maturity, exDate, volatility, timeSteps, gridPoints, engine, discreteDividends, discreteDividendsTimeUntil, dayCounter));
15411543 return rcpp_result_gen;
15421544END_RCPP_RETURN_ERROR
15431545}
1544- RcppExport SEXP _RQuantLib_americanOptionEngine (SEXP typeSEXP, SEXP underlyingSEXP, SEXP strikeSEXP, SEXP dividendYieldSEXP, SEXP riskFreeRateSEXP, SEXP maturitySEXP, SEXP volatilitySEXP, SEXP timeStepsSEXP, SEXP gridPointsSEXP, SEXP engineSEXP, SEXP discreteDividendsSEXP, SEXP discreteDividendsTimeUntilSEXP) {
1546+ RcppExport SEXP _RQuantLib_americanOptionEngine (SEXP typeSEXP, SEXP underlyingSEXP, SEXP strikeSEXP, SEXP dividendYieldSEXP, SEXP riskFreeRateSEXP, SEXP maturitySEXP, SEXP exDateSEXP, SEXP volatilitySEXP, SEXP timeStepsSEXP, SEXP gridPointsSEXP, SEXP engineSEXP, SEXP discreteDividendsSEXP, SEXP discreteDividendsTimeUntilSEXP, SEXP dayCounterSEXP ) {
15451547 SEXP rcpp_result_gen;
15461548 {
15471549 Rcpp::RNGScope rcpp_rngScope_gen;
1548- rcpp_result_gen = PROTECT (_RQuantLib_americanOptionEngine_try (typeSEXP, underlyingSEXP, strikeSEXP, dividendYieldSEXP, riskFreeRateSEXP, maturitySEXP, volatilitySEXP, timeStepsSEXP, gridPointsSEXP, engineSEXP, discreteDividendsSEXP, discreteDividendsTimeUntilSEXP));
1550+ rcpp_result_gen = PROTECT (_RQuantLib_americanOptionEngine_try (typeSEXP, underlyingSEXP, strikeSEXP, dividendYieldSEXP, riskFreeRateSEXP, maturitySEXP, exDateSEXP, volatilitySEXP, timeStepsSEXP, gridPointsSEXP, engineSEXP, discreteDividendsSEXP, discreteDividendsTimeUntilSEXP, dayCounterSEXP ));
15491551 }
15501552 Rboolean rcpp_isInterrupt_gen = Rf_inherits (rcpp_result_gen, " interrupted-error" );
15511553 if (rcpp_isInterrupt_gen) {
@@ -1663,7 +1665,7 @@ static int _RQuantLib_RcppExport_validate(const char* sig) {
16631665 signatures.insert (" std::string(*getQuantLibVersion)()" );
16641666 signatures.insert (" Rcpp::LogicalVector(*getQuantLibCapabilities)()" );
16651667 signatures.insert (" Rcpp::List(*europeanOptionEngine)(std::string,double,double,double,double,Rcpp::Nullable<double>,Rcpp::Nullable<QuantLib::Date>,double,Rcpp::Nullable<Rcpp::NumericVector>,Rcpp::Nullable<Rcpp::NumericVector>,int)" );
1666- signatures.insert (" Rcpp::List(*americanOptionEngine)(std::string,double,double,double,double,double, double,int,int,std::string,Rcpp::Nullable<Rcpp::NumericVector>,Rcpp::Nullable<Rcpp::NumericVector>)" );
1668+ signatures.insert (" Rcpp::List(*americanOptionEngine)(std::string,double,double,double,double,Rcpp::Nullable< double>,Rcpp::Nullable<QuantLib::Date>, double,int,int,std::string,Rcpp::Nullable<Rcpp::NumericVector>,Rcpp::Nullable<Rcpp::NumericVector>,int )" );
16671669 signatures.insert (" Rcpp::List(*europeanOptionArraysEngine)(std::string,Rcpp::NumericMatrix)" );
16681670 }
16691671 return signatures.find (sig) != signatures.end ();
@@ -1762,7 +1764,7 @@ static const R_CallMethodDef CallEntries[] = {
17621764 {" _RQuantLib_getQuantLibVersion" , (DL_FUNC) &_RQuantLib_getQuantLibVersion, 0 },
17631765 {" _RQuantLib_getQuantLibCapabilities" , (DL_FUNC) &_RQuantLib_getQuantLibCapabilities, 0 },
17641766 {" _RQuantLib_europeanOptionEngine" , (DL_FUNC) &_RQuantLib_europeanOptionEngine, 11 },
1765- {" _RQuantLib_americanOptionEngine" , (DL_FUNC) &_RQuantLib_americanOptionEngine, 12 },
1767+ {" _RQuantLib_americanOptionEngine" , (DL_FUNC) &_RQuantLib_americanOptionEngine, 14 },
17661768 {" _RQuantLib_europeanOptionArraysEngine" , (DL_FUNC) &_RQuantLib_europeanOptionArraysEngine, 2 },
17671769 {" _RQuantLib_zeroprice" , (DL_FUNC) &_RQuantLib_zeroprice, 5 },
17681770 {" _RQuantLib_zeroyield" , (DL_FUNC) &_RQuantLib_zeroyield, 5 },
0 commit comments