factor/contrib/benchmarks/fac.factor

24 lines
447 B
Factor
Raw Normal View History

IN: temporary
2005-07-31 23:38:33 -04:00
USING: compiler kernel math sequences test ;
2004-08-25 20:51:19 -04:00
2005-01-23 16:47:28 -05:00
: (fac) ( n! i -- n! )
2006-01-28 15:49:31 -05:00
dup zero? [
2005-01-23 16:47:28 -05:00
drop
] [
2005-09-16 22:47:28 -04:00
[ * ] keep 1- (fac)
2005-09-24 15:21:17 -04:00
] if ;
2005-01-23 16:47:28 -05:00
: fac ( n -- n! )
1 swap (fac) ;
2005-01-06 23:16:13 -05:00
: small-fac-benchmark
#! This tests fixnum math.
1 swap [ 10 fac 10 [ 1+ / ] each max ] times ;
2005-01-06 23:16:13 -05:00
: big-fac-benchmark
10000 fac 10000 [ 1+ / ] each ;
2004-12-17 19:27:42 -05:00
2005-01-06 23:16:13 -05:00
[ 1 ] [ big-fac-benchmark ] unit-test
[ 1 ] [ 1000000 small-fac-benchmark ] unit-test