Unbias a random generator: Difference between revisions
Added Quackery.
(Updated to work with Nim 1.4: replaced "math" with "random", removed "newSeqWith", added missing parameter types, replaced "random" with "rand". Also changed output using "strformat".) |
(Added Quackery.) |
||
Line 1,641:
[3,] 5 0.21 0.49
[4,] 6 0.16 0.51</pre>
=={{header|Quackery}}==
<lang Quackery> $ "bigrat.qky" loadfile
[ random 0 = ] is randN ( n --> n )
[ dup randN
over randN
2dup = iff
2drop again
drop nip ] is unbias ( n --> n )
[ dup echo say " biased --> "
0
1000000 times
[ over randN if 1+ ]
nip 1000000 6 point$ echo$ ] is showbias ( n --> )
[ dup echo say " unbiased --> "
0
1000000 times
[ over unbias if 1+ ]
nip 1000000 6 point$ echo$ ] is showunbias ( n --> )
' [ 3 4 5 6 ]
witheach
[ dup cr
showbias cr
showunbias cr ] </lang>
{{out}}
<pre>3 biased --> 0.333225
3 unbiased --> 0.500147
4 biased --> 0.249658
4 unbiased --> 0.499851
5 biased --> 0.200169
5 unbiased --> 0.500073
6 biased --> 0.166804
6 unbiased --> 0.499045
</pre>
=={{header|Racket}}==
|