The Trunk: Collections-ul.643.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Collections-ul.643.mcz

commits-2
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.643.mcz

==================== Summary ====================

Name: Collections-ul.643
Author: ul
Time: 20 August 2015, 9:08:27.692 pm
UUID: 12dbac56-4a90-45c3-8987-3ceb621a1c58
Ancestors: Collections-ul.642

String:
- reuse the code of #indexOf:startingAt: from #indexOf: and #indexOf:startingAt:ifAbsent:

ByteArray:
- use the fast primitive for #indexOf:* the same way it is done in String

=============== Diff against Collections-ul.642 ===============

Item was added:
+ ----- Method: ByteArray>>indexOf: (in category 'accessing') -----
+ indexOf: anInteger
+
+ ^self indexOf: anInteger startingAt: 1!

Item was changed:
  ----- Method: ByteArray>>indexOf:startingAt: (in category 'accessing') -----
  indexOf: anInteger startingAt: start
 
+ anInteger isInteger ifFalse: [ ^0 ].
+ 0 <= anInteger ifFalse: [ ^0 ].
+ anInteger <= 255 ifFalse: [ ^0 ].
- (anInteger isInteger and: [
- anInteger >= 0 and: [
- anInteger <= 255 ] ]) ifFalse: [ ^0 ].
  ^ByteString indexOfAscii: anInteger inString: self startingAt: start!

Item was added:
+ ----- Method: ByteArray>>indexOf:startingAt:ifAbsent: (in category 'accessing') -----
+ indexOf: anInteger startingAt: start ifAbsent: aBlock
+
+ | index |
+ (index := self indexOf: anInteger startingAt: start) = 0 ifTrue: [ ^aBlock value ].
+ ^index!

Item was changed:
  ----- Method: String>>indexOf: (in category 'accessing') -----
  indexOf: aCharacter
 
+ ^self indexOf: aCharacter startingAt: 1
- aCharacter isCharacter ifFalse: [^ 0].
- ^ self class
- indexOfAscii: aCharacter asciiValue
- inString: self
- startingAt: 1.
  !

Item was changed:
  ----- Method: String>>indexOf:startingAt:ifAbsent: (in category 'accessing') -----
  indexOf: aCharacter  startingAt: start  ifAbsent: aBlock
+
+ | index |
+ (index := self indexOf: aCharacter startingAt: start) = 0 ifTrue: [ ^aBlock value ].
+ ^index!
- | ans |
- (aCharacter isCharacter) ifFalse: [ ^ aBlock value ].
- ans := self class indexOfAscii: aCharacter asciiValue inString: self  startingAt: start.
- ans = 0
- ifTrue: [ ^ aBlock value ]
- ifFalse: [ ^ ans ]!