public static double[] Evaluate(float[] distribution, int iterations = 100000) { float[] results = distribution.Select(i => 0f).ToArray(); ElasticDistribution eval = new ElasticDistribution(distribution); double ii = 0; for (; ii < iterations; ii++) { var ccv = eval.Evaluate(Guid.NewGuid().GetBigHashCode()); results[ccv] = results.ElementAt(ccv) + 1; } return results.Select(i => ((i / ii) * 100f)).ToArray(); }
public static double[] Evaluate(float[] distribution, int iterations = 100000) { float[] results = distribution.Select(i => 0f).ToArray(); ElasticDistribution eval = new ElasticDistribution(distribution); double ii = 0; for (; ii < iterations; ii++) { var ccv = eval.Evaluate(Guid.NewGuid().GetBigHashCode()); results[ccv] = results.ElementAt(ccv) + 1; } return(results.Select(i => ((i / ii) * 100f)).ToArray()); }