QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <convexmonotoneinterpolation.hpp>
Public Types | |
enum | SectionType { EverywhereConstant , ConstantGradient , QuadraticMinimum , QuadraticMaximum } |
Public Member Functions | |
ConvexMonotoneImpl (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, Real quadraticity, Real monotonicity, bool forcePositive, bool constantLastPeriod, const helper_map &preExistingHelpers) | |
void | update () override |
Real | value (Real x) const override |
Real | primitive (Real x) const override |
Real | derivative (Real) const override |
Real | secondDerivative (Real) const override |
helper_map | getExistingHelpers () |
Public Member Functions inherited from Interpolation::templateImpl< I1, I2 > | |
templateImpl (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, const int requiredPoints=2) | |
Real | xMin () const override |
Real | xMax () const override |
std::vector< Real > | xValues () const override |
std::vector< Real > | yValues () const override |
bool | isInRange (Real x) const override |
Public Member Functions inherited from Interpolation::Impl | |
virtual | ~Impl ()=default |
virtual void | update ()=0 |
virtual Real | xMin () const =0 |
virtual Real | xMax () const =0 |
virtual std::vector< Real > | xValues () const =0 |
virtual std::vector< Real > | yValues () const =0 |
virtual bool | isInRange (Real) const =0 |
virtual Real | value (Real) const =0 |
virtual Real | primitive (Real) const =0 |
virtual Real | derivative (Real) const =0 |
virtual Real | secondDerivative (Real) const =0 |
Private Types | |
typedef std::map< Real, ext::shared_ptr< SectionHelper > > | helper_map |
Private Attributes | |
helper_map | sectionHelpers_ |
helper_map | preSectionHelpers_ |
ext::shared_ptr< SectionHelper > | extrapolationHelper_ |
bool | forcePositive_ |
bool | constantLastPeriod_ |
Real | quadraticity_ |
Real | monotonicity_ |
Size | length_ |
Additional Inherited Members | |
Protected Member Functions inherited from Interpolation::templateImpl< I1, I2 > | |
Size | locate (Real x) const |
Protected Attributes inherited from Interpolation::templateImpl< I1, I2 > | |
I1 | xBegin_ |
I1 | xEnd_ |
I2 | yBegin_ |
Definition at line 174 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 176 of file convexmonotoneinterpolation.hpp.
enum SectionType |
Enumerator | |
---|---|
EverywhereConstant | |
ConstantGradient | |
QuadraticMinimum | |
QuadraticMaximum |
Definition at line 178 of file convexmonotoneinterpolation.hpp.
ConvexMonotoneImpl | ( | const I1 & | xBegin, |
const I1 & | xEnd, | ||
const I2 & | yBegin, | ||
Real | quadraticity, | ||
Real | monotonicity, | ||
bool | forcePositive, | ||
bool | constantLastPeriod, | ||
const helper_map & | preExistingHelpers | ||
) |
Definition at line 185 of file convexmonotoneinterpolation.hpp.
|
overridevirtual |
Implements Interpolation::Impl.
Definition at line 588 of file convexmonotoneinterpolation.hpp.
Implements Interpolation::Impl.
Definition at line 833 of file convexmonotoneinterpolation.hpp.
Implements Interpolation::Impl.
Definition at line 842 of file convexmonotoneinterpolation.hpp.
Implements Interpolation::Impl.
Definition at line 216 of file convexmonotoneinterpolation.hpp.
Implements Interpolation::Impl.
Definition at line 219 of file convexmonotoneinterpolation.hpp.
helper_map getExistingHelpers | ( | ) |
Definition at line 224 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 231 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 232 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 233 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 234 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 234 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 235 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 236 of file convexmonotoneinterpolation.hpp.
|
private |
Definition at line 237 of file convexmonotoneinterpolation.hpp.