22#include <ql/methods/finitedifferences/operators/fdmlinearoplayout.hpp>
23#include <ql/methods/finitedifferences/stepconditions/fdmamericanstepcondition.hpp>
29 ext::shared_ptr<FdmMesher> mesher, ext::shared_ptr<FdmInnerValueCalculator> calculator)
30 : mesher_(
std::move(mesher)), calculator_(
std::move(calculator)) {}
34 "inconsistent array dimensions");
36 for (
const auto& iter : *
mesher_->layout()) {
38 if (innerValue > a[iter.index()]) {
39 a[iter.index()] = innerValue;
1-D array used in linear algebra.
Size size() const
dimension of the array
FdmAmericanStepCondition(ext::shared_ptr< FdmMesher > mesher, ext::shared_ptr< FdmInnerValueCalculator > calculator)
const ext::shared_ptr< FdmMesher > mesher_
const ext::shared_ptr< FdmInnerValueCalculator > calculator_
void applyTo(Array &a, Time) const override
Real Time
continuous quantity with 1-year units