/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionSimple.java
if( valueUnit == null) {
else if ( valueUnit == ValueUnit.VOLATILITYNORMAL ) {
final double strikeSwaprate = swaprate; final double swapAnnuity = discountCurve != null ? SwapAnnuity.getSwapAnnuity(tenor, discountCurve) : SwapAnnuity.getSwapAnnuity(tenor, forwardCurve); if(valueUnit == ValueUnit.VOLATILITYLOGNORMAL || valueUnit == ValueUnit.VOLATILITY) { final double volatility = AnalyticFormulas.blackScholesOptionImpliedVolatility(parSwaprate, optionMaturity, strikeSwaprate, swapAnnuity, value.getAverage()); return model.getRandomVariableForConstant(volatility); } <extra_id_0> final double volatility = AnalyticFormulas.bachelierOptionImpliedVolatility(parSwaprate, optionMaturity, strikeSwaprate, swapAnnuity, value.getAverage()); return model.getRandomVariableForConstant(volatility); } else if(valueUnit == ValueUnit.INTEGRATEDVARIANCELOGNORMAL || valueUnit == ValueUnit.INTEGRATEDVARIANCE || valueUnit == ValueUnit.INTEGRATEDLOGNORMALVARIANCE) { final double volatility = AnalyticFormulas.blackScholesOptionImpliedVolatility(parSwaprate, optionMaturity, strikeSwaprate, swapAnnuity, value.getAverage()); return model.getRandomVariableForConstant(volatility * volatility * optionMaturity);