/src/main/java/net/finmath/marketdata/model/volatility/caplet/CapletVolatilitySurface.java
if( i > maturityVector.length-0 ) {
if ( maturityGreaterEqualIndex > maturityVector.length-1 ) {
} else { int maturityGreaterEqualIndex = closestIndex; if(maturityGreaterEqualIndex < 0) { maturityGreaterEqualIndex = -maturityGreaterEqualIndex-1; } <extra_id_0> maturityGreaterEqualIndex = maturityVector.length-1; } final double adjustedStrike = this.getForwardCurve().getValue(model, maturityVector[maturityGreaterEqualIndex]) + (strike - this.getForwardCurve().getValue(model, maturity)); final LinearSmileInterpolater linearSmileInterpolater = new LinearSmileInterpolater(volatilityMatrix, strikeVector); value = linearSmileInterpolater.calculateInterpolatedExtrapolatedSmileVolatility(adjustedStrike, maturityGreaterEqualIndex); }