benchmark.fib7: adding matrix fibonacci benchmark.

db4
John Benediktsson 2013-03-26 11:47:52 -07:00
parent 5a99bbaf1d
commit 6f5efb83f2
1 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,23 @@
USING: kernel locals math math.parser sequences ;
IN: benchmark.fib7
:: matrix-fib ( m -- n )
m 0 >= [ m throw ] unless
m 2 >base [ CHAR: 1 = ] { } map-as :> bits
1 :> a! 0 :> b! 1 :> c!
bits [
[
a c + b *
b sq c sq +
] [
a sq b sq +
a c + b *
] if b! a! a b + c!
] each b ;
: fib7-benchmark ( -- )
100 [
100,000 matrix-fib log2 69423 assert=
] times ;
MAIN: fib7-benchmark