Annotation of gforth/siev.fs, revision 1.1
1.1 ! anton 1: \ #! /usr/stud/paysan/bin/forth
! 2:
! 3: DECIMAL
! 4: \ : SECS TIME&DATE SWAP 60 * + SWAP 3600 * + NIP NIP NIP ;
! 5: CREATE FLAGS 8190 ALLOT
! 6: variable eflag
! 7: \ FLAGS 8190 + CONSTANT EFLAG
! 8:
! 9: : PRIMES ( -- n ) FLAGS 8190 1 FILL 0 3 EFLAG @ FLAGS
! 10: DO I C@
! 11: IF DUP I + DUP EFLAG @ <
! 12: IF EFLAG @ SWAP
! 13: DO 0 I C! DUP +LOOP
! 14: ELSE DROP THEN SWAP 1+ SWAP
! 15: THEN 2 +
! 16: LOOP DROP ;
! 17:
! 18: : BENCHMARK 0 1000 0 DO PRIMES NIP LOOP ;
! 19: \ SECS BENCHMARK . SECS SWAP - CR . .( secs)
! 20: : main
! 21: flags 8190 + eflag !
! 22: benchmark ( . ) drop
! 23: ;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>