better #includes:
authorClaus Gittinger <cg@exept.de>
Thu, 08 Aug 2002 00:46:41 +0200
changeset 6712 cd031a65139a
parent 6711 ae28c469a063
child 6713 6f197bcc0958
better #includes:
Interval.st
--- a/Interval.st	Wed Aug 07 15:01:29 2002 +0200
+++ b/Interval.st	Thu Aug 08 00:46:41 2002 +0200
@@ -364,6 +364,60 @@
 
 !Interval methodsFor:'testing'!
 
+includes:anElement
+    |rest|
+    stop >= start ifTrue:[
+        (anElement between:start and:stop) ifFalse:[^ false].
+    ] ifFalse:[
+        (anElement between:stop and:start) ifFalse:[^ false].
+    ].
+    rest := (anElement - start) rem:step.
+    ^ rest = 0
+
+    "
+     (1 to:15) includes:0
+     (1 to:15) includes:16
+     (1 to:15) includes:1    
+     (1 to:15) includes:15   
+     (1 to:15) includes:5    
+     (1 to:15) includes:14   
+     (1 to:15) includes:4.0   
+     (1 to:15) includes:4.4   
+
+     (1 to:15 by:3) includes:0
+     (1 to:15 by:3) includes:16
+     (1 to:15 by:3) includes:1    
+     (1 to:15 by:3) includes:15   
+     (1 to:15 by:3) includes:5    
+     (1 to:15 by:3) includes:4    
+     (1 to:15 by:3) includes:13   
+     (1 to:15 by:3) includes:14   
+     (1 to:15 by:3) includes:4.0   
+     (1 to:15 by:3) includes:4.4   
+
+     (10 to:-10 by:-3) includes:11   
+     (10 to:-10 by:-3) includes:10   
+     (10 to:-10 by:-3) includes:9   
+     (10 to:-10 by:-3) includes:8   
+     (10 to:-10 by:-3) includes:7   
+     (10 to:-10 by:-3) includes:4   
+     (10 to:-10 by:-3) includes:0   
+     (10 to:-10 by:-3) includes:-1   
+     (10 to:-10 by:-3) includes:-2   
+     (10 to:-10 by:-3) includes:-8     
+     (10 to:-10 by:-3) includes:-9     
+     (10 to:-10 by:-3) includes:-10    
+     (10 to:-10 by:-3) includes:-11    
+     (10 to:-10 by:-3) includes:-2.4   
+
+     (-10 to:-20 by:-2) includes:-16   
+     (-10 to:-20 by:-2) includes:-20   
+     (-10 to:-20 by:-2) includes:-23   
+     (-10 to:-20 by:-2) includes:-24   
+
+    "
+!
+
 max
     "return the maximum value in the receiver collection,
      redefined, since this can be easily computed.
@@ -409,5 +463,5 @@
 !Interval class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.32 2002-08-07 11:37:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.33 2002-08-07 22:46:41 cg Exp $'
 ! !