[math/big] Return 0, .Integer_Underflow if trying to get a negative number to an unsigned int.

This commit is contained in:
Jeroen van Rijn
2021-12-09 16:31:54 +01:00
parent c94098c2ab
commit b2b79b86f0

View File

@@ -2332,7 +2332,12 @@ internal_int_get :: proc(a: ^Int, $T: typeid) -> (res: T, err: Error) where intr
if a.sign == .Zero_or_Positive {
target_bit_size -= 1
}
} else {
if a.sign == .Negative {
return 0, .Integer_Underflow
}
}
bits_used := internal_count_bits(a)
if bits_used > target_bit_size {