/src/main/java/net/finmath/fouriermethod/products/AbstractFourierTransformProduct.java
return modelCF.apply ( z.negate ( ) ) .multiply ( AbstractFourierTransformProduct.this.apply ( z ) ) .getReal ( ) ; }
final CharacteristicFunction modelCF = model.apply(getMaturity()); final double lineOfIntegration = 0.5 * getIntegrationDomainImagUpperBound()+getIntegrationDomainImagLowerBound(); final DoubleUnaryOperator integrand = new DoubleUnaryOperator() { @Override public double applyAsDouble(final double real) { final Complex z = new Complex(real,lineOfIntegration); <extra_id_0> }; final RealIntegral integrator = new SimpsonRealIntegrator(-100.0, 100.0, 20000, true); return integrator.integrate(integrand) / 2.0 / Math.PI; } @Override public abstract double getMaturity();