]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/fib6/fib6.factor
Fixing everything for mandatory stack effects
[factor.git] / extra / benchmark / fib6 / fib6.factor
1 IN: benchmark.fib6\r
2 USING: math kernel alien ;\r
3 \r
4 : fib ( x -- y )\r
5     "int" { "int" } "cdecl" [\r
6         dup 1 <= [ drop 1 ] [\r
7             1- dup fib swap 1- fib +\r
8         ] if\r
9     ] alien-callback\r
10     "int" { "int" } "cdecl" alien-indirect ;\r
11 \r
12 : fib-main ( -- ) 25 fib drop ;\r
13 \r
14 MAIN: fib-main\r