diff options
author | Damien George <damien.p.george@gmail.com> | 2014-12-05 23:13:52 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-12-05 23:13:52 +0000 |
commit | be6d8be91e133e98117025062df0e63aaf87efd2 (patch) | |
tree | 692495154f547612c148312b4abc0afc3f4a50d6 /py/objint_mpz.c | |
parent | 451a0870753be89f5a284fd39727705a3ad2109b (diff) |
py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack.
mp_obj_int_get_truncated is used as a "fast path" int accessor that
doesn't check for overflow and returns the int truncated to the machine
word size, ie mp_int_t.
Use mp_obj_int_get_truncated to fix struct.pack when packing maximum word
sized values.
Addresses issues #779 and #998.
Diffstat (limited to 'py/objint_mpz.c')
-rw-r--r-- | py/objint_mpz.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/py/objint_mpz.c b/py/objint_mpz.c index 7eff54c53..5480bd385 100644 --- a/py/objint_mpz.c +++ b/py/objint_mpz.c @@ -305,12 +305,12 @@ mp_obj_t mp_obj_new_int_from_str_len(const char **str, mp_uint_t len, bool neg, return o; } -mp_int_t mp_obj_int_get(mp_const_obj_t self_in) { +mp_int_t mp_obj_int_get_truncated(mp_const_obj_t self_in) { if (MP_OBJ_IS_SMALL_INT(self_in)) { return MP_OBJ_SMALL_INT_VALUE(self_in); } else { const mp_obj_int_t *self = self_in; - // TODO this is a hack until we remove mp_obj_int_get function entirely + // hash returns actual int value if it fits in mp_int_t return mpz_hash(&self->mpz); } } |