,---------------.
| Contributions |
`---------------ยด
,------------------------------------------
| 2022-04-04 21:04:46 AdrianMcMenamin wrote:
| requestClarification - Double>
| see: https://forth-standard.org/standard/core/MTimes#contribution-231
`------------------------------------------
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?