26#ifndef quantlib_fdm_inner_value_calculator_hpp
27#define quantlib_fdm_inner_value_calculator_hpp
40 class FdmLinearOpIterator;
55 ext::shared_ptr<FdmMesher> mesher,
57 ext::function<
Real(
Real)> gridMapping = [](
Real x){
return x; });
76 const ext::shared_ptr<FdmMesher>& mesher,
83 ext::shared_ptr<FdmMesher> mesher);
89 const ext::shared_ptr<BasketPayoff>
payoff_;
Real avgInnerValue(const FdmLinearOpIterator &iter, Time t) override
const ext::shared_ptr< FdmMesher > mesher_
std::vector< Real > avgInnerValues_
Real avgInnerValueCalc(const FdmLinearOpIterator &iter, Time t)
Real innerValue(const FdmLinearOpIterator &iter, Time) override
const ext::function< Real(Real)> gridMapping_
const ext::shared_ptr< Payoff > payoff_
virtual Real avgInnerValue(const FdmLinearOpIterator &iter, Time t)=0
virtual Real innerValue(const FdmLinearOpIterator &iter, Time t)=0
virtual ~FdmInnerValueCalculator()=default
Real avgInnerValue(const FdmLinearOpIterator &iter, Time) override
const ext::shared_ptr< BasketPayoff > payoff_
const ext::shared_ptr< FdmMesher > mesher_
Real innerValue(const FdmLinearOpIterator &iter, Time) override
Real innerValue(const FdmLinearOpIterator &, Time) override
Real avgInnerValue(const FdmLinearOpIterator &, Time) override
Maps function, bind and cref to either the boost or std implementation.
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
ext::shared_ptr< QuantLib::Payoff > payoff
Maps shared_ptr to either the boost or std implementation.