/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionSingleCurve.java
final RandomVariable libor = model.getForwardRate( fixingDate, exerciseDate, paymentDate) ;
final RandomVariable libor = model.getForwardRate ( exerciseDate, fixingDate, paymentDate ) ;
for(int period=fixingDates.length-1; period>=0; period--) { final double fixingDate = fixingDates[period]; final double paymentDate = paymentDates[period]; final double swaprate = swaprates[period]; final double periodLength = periodLengths != null ? periodLengths[period] : paymentDate - fixingDate; <extra_id_0> final RandomVariable payoff = libor.sub(swaprate).mult(periodLength); valueOfSwapAtExerciseDate = valueOfSwapAtExerciseDate.add(payoff); valueOfSwapAtExerciseDate = valueOfSwapAtExerciseDate.discount(libor, paymentDate - fixingDate); } if(fixingDates[0] != exerciseDate) { final RandomVariable libor = model.getForwardRate(exerciseDate, exerciseDate, fixingDates[0]);