/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/BermudanOption.java
final RandomVariable underlyingAtExercise = model.getAssetValue( exerciseDate,0) ;final RandomVariable monteCarloWeights = model.getMonteCarloWeights( exerciseDate) ;
final RandomVariable monteCarloWeights = model.getMonteCarloWeights ( exerciseDate ) ;
{ final double exerciseDate = exerciseDates[exerciseDateIndex]; final double notional = notionals[exerciseDateIndex]; final double strike = strikes[exerciseDateIndex]; final RandomVariable underlyingAtExercise = model.getAssetValue(exerciseDate,0); final RandomVariable numeraireAtPayment = model.getNumeraire(exerciseDate); <extra_id_0> final RandomVariable valueOfPaymentsIfExercised = underlyingAtExercise.sub(strike).mult(notional).div(numeraireAtPayment).mult(monteCarloWeights); RandomVariable exerciseValue = null; RandomVariable exerciseCriteria = null; switch(exerciseMethod) { case ESTIMATE_COND_EXPECTATION: ArrayList<RandomVariable> basisFunctions;