Average loop length: Difference between revisions
→{{header|PicoLisp}}
(→{{header|Wren}}: Library name change.) |
|||
Line 1,558:
20 5.2955 5.2936 (0.037%)
</pre>
=={{header|Phixmonti}}==
{{trans|Phix}}
<lang Phixmonti>include ..\Utilitys.pmt
20 var MAX
100000 var ITER
def factorial 1 swap for * endfor enddef
def expected /# n -- n #/
>ps
0
tps for var i
tps factorial tps i power / tps i - factorial / +
endfor
ps> drop
enddef
def condition over over bitand not enddef
def test /# n -- n #/
0 >ps
ITER for var i
0 1
condition while
ps> 1 + >ps
bitor
over rand * 1 + int 1 - 2 swap power
condition endwhile
drop drop
endfor
drop ps> ITER /
enddef
def printAll len for get print 9 tochar print endfor enddef
( "n" "avg." "exp." "(error%)" ) printAll drop nl
( "==" "======" "======" "========" ) printAll drop nl
MAX for var n
n test
n expected
n rot rot over over / 1 swap - abs 100 * 4 tolist printAll drop nl
endfor</lang>
{{out}}
<pre>n avg. exp. (error%)
== ====== ====== ========
1 1 1 0
2 1.50119 1.5 0.0793333
3 1.89076 1.88889 0.0990588
4 2.22164 2.21875 0.130254
5 2.50989 2.5104 0.0203155
6 2.78108 2.77469 0.230247
7 3.02431 3.01814 0.204474
8 3.24594 3.24502 0.0284126
9 3.46167 3.45832 0.096991
10 3.66691 3.66022 0.182894
11 3.84558 3.85237 0.176308
12 4.03174 4.03607 0.107374
13 4.21113 4.21235 0.0289129
14 4.37294 4.38203 0.207425
15 4.54199 4.54581 0.0839738
16 4.69651 4.70426 0.164707
17 4.8463 4.85787 0.238187
18 5.01786 5.00706 0.215633
19 5.15783 5.1522 0.109348
20 5.29575 5.29358 0.0409064
=== Press any key to exit ===</pre>
=={{header|PicoLisp}}==
|