Digest #179 2022-04-05
Contributions
The definition states:
( n1 n2 -- d ) d is the signed product of n1 times n2.
But we have, eg a test:
T{ 2 MAX-INT M* -> MAX-INT 1 LSHIFT 0 }T
So, if we take the case that MAX-INT is 0x7FFFFFFFFFFFFFFF, this would imply and answer:
0x7FFFFFFFFFFFFFFF 0x1 (ie 0x17FFFFFFFFFFFFFFF if we combined all 128 bits together) - but that would not be a correct 128 bit representation of the answer which would be 0xFFFFFFFFFFFFFFFE 0x0 across all 128 bits.
Perhaps this is covered in the documentation? Though I cannot find it I'm afraid. But could this be clarified?