@@ -375,11 +375,12 @@ NumericLgmMultiLegOptionEngine::NumericLgmMultiLegOptionEngine(const boost::shar
375375}
376376
377377NumericLgmMultiLegOptionEngine::NumericLgmMultiLegOptionEngine (const boost::shared_ptr<LinearGaussMarkovModel>& model,
378- const Real maxTime, const Size stateGridPoints,
379- const Size timeStepsPerYear, const Real mesherEpsilon,
378+ const Real maxTime, const QuantLib::FdmSchemeDesc scheme,
379+ const Size stateGridPoints, const Size timeStepsPerYear,
380+ const Real mesherEpsilon,
380381 const Handle<YieldTermStructure>& discountCurve)
381382 : NumericLgmMultiLegOptionEngineBase(
382- boost::make_shared<LgmFdSolver>(model, maxTime, stateGridPoints, timeStepsPerYear, mesherEpsilon),
383+ boost::make_shared<LgmFdSolver>(model, maxTime, scheme, stateGridPoints, timeStepsPerYear, mesherEpsilon),
383384 discountCurve) {
384385 registerWith (solver_->model ());
385386 registerWith (discountCurve_);
@@ -411,11 +412,12 @@ NumericLgmSwaptionEngine::NumericLgmSwaptionEngine(const boost::shared_ptr<Linea
411412}
412413
413414NumericLgmSwaptionEngine::NumericLgmSwaptionEngine (const boost::shared_ptr<LinearGaussMarkovModel>& model,
414- const Real maxTime, const Size stateGridPoints,
415- const Size timeStepsPerYear, const Real mesherEpsilon,
415+ const Real maxTime, const QuantLib::FdmSchemeDesc scheme,
416+ const Size stateGridPoints, const Size timeStepsPerYear,
417+ const Real mesherEpsilon,
416418 const Handle<YieldTermStructure>& discountCurve)
417419 : NumericLgmMultiLegOptionEngineBase(
418- boost::make_shared<LgmFdSolver>(model, maxTime, stateGridPoints, timeStepsPerYear, mesherEpsilon),
420+ boost::make_shared<LgmFdSolver>(model, maxTime, scheme, stateGridPoints, timeStepsPerYear, mesherEpsilon),
419421 discountCurve) {
420422 registerWith (solver_->model ());
421423 registerWith (discountCurve_);
@@ -446,10 +448,11 @@ NumericLgmNonstandardSwaptionEngine::NumericLgmNonstandardSwaptionEngine(
446448}
447449
448450NumericLgmNonstandardSwaptionEngine::NumericLgmNonstandardSwaptionEngine (
449- const boost::shared_ptr<LinearGaussMarkovModel>& model, const Real maxTime, const Size stateGridPoints,
450- const Size timeStepsPerYear, const Real mesherEpsilon, const Handle<YieldTermStructure>& discountCurve)
451+ const boost::shared_ptr<LinearGaussMarkovModel>& model, const Real maxTime, const QuantLib::FdmSchemeDesc scheme,
452+ const Size stateGridPoints, const Size timeStepsPerYear, const Real mesherEpsilon,
453+ const Handle<YieldTermStructure>& discountCurve)
451454 : NumericLgmMultiLegOptionEngineBase(
452- boost::make_shared<LgmFdSolver>(model, maxTime, stateGridPoints, timeStepsPerYear, mesherEpsilon),
455+ boost::make_shared<LgmFdSolver>(model, maxTime, scheme, stateGridPoints, timeStepsPerYear, mesherEpsilon),
453456 discountCurve) {
454457 registerWith (solver_->model ());
455458 registerWith (discountCurve_);
0 commit comments