From 6de585ea01d51c82807588b9cab17710bc326513 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Mon, 16 Sep 2024 10:23:06 +0200 Subject: [PATCH] Avoid interpolation if not needed --- ql/indexes/inflationindex.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ql/indexes/inflationindex.cpp b/ql/indexes/inflationindex.cpp index 2c4c16c18d..d1bee54991 100644 --- a/ql/indexes/inflationindex.cpp +++ b/ql/indexes/inflationindex.cpp @@ -262,7 +262,11 @@ namespace QuantLib { QL_REQUIRE(YY0 != Null(), "Missing " << name() << " fixing for " << periodStart); - if (interpolated()) { // NOT ratio, IS interpolated + if (!interpolated() || /* degenerate case */ fixingDate == periodStart) { + + return YY0; + + } else { Real dp = periodEnd + 1 - periodStart; Real dl = fixingDate - periodStart; @@ -271,10 +275,6 @@ namespace QuantLib { "Missing " << name() << " fixing for " << periodEnd+1); return YY0 + (YY1 - YY0) * dl / dp; - } else { // NOT ratio, NOT interpolated - - return YY0; - } } }