factor/extra/benchmark/fib6/fib6.factor

15 lines
319 B
Factor
Raw Normal View History

USING: math kernel alien alien.c-types ;
IN: benchmark.fib6
2008-03-01 15:23:41 -05:00
: fib ( x -- y )
2010-03-31 22:20:35 -04:00
int { int } cdecl [
2008-03-01 15:23:41 -05:00
dup 1 <= [ drop 1 ] [
2009-08-14 15:40:44 -04:00
1 - dup fib swap 1 - fib +
2008-03-01 15:23:41 -05:00
] if
] alien-callback
2010-03-31 22:20:35 -04:00
int { int } cdecl alien-indirect ;
2008-03-01 15:23:41 -05:00
: fib6-benchmark ( -- ) 32 fib drop ;
2008-03-01 15:23:41 -05:00
MAIN: fib6-benchmark