home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / languages / smalltalk / _smalltalk / tests / prime4 < prev    next >
Encoding:
Text File  |  1987-12-30  |  639 b   |  29 lines

  1. Class Main
  2. [
  3.      main | x gen |
  4.           gen <- Primes new.
  5.           (smalltalk time: [x <- gen first.
  6.           [x < 300]
  7.                whileTrue: [ x print. x <- gen next] ] ) print
  8. ]
  9. Class Primes
  10. | prevPrimes lastPrime |
  11. [
  12.      first
  13.           prevPrimes <- Set new.
  14.           prevPrimes add: (lastPrime <- 2).
  15.           ^ lastPrime
  16. |
  17.      next
  18.           [lastPrime <- lastPrime + 1.
  19.            self testNumber: lastPrime]
  20.                whileFalse.
  21.           prevPrimes add: lastPrime.
  22.           ^ lastPrime
  23. |
  24.      testNumber: n
  25.           prevPrimes do: [:x | 
  26.                (n \\ x = 0) ifTrue: [ ^ false ] ].
  27.           ^ true
  28. ]
  29.