[r6rs-discuss] fxarithmetic-shift

From: Michael Sperber <sperber>
Date: Thu, 20 Sep 2007 16:48:45 +0200

Abdulaziz Ghuloum <aghuloum at cs.indiana.edu> writes:

> On Sep 18, 2007, at 11:15 AM, Michael Sperber wrote:
>
>>> Also, is there a good reason for restricting the range of the second
>>> argument to be less than (fixnum-width)?
>>
>> Well, if that weren't there, you'd get an exception anyway, except for
>> 0, no?
>
> No actually.
>
> First, the restriction on the range of the second argument is not
> sufficient to avoid exceptions. (fxarithmetic-shift -72736 17) should
> raise an exception even through |17| < (fixnum-width).

You're right. Still, the restriction is intentional. As Kent pointed
out to me in private email (I hope it's OK I quote this):

>> The ia32 and Sparc architectures ignore all but the low-order 5 bits
>> when shifting 32-bit words. [...] The same would be true on the PowerPC,
>> which ignores all but the low-order 6 bits.

-- 
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
Received on Thu Sep 20 2007 - 10:48:45 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC