py/obj: Cast float literals to 64-bit to prevent overflow warning.
Fixes compilation warning C4307: '+': integral constant overflow. Signed-off-by: Yoctopuce <dev@yoctopuce.com>
This commit is contained in:
11
py/obj.h
11
py/obj.h
@@ -184,12 +184,13 @@ static inline bool mp_obj_is_small_int(mp_const_obj_t o) {
|
||||
#define MP_OBJ_NEW_SMALL_INT(small_int) ((mp_obj_t)((((mp_uint_t)(small_int)) << 1) | 1))
|
||||
|
||||
#if MICROPY_PY_BUILTINS_FLOAT
|
||||
#define mp_const_float_e MP_ROM_PTR((mp_obj_t)(((0x402df854 & ~3) | 2) + 0x80800000))
|
||||
#define mp_const_float_pi MP_ROM_PTR((mp_obj_t)(((0x40490fdb & ~3) | 2) + 0x80800000))
|
||||
#define MP_OBJ_NEW_CONST_FLOAT(f) MP_ROM_PTR((mp_obj_t)((((((uint64_t)f) & ~3) | 2) + 0x80800000) & 0xffffffff))
|
||||
#define mp_const_float_e MP_OBJ_NEW_CONST_FLOAT(0x402df854)
|
||||
#define mp_const_float_pi MP_OBJ_NEW_CONST_FLOAT(0x40490fdb)
|
||||
#if MICROPY_PY_MATH_CONSTANTS
|
||||
#define mp_const_float_tau MP_ROM_PTR((mp_obj_t)(((0x40c90fdb & ~3) | 2) + 0x80800000))
|
||||
#define mp_const_float_inf MP_ROM_PTR((mp_obj_t)(((0x7f800000 & ~3) | 2) + 0x80800000))
|
||||
#define mp_const_float_nan MP_ROM_PTR((mp_obj_t)(((0xffc00000 & ~3) | 2) + 0x80800000))
|
||||
#define mp_const_float_tau MP_OBJ_NEW_CONST_FLOAT(0x40c90fdb)
|
||||
#define mp_const_float_inf MP_OBJ_NEW_CONST_FLOAT(0x7f800000)
|
||||
#define mp_const_float_nan MP_OBJ_NEW_CONST_FLOAT(0xffc00000)
|
||||
#endif
|
||||
|
||||
static inline bool mp_obj_is_float(mp_const_obj_t o) {
|
||||
|
||||
Reference in New Issue
Block a user