This struct provides a namespace for a suite of pure functions that compute values based on dates according to the ICMA Actual/Actual day-count convention.
| double bbldc::PeriodIcmaActualActual::yearsDiff |
( |
const bdlt::Date & |
beginDate, |
|
|
const bdlt::Date & |
endDate, |
|
|
const std::vector< bdlt::Date > & |
periodDate, |
|
|
double |
periodYearDiff |
|
) |
| |
|
inlinestatic |
Return the (signed fractional) number of years between the specified beginDate and endDate according to the ICMA Actual/Actual day-count convention with periods starting on the specified range [ periodDateBegin, periodDateEnd ) values and each period having a duration of the specified periodYearDiff years (e.g., 0.25 for quarterly periods). If beginDate <= endDate, then the result is non-negative. The behavior is undefined unless 2 <= periodDateEnd - periodDateBegin, the values contained in the range are unique and sorted from minimum to maximum, *periodDateBegin <= beginDate <= *(periodDateEnd - 1), and *periodDateBegin <= endDate <= *(periodDateEnd - 1). Note that reversing the order of beginDate and endDate negates the result; specifically, |yearsDiff(b, e, pd, pyd) + yearsDiff(e, b, pd, pyd)| <= 1.0e-15 for all dates b and e, periods pd, and year fraction per period pyd.