[Vm-dev] Signed/unsigned shifting

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Wed Nov 26 23:15:23 UTC 2014


2014-11-23 0:56 GMT+01:00 Ben Coman <btc at openinworld.com>:

>
> Chris Muller wrote:
>
>>  On Sat, Nov 22, 2014 at 10:12 AM, Eliot Miranda <eliot.miranda at gmail.com>
>> wrote:
>>
>>> Hi Bert,
>>>
>>> On Sat, Nov 22, 2014 at 5:12 AM, Bert Freudenberg <bert at freudenbergs.de>
>>> wrote:
>>>
>>>>
>>>> On 21.11.2014, at 23:01, Eliot Miranda uploaded
>>>> VMMaker.oscog-eem.950.mcz
>>>>
>>>>> Introduce >>> as an explicitly signed shift.
>>>>>
>>>> Ugh, can we pick something else, please? It's really confusing. In
>>>> various languages (notably Java and JavaScript), >> is signed and >>>
>>>> unsigned. I don't know any language that has both operators and the meaning
>>>> reversed.
>>>>
>>>
>>> This is confused because of history.  What I'd like is to use >> as a
>>> signed shift (because that's what it is) and >>> as an unsigned shift.  And
>>> I'd like to change bitShift: to generate signed shifts and introduce
>>> unsignedBitShift: and ditch signedBitShift:.  But that means changing all
>>> uses of >> in VMMaker.  This would be my preferred solution but I think its
>>> *really* important that if we go this route we change VMMaker.oscog,
>>> VMMaker and VMMakerJS at the same time.  Can we synchronise this?
>>>
>>>
>>>
>>>> And >> still means signed or unsigned depending on context. Not nice at
>>>> all.
>>>>
>>>
>>> Right.  And there's the signedBitShift: bogosity too.
>>>
>>>
>>>> How about ...
>>>>
>>>>         >> signed/unsigned depending on type (what we have now)
>>>>         >>+ force unsigned shift
>>>>         >>- force signed shift
>>>>
>>>
>>> That's funny.  For me the + screams signed.
>>>
>>
>> Berts made more sense to me simply because signed support
>> negatives(-), where unsigned only support positive(+)..
>>
>>
> Revising my previous suggestion...
> >>> force unsigned
> >>- force signed
>
> cheers -ben
>
>
As a latin, writing the most significant bit to least significant from left
to right, and the sign leftmost, I would suggest ->> to suggest how we
propagate the minus sign bit...

Nicolas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141127/e7bb0902/attachment.htm


More information about the Vm-dev mailing list