home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / progmisc / euphor10.zip / SIEVE.BAS < prev    next >
BASIC Source File  |  1993-06-04  |  636b  |  38 lines

  1. ' PRIME SIEVE BENCHMARK
  2.  
  3. DEFINT A-Z
  4. DEFDBL T
  5.  
  6. 'Constants
  7. CONST ITERATIONS = 100
  8. CONST TRUE = -1
  9. CONST FALSE = NOT TRUE
  10. CONST SIZE = 8191
  11.  
  12. 'Global Variables
  13. DIM flags(SIZE)
  14.  
  15. t1 = TIMER
  16.  
  17. FOR iter = 1 TO ITERATIONS
  18.     count = 0
  19.     ' turn flags on (non-zero)
  20.     FOR f = 1 TO SIZE
  21.     flags(f) = TRUE
  22.     NEXT f
  23.     FOR i = 1 TO SIZE
  24.     IF flags(i) THEN
  25.         prime = i + i + 1
  26.         'PRINT prime;
  27.         FOR k = i + prime TO SIZE STEP prime
  28.         flags(k) = FALSE
  29.         NEXT k
  30.         count = count + 1
  31.     END IF
  32.     NEXT i
  33. NEXT iter
  34. PRINT count;" primes"
  35. PRINT ITERATIONS;" ITERATIONS IN ";TIMER - t1; " SECONDS"
  36. END
  37.  
  38.