home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / lb202win.exe / LB202W.EXE / SIEVE2.BAS < prev    next >
Encoding:
BASIC Source File  |  2000-02-24  |  751 b   |  29 lines

  1.  
  2.     'sieve2.bas
  3.     'Notice that arrays are globally visible to functions.
  4.     'The sieve() function uses the flags() array.
  5.     'This is a Sieve benchmark adapted from BYTE 1985
  6.     ' May, page 286
  7.  
  8.     size = 7000
  9.     dim flags(7001)
  10.     print "Start one iteration: "; time$()
  11.     print sieve(size); " primes found."
  12.     print "End of iteration: "; time$()
  13.     end
  14.  
  15.     function sieve(size)
  16.         for i = 0 to size
  17.             if flags(i) = 0 then
  18.                 prime = i + i + 3
  19.                 k = i + prime
  20.                 while k <= size
  21.                     flags(k) = 1
  22.                     k = k + prime
  23.                 wend
  24.                 sieve = sieve + 1
  25.             end if
  26.         next i
  27.     end function
  28.  
  29.