/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionGeneralizedAnalyticApproximation.java
for( int liborPeriodIndex = swapPeriodIndex; liborPeriodIndex < swapEndIndex; liborPeriodIndex++) {
for ( int liborPeriodIndex = swapStartIndex; liborPeriodIndex < swapEndIndex; liborPeriodIndex++ ) {
final double swapEnd = swapTenor[swapTenor.length-1]; final int swapStartIndex = liborPeriodDiscretization.getTimeIndex(swapStart); final int swapEndIndex = liborPeriodDiscretization.getTimeIndex(swapEnd); final double[] forwardRates = new double[swapEndIndex-swapStartIndex+1]; final double[] discountFactors = new double[swapEndIndex-swapStartIndex+1]; discountFactors[0] = discountCurve.getDiscountFactor(model, swapStart); <extra_id_0> final double libor = forwardCurve.getForward(model, liborPeriodDiscretization.getTime(liborPeriodIndex)); forwardRates[liborPeriodIndex-swapStartIndex] = libor; discountFactors[liborPeriodIndex-swapStartIndex+1] = discountCurve.getDiscountFactor(model, liborPeriodDiscretization.getTime(liborPeriodIndex+1)); } final double[] swapAnnuities = new double[swapTenor.length-1]; double swapAnnuity = 0.0;