y[i][looppath] += x[j][looppath] * covCD[i][j];
}
}
}
final Double[][][] pD = pathGeneratorDiscount(pDI, y, h, h2, gamma);
pv += instrument.accept(MCC, new MonteCarloDiscountFactorDataBundle(pD, impactAmount)) * nbPath2[loopblock];
}
pv *= pDN / getNbPath(); // Multiply by the numeraire.
return MultipleCurrencyAmount.of(ccy, pv);
}