QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Macros
piecewisefunction.hpp File Reference

utility macro for piecewise functions More...

#include <ql/qldefines.hpp>
#include <algorithm>

Go to the source code of this file.

Macros

#define QL_PIECEWISE_FUNCTION(X, Y, x)
 

Detailed Description

utility macro for piecewise functions

Definition in file piecewisefunction.hpp.

Macro Definition Documentation

◆ QL_PIECEWISE_FUNCTION

#define QL_PIECEWISE_FUNCTION (   X,
  Y,
 
)
Value:
Y[std::min<std::size_t>( \
std::upper_bound(X.begin(), X.end(), x) - X.begin(), Y.size() - 1)]

This defines a piecewise constant function which is RCLL and takes the values Y[0], Y[1], ... Y[n] on the intervals (-\infty, X[0]), [ X[1], X[2] ), ... , [ X[n-1], \infty) Normally Y.size() should be X.size() + 1. If more values for Y are given, they are ignored. If less values are given the last given value is kept the same for the remaining intervals. If X.size() is 0 a constant function taking the value Y[0] is evaluated.

Warning:
If Y.size() is 0, an invalid access occurs. This condition is not checked for performance reasons.

Definition at line 43 of file piecewisefunction.hpp.