diff options
author | Damien George <damien.p.george@gmail.com> | 2014-09-10 22:10:33 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-09-10 22:10:33 +0100 |
commit | 953074315e594f5a30f455dc6a1a67340a3e6ea7 (patch) | |
tree | 9bce234da3c55224ee5cb6edd9cfd830be3e7960 /py/mpz.c | |
parent | 6eae861685e8860e7542097ad20f69168e639a93 (diff) |
py: Enable struct/binary-helper to parse q and Q sized ints.
Addresses issue #848.
Diffstat (limited to 'py/mpz.c')
-rw-r--r-- | py/mpz.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -589,9 +589,9 @@ mpz_t *mpz_from_int(mp_int_t val) { return z; } -mpz_t *mpz_from_ll(long long val) { +mpz_t *mpz_from_ll(long long val, bool is_signed) { mpz_t *z = mpz_zero(); - mpz_set_from_ll(z, val); + mpz_set_from_ll(z, val, is_signed); return z; } @@ -668,11 +668,11 @@ void mpz_set_from_int(mpz_t *z, mp_int_t val) { } } -void mpz_set_from_ll(mpz_t *z, long long val) { +void mpz_set_from_ll(mpz_t *z, long long val, bool is_signed) { mpz_need_dig(z, MPZ_NUM_DIG_FOR_LL); unsigned long long uval; - if (val < 0) { + if (is_signed && val < 0) { z->neg = 1; uval = -val; } else { |