benchmark.fib7: adding matrix fibonacci benchmark.
parent
5a99bbaf1d
commit
6f5efb83f2
|
@ -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
|
Loading…
Reference in New Issue