PS: [Re: who ever performed bit logic on large negative integer?]

Stephan Rudlof sr at evolgo.de
Sat Jan 26 15:15:23 UTC 2008


PS: Furthermore you have to taken into account (amongst others printing the bit representation), that *mathematically* there are infinitely many leading ones for all (including ints represented as SmallIntegers) negative Integers.

On 26.01.2008 15:56, Stephan Rudlof wrote:
> There should be a comment somewhere (Integer class comment?) explicitly 
> stating, that you cannot rely on two complement semantics for 
> LargeNegativeIntegers regarding bit logic (bit logic restricted to 
> positive Integers is correct).
> 
> I fear, changing the fundamental design decision to use magnitude 
> representation for LargeNegativeIntegers - e.g. by introducing some kind 
> of two complement representation - would imply a lot of work...
> 
> 
> Regards,
> Stephan
> 
> 
> On 26.01.2008 04:12, nicolas cellier wrote:
>>
>> SmallInteger < 0 are stored directly in two complement native format 
>> (well, except the tag bits)
>>
>> But LargeNegativeInteger are stored same as their absolute value.
>>
>> This does simplify some algorithms. But this leads to quite tricky 
>> ones when bit logic is to be performed based on two complement.
>> And whenever tricks are used, bugs frequency generally tends to 
>> increase. I believe long life bugs are lying in such swamps.
>>
>> That's why i'm very proud of finding accidentaly 
>> http://bugs.squeak.org/view.php?id=6874 via 
>> http://bugs.squeak.org/view.php?id=6873.
>>
>> As usual, most of you won't ever care of it.
>> Yeah, one more useless bugfix i am specialized in since the 
>> probability you bump into it must not exceed 1.0e-8 per hour of 
>> Smalltalking.
>>
>> But who knows, it's a kind of insurance in case a silly engineer had 
>> the idea to run nearest nuclear plant in Squeak!
>>
>> And well, it's also for the beauty of mathematics!
>>
>> Nicolas
>>
>>
>>
> 

-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3



More information about the Squeak-dev mailing list