diff options
author | David Steinberg <david.steinberg.dev@gmail.com> | 2015-01-13 15:20:32 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-01-24 20:54:28 +0000 |
commit | 8d427b7ab79d1d45d6aef2f0bbb73c65373247df (patch) | |
tree | 4cda22d9d95a436a5eca4c08569e16f19870311c /py/mpz.c | |
parent | c585ad1020cf81cb277ecce77952f9c896ba7bbc (diff) |
py: Fix issue in mpz_set_from_float() when mp_int_t is larger than float
Diffstat (limited to 'py/mpz.c')
-rw-r--r-- | py/mpz.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -747,10 +747,16 @@ typedef uint32_t mp_float_int_t; z->dig[dig_ind++] = (frc << shft) & DIG_MASK; frc >>= DIG_SIZE - shft; } +#if DIG_SIZE < (MP_FLOAT_FRAC_BITS + 1) while (dig_ind != dig_cnt) { z->dig[dig_ind++] = frc & DIG_MASK; frc >>= DIG_SIZE; } +#else + if (dig_ind != dig_cnt) { + z->dig[dig_ind] = frc; + } +#endif } } } |