(bitwise-arithmetic-shift-left <bignum> 32) in the 32-bit build returns junk
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ikarus Scheme |
Fix Committed
|
High
|
Abdulaziz Ghuloum |
Bug Description
(bitwise-
Ikarus Scheme version 0.0.4-rc1+ (revision 1843, build 2009-08-03)
Copyright (c) 2006-2009 Abdulaziz Ghuloum
> (number->string (bitwise-
"B79BFF7CC0E79300"
> (number->string (bitwise-
"17CC0E79300"
> (number->string (bitwise-
"B701EE7CC0E79300"
> (number->string (bitwise-
"367CC0E79300"
> (number->string (bitwise-
"2C7CC0E79300"
> (number->string (bitwise-
"7CC0E79300"
>
etc etc
This is the bug you found when you ran my DES test suite. :)
Bizarre! It was shifting by 8 bits instead of 32, and that bug exists in shifts of multiples of wordsize on both 32 and 64-bit. I wonder how this slipped through all along.