py: Add mp_obj_get_int_truncated and use it where appropriate.

mp_obj_get_int_truncated will raise a TypeError if the argument is not
an integral type.  Use mp_obj_int_get_truncated only when you know the
argument is a small or big int.
This commit is contained in:
Damien George
2015-05-12 23:05:53 +01:00
parent c2a4e4effc
commit c50772d19f
7 changed files with 15 additions and 6 deletions

View File

@@ -359,7 +359,7 @@ STATIC mp_obj_t instance_unary_op(mp_uint_t op, mp_obj_t self_in) {
mp_obj_t val = mp_call_function_1(member[0], self_in);
// __hash__ must return a small int
if (op == MP_UNARY_OP_HASH) {
val = MP_OBJ_NEW_SMALL_INT(mp_obj_int_get_truncated(val));
val = MP_OBJ_NEW_SMALL_INT(mp_obj_get_int_truncated(val));
}
return val;
} else {