Verify distribution uniformity/Naive: Difference between revisions

(Updated D code)
Line 533:
 
distribution potentially skewed for 0: expected result around 50000, got 95040</pre>
 
=={{header|Mathematica}}==
<lang Mathematica>SetAttributes[CheckDistribution, HoldFirst]
CheckDistribution[function_,number_,delta_] :=(Print["Expected: ", N[number/7], ", Generated :",
Transpose[Tally[Table[function, {number}]]][[2]] // Sort]; If[(Max[#]-Min[#])&
[Transpose[Tally[Table[function, {number}]]][[2]]] < delta*number/700, "Flat", "Skewed"])</lang>
 
Example usage:
<pre>CheckDistribution[RandomInteger[{1, 7}], 10000, 5]
 
->Expected: 1428.57, Generated :{1372,1420,1429,1431,1433,1450,1465}
->"Skewed"
 
CheckDistribution[RandomInteger[{1, 7}], 100000, 5]
 
->Expected: 14285.7, Generated :{14182,14186,14240,14242,14319,14407,14424}
->"Flat"</pre>
 
=={{header|OCaml}}==