Random numbers: Difference between revisions

Updated to work with Nim 1.4: added "import random", used function "gauss", renamed TRunningStat as RunningStat, etc.
(Updated to work with Nim 1.4: added "import random", used function "gauss", renamed TRunningStat as RunningStat, etc.)
Line 1,619:
 
=={{header|Nim}}==
<lang nim>import mathrandom, strutilsstats, strformat
 
var rs: RunningStat
const precisn = 5
var rs: TRunningStat
 
proc normGauss: float {.inline.} = 1 + 0.76 * cos(2*PI*random(1.0)) * sqrt(-2*log10(random(1.0)))
 
randomize()
 
for j_ in 01..5:
for i_ in 01..1000: rs.push(gauss(1.0, 0.5))
echo &"mean: {rs.mean:.5f} stdDev: {rs.standardDeviation():5}"
rs.push(normGauss())
</lang>
echo("mean: ", $formatFloat(rs.mean,ffDecimal,precisn),
" stdDev: ", $formatFloat(rs.standardDeviation(),ffDecimal,precisn))</lang>
{{out}}
<pre>mean: 10.0170397376 stdDev: 0.50324493966
mean: 10.0118798525 stdDev: 0.50060496723
mean: 10.0021699095 stdDev: 0.49969499283
mean: 1.0033500033 stdDev: 0.50184506168
mean: 1.0012000520 stdDev: 0.49830504438</pre>
mean: 1.00217 stdDev: 0.49911</pre>
 
=={{header|Objeck}}==
Anonymous user