diff options
| author | gingerBill <bill@gingerbill.org> | 2021-07-11 16:08:16 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-07-11 16:08:16 +0100 |
| commit | 460e14e5860a503b8e7716ce18a29eb99f517cf7 (patch) | |
| tree | 058edb259fd5e6cab889f7b12156938c748509c0 /src/exact_value.cpp | |
| parent | ebcabb8a27ace67c3cd869a573df62b260000ee8 (diff) | |
Change the compiler's big integer library to use libTomMath
This now replaces Bill's crappy big int implementation
Diffstat (limited to 'src/exact_value.cpp')
| -rw-r--r-- | src/exact_value.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp index 9bcaf76de..cd5ba6579 100644 --- a/src/exact_value.cpp +++ b/src/exact_value.cpp @@ -75,8 +75,8 @@ HashKey hash_exact_value(ExactValue v) { } case ExactValue_Integer: { - HashKey key = hashing_proc(big_int_ptr(&v.value_integer), v.value_integer.len * gb_size_of(u64)); - u8 last = (u8)v.value_integer.neg; + HashKey key = hashing_proc(v.value_integer.dp, gb_size_of(*v.value_integer.dp) * v.value_integer.used); + u8 last = (u8)v.value_integer.sign; key.key = (key.key ^ last) * 0x100000001b3ll; return key; } @@ -719,7 +719,6 @@ ExactValue exact_binary_operator_value(TokenKind op, ExactValue x, ExactValue y) case Token_Shr: big_int_shr(&c, a, b); break; default: goto error; } - big_int_normalize(&c); ExactValue res = {ExactValue_Integer}; res.value_integer = c; return res; |