Diff for /gforth/sieve.fs between versions 1.1 and 1.3

version 1.1, 1994/02/11 16:30:47 version 1.3, 1994/10/18 15:51:22
Line 1 Line 1
 #! /usr/stud/paysan/bin/forth  #! /usr/stud/paysan/bin/forth
   
 $1FFE Constant 8190  DECIMAL
 Create flags 8190 allot  : SECS TIME&DATE  2DROP DROP  60 * + 60 * + ;
 flags 8190 + AConstant eflag  CREATE FLAGS 8190 ALLOT
   FLAGS 8190 + CONSTANT EFLAG
   
 : PRIMES  ( -- n )  FLAGS 8190 1 FILL  0 3  EFLAG FLAGS  : PRIMES  ( -- n )  FLAGS 8190 1 FILL  0 3  EFLAG FLAGS
   DO   I C@    DO   I C@
        IF  DUP I + DUP EFLAG <         IF  DUP I + DUP EFLAG <
            IF    EFLAG SWAP             IF    EFLAG SWAP
                  DO  0 I C! DUP  +LOOP                   DO  0 I C! DUP  +LOOP
            ELSE  DROP  THEN  >R 1+ R>             ELSE  DROP  THEN  SWAP 1+ SWAP
            THEN  2 +             THEN  2 +
        LOOP  DROP ;         LOOP  DROP ;
   
 : BENCHMARK  0 &100 0 DO  PRIMES NIP  LOOP ;  : BENCHMARK  0 100 0 DO  PRIMES NIP  LOOP ;
 &10 BASE !  SECS BENCHMARK . SECS SWAP - CR . .( secs)
 BENCHMARK .  
 BYE  
 \ HPPA/720, 50 MHz: user 3.90s  \ HPPA/720, 50 MHz: user 3.90s

Removed from v.1.1  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>