factor/library/test/benchmark/vectors.factor

24 lines
651 B
Factor
Raw Normal View History

2004-10-27 21:21:31 -04:00
USE: vectors
USE: kernel
2004-10-27 21:21:31 -04:00
USE: math
USE: compiler
USE: test
! http://inferno.bell-labs.com/cm/cs/who/bwk/interps/pap.html
: fill-vector ( n -- vector )
2005-01-23 16:47:28 -05:00
dup <vector> swap [ [ dup pick set-vector-nth ] keep ] repeat ; compiled
2004-10-27 21:21:31 -04:00
: copy-elt ( vec-y vec-x n -- )
#! Copy nth element from vec-x to vec-y.
2004-12-17 19:27:42 -05:00
rot >r tuck >r vector-nth r> r> set-vector-nth ; compiled
2004-10-27 21:21:31 -04:00
: copy-vector ( vec-y vec-x n -- )
#! Copy first n-1 elements from vec-x to vec-y.
2005-01-23 16:47:28 -05:00
[ [ >r 2dup r> copy-elt ] keep ] repeat 2drop ; compiled
2004-10-27 21:21:31 -04:00
: vector-benchmark ( n -- )
2004-12-17 19:27:42 -05:00
0 <vector> over fill-vector rot copy-vector ; compiled
2004-10-27 21:21:31 -04:00
[ ] [ 4000000 vector-benchmark ] unit-test