py: Rename WORD_MSBIT_HIGH to MP_OBJ_WORD_MSBIT_HIGH.
To make it clear it is for mp_obj_t/mp_uint_t "word" types, and to prefix this macro with MP_. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
ad4656b861
commit
c891190c69
|
@ -1540,7 +1540,7 @@ typedef double mp_float_t;
|
||||||
#define MP_BITS_PER_BYTE (8)
|
#define MP_BITS_PER_BYTE (8)
|
||||||
#endif
|
#endif
|
||||||
// mp_int_t value with most significant bit set
|
// mp_int_t value with most significant bit set
|
||||||
#define WORD_MSBIT_HIGH (((mp_uint_t)1) << (MP_BYTES_PER_OBJ_WORD * MP_BITS_PER_BYTE - 1))
|
#define MP_OBJ_WORD_MSBIT_HIGH (((mp_uint_t)1) << (MP_BYTES_PER_OBJ_WORD * MP_BITS_PER_BYTE - 1))
|
||||||
|
|
||||||
// Make sure both MP_ENDIANNESS_LITTLE and MP_ENDIANNESS_BIG are
|
// Make sure both MP_ENDIANNESS_LITTLE and MP_ENDIANNESS_BIG are
|
||||||
// defined and that they are the opposite of each other.
|
// defined and that they are the opposite of each other.
|
||||||
|
|
4
py/mpz.c
4
py/mpz.c
|
@ -1573,7 +1573,7 @@ bool mpz_as_int_checked(const mpz_t *i, mp_int_t *value) {
|
||||||
mpz_dig_t *d = i->dig + i->len;
|
mpz_dig_t *d = i->dig + i->len;
|
||||||
|
|
||||||
while (d-- > i->dig) {
|
while (d-- > i->dig) {
|
||||||
if (val > (~(WORD_MSBIT_HIGH) >> DIG_SIZE)) {
|
if (val > (~(MP_OBJ_WORD_MSBIT_HIGH) >> DIG_SIZE)) {
|
||||||
// will overflow
|
// will overflow
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1598,7 +1598,7 @@ bool mpz_as_uint_checked(const mpz_t *i, mp_uint_t *value) {
|
||||||
mpz_dig_t *d = i->dig + i->len;
|
mpz_dig_t *d = i->dig + i->len;
|
||||||
|
|
||||||
while (d-- > i->dig) {
|
while (d-- > i->dig) {
|
||||||
if (val > (~(WORD_MSBIT_HIGH) >> (DIG_SIZE - 1))) {
|
if (val > (~(MP_OBJ_WORD_MSBIT_HIGH) >> (DIG_SIZE - 1))) {
|
||||||
// will overflow
|
// will overflow
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,17 +36,17 @@
|
||||||
// In SMALL_INT, next-to-highest bits is used as sign, so both must match for value in range
|
// In SMALL_INT, next-to-highest bits is used as sign, so both must match for value in range
|
||||||
#if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_A || MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_C
|
#if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_A || MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_C
|
||||||
|
|
||||||
#define MP_SMALL_INT_MIN ((mp_int_t)(((mp_int_t)WORD_MSBIT_HIGH) >> 1))
|
#define MP_SMALL_INT_MIN ((mp_int_t)(((mp_int_t)MP_OBJ_WORD_MSBIT_HIGH) >> 1))
|
||||||
#define MP_SMALL_INT_FITS(n) ((((n) ^ ((n) << 1)) & WORD_MSBIT_HIGH) == 0)
|
#define MP_SMALL_INT_FITS(n) ((((n) ^ ((n) << 1)) & MP_OBJ_WORD_MSBIT_HIGH) == 0)
|
||||||
// Mask to truncate mp_int_t to positive value
|
// Mask to truncate mp_int_t to positive value
|
||||||
#define MP_SMALL_INT_POSITIVE_MASK ~(WORD_MSBIT_HIGH | (WORD_MSBIT_HIGH >> 1))
|
#define MP_SMALL_INT_POSITIVE_MASK ~(MP_OBJ_WORD_MSBIT_HIGH | (MP_OBJ_WORD_MSBIT_HIGH >> 1))
|
||||||
|
|
||||||
#elif MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_B
|
#elif MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_B
|
||||||
|
|
||||||
#define MP_SMALL_INT_MIN ((mp_int_t)(((mp_int_t)WORD_MSBIT_HIGH) >> 2))
|
#define MP_SMALL_INT_MIN ((mp_int_t)(((mp_int_t)MP_OBJ_WORD_MSBIT_HIGH) >> 2))
|
||||||
#define MP_SMALL_INT_FITS(n) ((((n) & MP_SMALL_INT_MIN) == 0) || (((n) & MP_SMALL_INT_MIN) == MP_SMALL_INT_MIN))
|
#define MP_SMALL_INT_FITS(n) ((((n) & MP_SMALL_INT_MIN) == 0) || (((n) & MP_SMALL_INT_MIN) == MP_SMALL_INT_MIN))
|
||||||
// Mask to truncate mp_int_t to positive value
|
// Mask to truncate mp_int_t to positive value
|
||||||
#define MP_SMALL_INT_POSITIVE_MASK ~(WORD_MSBIT_HIGH | (WORD_MSBIT_HIGH >> 1) | (WORD_MSBIT_HIGH >> 2))
|
#define MP_SMALL_INT_POSITIVE_MASK ~(MP_OBJ_WORD_MSBIT_HIGH | (MP_OBJ_WORD_MSBIT_HIGH >> 1) | (MP_OBJ_WORD_MSBIT_HIGH >> 2))
|
||||||
|
|
||||||
#elif MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_D
|
#elif MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_D
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue