public static NegatedDistribution[] NegateDistributions(IContinuousDistribution[] distributions, double[] lowerBounds, double[] upperBounds) { NegatedDistribution[] result = new NegatedDistribution[distributions.Length]; for (int i = 0; i < distributions.Length; i++) { result[i] = new NegatedDistribution(distributions[i], lowerBounds[i], upperBounds[i]); } return(result); }
public static IDistributionWrapper[] NegateNormalDistributions(Normal[] distributions) { var result = new IDistributionWrapper[distributions.Length]; double epsilon = Math.Pow(2, -52); for (int i = 0; i < distributions.Length; i++) { result[i] = new NegatedDistribution(distributions[i], distributions[i].InverseCumulativeDistribution(epsilon), distributions[i].InverseCumulativeDistribution(1 - epsilon)); //-distributions[i].Mean, distributions[i].StdDev, distributions[i].RandomSource); } return(result); }