nim-stint
nim-stint copied to clipboard
`truncate` fails at compile-time for 32-bits
let a = -1_000_000.stint(64)
let b = 1_000_000.stint(64)
check:
when sizeof(int) == 8:
truncate(a*b, int64) == -1_000_000_000_000'i64 # need 40 bits
truncate(b*a, int64) == -1_000_000_000_000'i64
nim c --cpu:wasm32
test_int_muldiv.nim(151, 27): Check failed: truncate(a * b, int64) == -1000000000000'i64
truncate(a * b, int64) was -3567587328