RcppExport SEXP advance1(SEXP calSexp, SEXP params, SEXP dateSexp){ try { boost::shared_ptr<QuantLib::Calendar> pcal( getCalendar(Rcpp::as<std::string>(calSexp)) ); Rcpp::List rparam(params); QuantLib::BusinessDayConvention bdc = getBusinessDayConvention( Rcpp::as<double>(rparam["bdc"]) ); double emr = Rcpp::as<double>(rparam["emr"]); double amount = Rcpp::as<double>(rparam["amount"]); double unit = Rcpp::as<double>(rparam["unit"]); Rcpp::DateVector dates = Rcpp::DateVector(dateSexp); int n = dates.size(); std::vector<QuantLib::Date> advance(n); for (int i=0; i<n; i++) { QuantLib::Date day( dateFromR(dates[i]) ); advance[i] = pcal->advance(day, amount,getTimeUnit(unit), bdc, (emr == 1)?true:false ); dates[i] = Rcpp::Date(advance[i].month(), advance[i].dayOfMonth(), advance[i].year()); } return Rcpp::wrap(dates); } catch(std::exception &ex) { forward_exception_to_r(ex); } catch(...) { ::Rf_error("c++ exception (unknown reason)"); } return R_NilValue; }
// [[Rcpp::export]] std::vector<QuantLib::Date> advance1(std::string calendar, double amount, double unit, int bdcVal, double emr, std::vector<QuantLib::Date> dates) { boost::shared_ptr<QuantLib::Calendar> pcal(getCalendar(calendar)); QuantLib::BusinessDayConvention bdc = getBusinessDayConvention(bdcVal); int n = dates.size(); std::vector<QuantLib::Date> advance(n); for (int i=0; i<n; i++) { advance[i] = pcal->advance(dates[i], amount, getTimeUnit(unit), bdc, (emr == 1) ? true : false); } return advance; }
TimeUnit::UTimeUnitFields TimeUnitAmount::getTimeUnitField() const { return getTimeUnit().getTimeUnitField(); }
void KoodevStopwatch::dumpMessage(long labTime, const char *tag) { KOODEV_PRINT("[%s][%s] %ld %s\n", m_message.data(), tag, labTime, getTimeUnit()); }
void KoodevStopwatch::dumpMessage(long labTime, int index) { KOODEV_PRINT("[%s][lab#%d] %ld %s\n", m_message.data(), index, labTime, getTimeUnit()); }