return new Function1D<HestonModelData, double[]>() {
@SuppressWarnings("synthetic-access")
@Override
public double[] evaluate(final HestonModelData x) {
final MartingaleCharacteristicExponent ce = new HestonCharacteristicExponent(x);
//TODO calculations relating to the FFT setup are made each call, even though they will be very similar (depends on Characteristic
// Exponent). Maybe worth calculating a typical setup, outside of this function
final double[][] strikeNPrice = FFT_PRICER.price(forward, 1.0, timeToExpiry, true, ce, lowestStrike, highestStrike, n, _limitSigma, _alpha, _limitTolerance);
final int m = strikeNPrice.length;
final double[] k = new double[m];