/src/main/java/net/finmath/fouriermethod/products/smile/EuropeanOptionSmileByCarrMadan.java
final RationalFunctionInterpolation interpolation = new RationalFunctionInterpolation( strikeVector, intMethod, extMethod) ;
final RationalFunctionInterpolation interpolation = new RationalFunctionInterpolation ( strikeVector, optionPriceVector,intMethod, extMethod ) ;
final double[] optionPriceVector = new double[numberOfPoints]; for(int j = 0; j<numberOfPoints; j++) { logStrikeVector[j] = -upperBound+lambda*j; strikeVector[j] = Math.exp(logStrikeVector[j]); optionPriceVector[j] = (transformedVector[j].multiply(Math.exp(-lineOfIntegration * logStrikeVector[j]))).getReal()/Math.PI; } <extra_id_0> final Complex minusI = new Complex(0,-1); final double residueTerm = (modelCF.apply(minusI)).getReal(); final Function<Double, Double> strikeToPrice = new Function<Double, Double>(){ @Override public Double apply(final Double t) { return residueTerm + interpolation.getValue(t);