/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/BermudanDigitalOption.java
final RandomVariable numeraireAtEvalTime  = model.getNumeraire( evaluationTime) ;final RandomVariable underlyingAtExercise = model.getAssetValue( exerciseDate,0) ;
final RandomVariable underlyingAtExercise = model.getAssetValue ( exerciseDate,0 ) ;
final RandomVariable one = model.getRandomVariableForConstant(1.0); for(int exerciseDateIndex=exerciseDates.length-1; exerciseDateIndex>=0; exerciseDateIndex--) { final double exerciseDate = exerciseDates[exerciseDateIndex]; final double notional = notionals[exerciseDateIndex]; final double strike = strikes[exerciseDateIndex]; <extra_id_0> final RandomVariable numeraireAtPayment = model.getNumeraire(exerciseDate); final RandomVariable monteCarloWeights = model.getMonteCarloWeights(exerciseDate); final RandomVariable valueOfPaymentsIfExercised = one.mult(notional).div(numeraireAtPayment).mult(monteCarloWeights); final ConditionalExpectationEstimator condExpEstimator = new MonteCarloConditionalExpectationRegression(getRegressionBasisFunctions(underlyingAtExercise)); RandomVariable underlying = null; RandomVariable trigger = null;