overflow bug in system:int32 ?
LispWorks provides an API for 32-bit arithmetic
http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-93.htm
On my 64-bit Linux installation using LispWorks 5.0.2, it looks like
this overflows into values that are 64-bits:
> (setf xx system:+int32-1+)
#<SYSTEM:INT32 1>
> (setf xx (system:int32<< xx 20))
#<SYSTEM:INT32 1048576>
> (setf xx (system:int32<< xx 20))
#<SYSTEM:INT32 1099511627776>
> (setf xx (system:int32<< xx 20))
#<SYSTEM:INT32 1152921504606846976>
> (setf xx (system:int32<< xx 20))
#<SYSTEM:INT32 0>
Is the int32 type expected to work on 64 bit installations?
Cheers,
Chris Dean