25#ifndef quantlib_fdm_exp_ext_ou_inner_value_calculator_hpp
26#define quantlib_fdm_exp_ext_ou_inner_value_calculator_hpp
28#include <ql/methods/finitedifferences/meshers/fdmmesher.hpp>
29#include <ql/methods/finitedifferences/utilities/fdminnervaluecalculator.hpp>
30#include <ql/payoff.hpp>
37 typedef std::vector<std::pair<Time, Real> >
Shape;
40 ext::shared_ptr<FdmMesher> mesher,
41 ext::shared_ptr<Shape> shape = ext::shared_ptr<Shape>(),
52 std::pair<Time, Real>(t-std::sqrt(
QL_EPSILON), 0.0))->second;
55 return (*
payoff_)(std::exp(f + u));
Real innerValue(const FdmLinearOpIterator &iter, Time t) override
FdmExpExtOUInnerValueCalculator(ext::shared_ptr< Payoff > payoff, ext::shared_ptr< FdmMesher > mesher, ext::shared_ptr< Shape > shape=ext::shared_ptr< Shape >(), Size direction=0)
std::vector< std::pair< Time, Real > > Shape
Real avgInnerValue(const FdmLinearOpIterator &iter, Time t) override
const ext::shared_ptr< FdmMesher > mesher_
const ext::shared_ptr< Shape > shape_
const ext::shared_ptr< Payoff > payoff_
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container