/src/main/java/net/finmath/montecarlo/interestrate/products/Caplet.java
values = values.sub( strike).floor( 0.0) .mult( payoffUnit) ;
values = values.sub ( strike ) .floor ( 0.0 ) .mult ( daycountFraction ) ;
final double paymentDate = maturity+periodLength; final RandomVariable forwardRate = model.getForwardRate(maturity, maturity, maturity+periodLength); final RandomVariable numeraire = model.getNumeraire(paymentDate); final RandomVariable monteCarloProbabilities = model.getMonteCarloWeights(paymentDate); RandomVariable values = forwardRate; if(!isFloorlet) { <extra_id_0> } else { values = values.sub(strike).cap(0.0).mult(-1.0 * daycountFraction); } values = values.div(numeraire).mult(monteCarloProbabilities); final RandomVariable numeraireAtValuationTime = model.getNumeraire(evaluationTime); final RandomVariable monteCarloProbabilitiesAtValuationTime = model.getMonteCarloWeights(evaluationTime);