Hi
I am new to this environment
I am on Pharo 6.0 - 64 Mac OSX version, Downloaded over the weekend.
Just did some learning and found that the description for bitAnd: is probably
wrong.
It reads exactly the same as bitOr:
here are some tests as performed in the workspace
Also included bitXor: for the fun of it
bitAnd: arg
Primitive. Answer an Integer whose bits are the logical OR of the
receiver's bits and those of the argument, arg.
Numbers are interpreted as having 2's-complement representation.
Essential. See Object documentation whatIsAPrimitive.
<primitive: 14>
self >= 0 ifTrue: [^ arg bitAnd: self].
^ (self bitInvert bitOr: arg bitInvert) bitInvert.
0 bitAnd: 0 -> 0
1 bitAnd: 0 -> 0
2 bitAnd: 0 -> 0
3 bitAnd: 0 -> 0
0 bitAnd: 1 -> 0
1 bitAnd: 1 -> 1
2 bitAnd: 1 -> 0
3 bitAnd: 1 -> 1
bitOr: arg
Primitive. Answer an Integer whose bits are the logical OR of the
receiver's bits and those of the argument, arg.
Numbers are interpreted as having 2's-complement representation.
Essential. See Object documentation whatIsAPrimitive.
<primitive: 15>
self >= 0 ifTrue: [^ arg bitOr: self].
^ arg < 0
ifTrue: [(self bitInvert bitAnd: arg bitInvert) bitInvert]
ifFalse: [(self bitInvert bitClear: arg) bitInvert]
0 bitOr: 0 -> 0
1 bitOr: 0 -> 1
2 bitOr: 0 -> 2
3 bitOr: 0 -> 3
0 bitOr: 1 -> 1
1 bitOr: 1 -> 1
2 bitOr: 1 -> 3
3 bitOr: 1 -> 3
bitXor: arg
Primitive. Answer an Integer whose bits are the logical XOR of the
receiver's bits and those of the argument, arg.
Numbers are interpreted as having 2's-complement representation.
Essential. See Object documentation whatIsAPrimitive.
<primitive: 16>
self >= 0 ifTrue: [^ arg bitXor: self].
^ arg < 0
ifTrue: [self bitInvert bitXor: arg bitInvert]
ifFalse: [(self bitInvert bitXor: arg) bitInvert].
0 bitXor: 0 -> 0
1 bitXor: 0 -> 1
2 bitXor: 0 -> 2
3 bitXor: 0 -> 3
0 bitXor: 1 -> 1
1 bitXor: 1 -> 0
2 bitXor: 1 -> 3
3 bitXor: 1 -> 2
Picked it up when I was trying to explain the simplicity of the even method on
smallInteger.
Methods work just fine, but the description is wrong
regards
Koos brandt