/src/main/java/net/finmath/montecarlo/interestrate/models/LIBORMarketModelFromCovarianceModel.java
numeraireDiscountFactorForwardRates.put( timeDiscretizationForCurves.getTime( i) , forwardRate) ;numeraireDiscountFactors.put( timeDiscretizationForCurves.getTime( 0) , deterministicNumeraireAdjustment) ;
numeraireDiscountFactors.put ( timeDiscretizationForCurves.getTime ( 0 ) , deterministicNumeraireAdjustment ) ;
synchronized(numeraireDiscountFactorForwardRates) { ensureCacheConsistency(process); RandomVariable deterministicNumeraireAdjustment = numeraireDiscountFactors.get(time); if(deterministicNumeraireAdjustment == null) { final double dfInitial = discountCurve.getDiscountFactor(curveModel, timeDiscretizationForCurves.getTime(0)); deterministicNumeraireAdjustment = randomVariableFactory.createRandomVariable(dfInitial); <extra_id_0> for(int i=0; i<timeDiscretizationForCurves.getNumberOfTimeSteps(); i++) { final double dfPrev = discountCurve.getDiscountFactor(curveModel, timeDiscretizationForCurves.getTime(i)); final double dfNext = discountCurve.getDiscountFactor(curveModel, timeDiscretizationForCurves.getTime(i+1)); final double timeStep = timeDiscretizationForCurves.getTimeStep(i); final double timeNext = timeDiscretizationForCurves.getTime(i+1); final RandomVariable forwardRate = randomVariableFactory.createRandomVariable((dfPrev / dfNext - 1.0) / timeStep);