*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 18 Apr 2006 11:43:10 +0200
changeset 9316 dd88002fb60c
parent 9315 9ba4c87a127b
child 9317 60e972e65943
*** empty log message ***
Integer.st
--- a/Integer.st	Tue Apr 18 11:29:52 2006 +0200
+++ b/Integer.st	Tue Apr 18 11:43:10 2006 +0200
@@ -878,7 +878,8 @@
     ^Array streamContents:[:s| self primesUpTo: max do:[:prime| s nextPut: prime]]
 
     "
-     Integer primesUpTo: 100
+     Integer primesUpTo: 100 
+     (Integer primesUpTo: 100) select:[:p | (p >= 10) & (p <= 99)]
     "
 !
 
@@ -3399,6 +3400,38 @@
      (i.e. can be used in constant arrays)"
 
     ^ true
+!
+
+isPrime
+    "return true if I am a prime Number"
+
+    self even ifTrue:[^ false].
+    3 to:(self sqrt + 1) by:2 do:[:i |
+        (self \\ i) == 0 ifTrue:[ ^ false ].
+    ].                   
+    ^ true
+!
+
+nextPrime
+    "return the next prime after the receiver"
+
+    |num|
+
+    num := self + 1.
+    num even ifTrue:[
+        num := num + 1
+    ].
+    [num isPrime] whileFalse:[
+        num := num + 2
+    ].
+    ^ num
+
+    "
+     22 nextPrime 
+     37 nextPrime 
+     36 nextPrime 
+     3456737 nextPrime
+    "
 ! !
 
 !Integer methodsFor:'tracing'!
@@ -3675,7 +3708,7 @@
 !Integer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.185 2006-03-10 12:34:46 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.186 2006-04-18 09:43:10 cg Exp $'
 ! !
 
 Integer initialize!