import umontreal.iro.lecuyer.rng.*; import umontreal.iro.lecuyer.probdist.NormalDist; import umontreal.iro.lecuyer.stat.Tally; import umontreal.iro.lecuyer.util.*; public class AsianCRN extends Asian { // Array zeta[0..s+1] must contain zeta[0]=0.0, plus the s observation times. public AsianCRN (double r, double sigma, double strike, double s0, int s, double[] zeta) { super (r, sigma, strike, s0, s, zeta); } public void simulateRunsDiff (int n, double delta, RandomStream stream, Tally statDiffIRN, Tally statDiffCRN) { statDiffIRN.init(); statDiffCRN.init(); stream.resetStartStream(); double logS0 = logS[0]; double s0 = Math.exp (logS0); double s1 = s0 + delta; double logS1 = Math.log (s1); for (int i=0; i