py/objint: Fix classification of float so it works for OBJ_REPR_D.
This commit is contained in:
parent
2adf7ec3dd
commit
da3dffa79d
@ -107,7 +107,9 @@ mp_fp_as_int_class_t mp_classify_fp_as_int(mp_float_t val) {
|
||||
} else {
|
||||
e &= ~((1 << MP_FLOAT_EXP_SHIFT_I32) - 1);
|
||||
}
|
||||
if (e <= ((BITS_PER_WORD + MP_FLOAT_EXP_BIAS - 3) << MP_FLOAT_EXP_SHIFT_I32)) {
|
||||
// 8 * sizeof(uintptr_t) counts the number of bits for a small int
|
||||
// TODO provide a way to configure this properly
|
||||
if (e <= ((8 * sizeof(uintptr_t) + MP_FLOAT_EXP_BIAS - 3) << MP_FLOAT_EXP_SHIFT_I32)) {
|
||||
return MP_FP_CLASS_FIT_SMALLINT;
|
||||
}
|
||||
#if MICROPY_LONGINT_IMPL == MICROPY_LONGINT_IMPL_LONGLONG
|
||||
|
Loading…
Reference in New Issue
Block a user