Unbias a random generator: Difference between revisions

Updated D entry
(Updated D entry)
Line 304:
void main() {
alias reduce!q{a + b} sum; /**/
enum int M = 20_000_000500_000;
foreach (n; 3 .. 7) {
immutable a1 = sum(0, iota(M).map!(_=> biased(n))(iota(M))),
a2 = sum(0, iota(M).map!(_=> unbiased(n))(iota(M)));
writefln("%d: %2.3f%% %2.3f%%", n,
100.0 * a1 / M, 100.0 * a2 / M);
}
}</lang>
{{out}}
Output:
<pre>3: 33.352441% 5049.002964%
4: 2524.006953% 49.989910%
5: 19.995958% 49.989987%
6: 16.679660% 5049.007890%</pre>
 
=={{header|Euphoria}}==