2 ms·
It boils down to: > (* 4294967296 4294967296) $1 = 0 My guess is that guile uses the native int type to store small numbers, and then switches to a bignums,
by TwistedWave 14y ago
It boils down to:
> (* 4294967296 4294967296)
$1 = 0
My guess is that guile uses the native int type to store small numbers, and then switches to a bignums, backed by GNU MP when the native ints are too small. Maybe in that particular case, the check fails, and the computation overflows the native int.
- alpb 14y agoThen why 2^488 works correctly but nothing in 2^(64..487) ?