23#ifndef quantlib_abcd_math_function_hpp
24#define quantlib_abcd_math_function_hpp
26#include <ql/types.hpp>
27#include <ql/errors.hpp>
118 return t<0 ? 0.0 :
Real((
a_ +
b_*t)*std::exp(-
c_*t) +
d_);
132 if (
b_==0.0 ||
a_<=0.0)
static void validate(Real a, Real b, Real c, Real d)
Real definiteIntegral(Time t1, Time t2) const
const std::vector< Real > & derivativeCoefficients()
std::vector< Real > definiteIntegralCoefficients(Time t, Time t2) const
Time maximumLocation() const
time at which the function reaches maximum (if any)
Real derivative(Time t) const
const std::vector< Real > & coefficients()
Real maximumValue() const
maximum value of the function
std::vector< Real > abcd_
Real longTermValue() const
function value at time +inf:
QL_DEPRECATED typedef Time argument_type
std::vector< Real > dabcd_
QL_DEPRECATED typedef Real result_type
Real operator()(Time t) const
function value at time t:
Real primitive(Time t) const
std::vector< Real > definiteDerivativeCoefficients(Time t, Time t2) const
Real Time
continuous quantity with 1-year units