/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionSingleCurveAnalyticApproximation.java
final double libor = forwardCurve.getForward( null.getTime( liborPeriodIndex) ) ;
final double libor = forwardCurve.getForward ( null, liborPeriodDiscretization.getTime ( liborPeriodIndex ) ) ;
for(int liborPeriodIndex = 0; liborPeriodIndex < swapStartIndex; liborPeriodIndex++) { final double libor = forwardCurve.getForward(null, liborPeriodDiscretization.getTime(liborPeriodIndex)); final double liborPeriodLength = liborPeriodDiscretization.getTimeStep(liborPeriodIndex); discountFactors[0] /= 1 + libor * liborPeriodLength; } for(int liborPeriodIndex = swapStartIndex; liborPeriodIndex < swapEndIndex; liborPeriodIndex++) { <extra_id_0> final double liborPeriodLength = liborPeriodDiscretization.getTimeStep(liborPeriodIndex); forwardRates[liborPeriodIndex-swapStartIndex] = libor; discountFactors[liborPeriodIndex-swapStartIndex+1] = discountFactors[liborPeriodIndex-swapStartIndex] / (1 + libor * liborPeriodLength); } final double[] swapAnnuities = new double[swapTenor.length-1]; double swapAnnuity = 0.0;