public static RayQuantities.Area Integrate(Func <RayQuantities.Length[], RayQuantities.Length> func, RayQuantities.Length[] a, RayQuantities.Length[] b, int samples) { var mc = new MonteCarloRayQuantities(a.Length, func); for (int i = 0; i < a.Length; i++) { mc.Range[i] = new RQRange(a[i], b[i]); } mc.Iterations = samples; mc.Compute(); return(mc.Area); }
public RayQuantities.Area CalcPi() { return(MonteCarloRayQuantities.Integrate(x => H(x[0], x[1]), from, to, N)); }
public RayQuantities.Area CalcPiRayQuantities() { return(MonteCarloRayQuantities.Integrate(x => RQH(x[0], x[1]), RQfrom, RQto, N)); }