summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extmod/moductypes.c2
-rw-r--r--py/binary.c4
-rw-r--r--py/objarray.c2
-rw-r--r--py/parsenum.c2
-rw-r--r--unix/modffi.c2
-rw-r--r--unix/modtime.c4
6 files changed, 8 insertions, 8 deletions
diff --git a/extmod/moductypes.c b/extmod/moductypes.c
index 6249a4940..44b36561f 100644
--- a/extmod/moductypes.c
+++ b/extmod/moductypes.c
@@ -338,7 +338,7 @@ STATIC mp_obj_t get_aligned(uint val_type, void *p, mp_int_t index) {
return mp_obj_new_int_from_ll(((int64_t*)p)[index]);
#if MICROPY_PY_BUILTINS_FLOAT
case FLOAT32:
- return mp_obj_new_float(((float*)p)[index]);
+ return mp_obj_new_float((mp_float_t)((float*)p)[index]);
case FLOAT64:
return mp_obj_new_float(((double*)p)[index]);
#endif
diff --git a/py/binary.c b/py/binary.c
index d22e0f342..d344d7b51 100644
--- a/py/binary.c
+++ b/py/binary.c
@@ -138,7 +138,7 @@ mp_obj_t mp_binary_get_val_array(char typecode, void *p, mp_uint_t index) {
#endif
#if MICROPY_PY_BUILTINS_FLOAT
case 'f':
- return mp_obj_new_float(((float*)p)[index]);
+ return mp_obj_new_float((mp_float_t)((float*)p)[index]);
case 'd':
return mp_obj_new_float(((double*)p)[index]);
#endif
@@ -204,7 +204,7 @@ mp_obj_t mp_binary_get_val(char struct_type, char val_type, byte **ptr) {
#if MICROPY_PY_BUILTINS_FLOAT
} else if (val_type == 'f') {
union { uint32_t i; float f; } fpu = {val};
- return mp_obj_new_float(fpu.f);
+ return mp_obj_new_float((mp_float_t) fpu.f);
} else if (val_type == 'd') {
union { uint64_t i; double f; } fpu = {val};
return mp_obj_new_float(fpu.f);
diff --git a/py/objarray.c b/py/objarray.c
index 8e1d32f0f..34acd15b3 100644
--- a/py/objarray.c
+++ b/py/objarray.c
@@ -428,7 +428,7 @@ STATIC mp_obj_t array_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_obj_t value
}
#endif
if (len_adj > 0) {
- if (len_adj > o->free) {
+ if ((mp_uint_t) len_adj > o->free) {
// TODO: alloc policy; at the moment we go conservative
o->items = m_renew(byte, o->items, (o->len + o->free) * item_sz, (o->len + len_adj) * item_sz);
o->free = 0;
diff --git a/py/parsenum.c b/py/parsenum.c
index 2e41801ee..f3e1aad12 100644
--- a/py/parsenum.c
+++ b/py/parsenum.c
@@ -197,7 +197,7 @@ mp_obj_t mp_parse_num_decimal(const char *str, size_t len, bool allow_imag, bool
if (str + 2 < top && (str[1] | 0x20) == 'n' && (str[2] | 0x20) == 'f') {
// inf
str += 3;
- dec_val = INFINITY;
+ dec_val = (mp_float_t) INFINITY;
if (str + 4 < top && (str[0] | 0x20) == 'i' && (str[1] | 0x20) == 'n' && (str[2] | 0x20) == 'i' && (str[3] | 0x20) == 't' && (str[4] | 0x20) == 'y') {
// infinity
str += 5;
diff --git a/unix/modffi.c b/unix/modffi.c
index cae16c579..92c4058e8 100644
--- a/unix/modffi.c
+++ b/unix/modffi.c
@@ -153,7 +153,7 @@ STATIC mp_obj_t return_ffi_value(ffi_arg val, char type)
#if MICROPY_PY_BUILTINS_FLOAT
case 'f': {
union { ffi_arg ffi; float flt; } val_union = { .ffi = val };
- return mp_obj_new_float(val_union.flt);
+ return mp_obj_new_float((mp_float_t) val_union.flt);
}
case 'd': {
double *p = (double*)&val;
diff --git a/unix/modtime.c b/unix/modtime.c
index 85d1f5532..e4a3af165 100644
--- a/unix/modtime.c
+++ b/unix/modtime.c
@@ -60,7 +60,7 @@ static inline int msec_sleep_tv(struct timeval *tv) {
#endif
#if defined(MP_CLOCKS_PER_SEC)
-#define CLOCK_DIV (MP_CLOCKS_PER_SEC / 1000.0F)
+#define CLOCK_DIV (mp_float_t) (MP_CLOCKS_PER_SEC / 1000.0F)
#else
#error Unsupported clock() implementation
#endif
@@ -83,7 +83,7 @@ STATIC mp_obj_t mod_time_clock(void) {
// float cannot represent full range of int32 precisely, so we pre-divide
// int to reduce resolution, and then actually do float division hoping
// to preserve integer part resolution.
- return mp_obj_new_float((float)(clock() / 1000) / CLOCK_DIV);
+ return mp_obj_new_float((mp_float_t)(clock() / 1000) / CLOCK_DIV);
#else
return mp_obj_new_int((mp_int_t)clock());
#endif