extmod/modrandom: Add integer type casts where appropriate.

To prevent compiler warnings when `mp_int_t` is 64-bits.

Signed-off-by: Yoctopuce <dev@yoctopuce.com>
pull/13556/head
Yoctopuce 2024-01-30 09:37:10 +01:00 zatwierdzone przez Damien George
rodzic d2a3cd7ac4
commit 587b6f2e34
1 zmienionych plików z 7 dodań i 7 usunięć

Wyświetl plik

@ -86,7 +86,7 @@ STATIC uint32_t yasmarang_randbelow(uint32_t n) {
#endif #endif
STATIC mp_obj_t mod_random_getrandbits(mp_obj_t num_in) { STATIC mp_obj_t mod_random_getrandbits(mp_obj_t num_in) {
int n = mp_obj_get_int(num_in); mp_int_t n = mp_obj_get_int(num_in);
if (n > 32 || n < 0) { if (n > 32 || n < 0) {
mp_raise_ValueError(MP_ERROR_TEXT("bits must be 32 or less")); mp_raise_ValueError(MP_ERROR_TEXT("bits must be 32 or less"));
} }
@ -111,7 +111,7 @@ STATIC mp_obj_t mod_random_seed(size_t n_args, const mp_obj_t *args) {
} else { } else {
seed = mp_obj_get_int_truncated(args[0]); seed = mp_obj_get_int_truncated(args[0]);
} }
yasmarang_pad = seed; yasmarang_pad = (uint32_t)seed;
yasmarang_n = 69; yasmarang_n = 69;
yasmarang_d = 233; yasmarang_d = 233;
yasmarang_dat = 0; yasmarang_dat = 0;
@ -126,7 +126,7 @@ STATIC mp_obj_t mod_random_randrange(size_t n_args, const mp_obj_t *args) {
if (n_args == 1) { if (n_args == 1) {
// range(stop) // range(stop)
if (start > 0) { if (start > 0) {
return mp_obj_new_int(yasmarang_randbelow(start)); return mp_obj_new_int(yasmarang_randbelow((uint32_t)start));
} else { } else {
goto error; goto error;
} }
@ -135,7 +135,7 @@ STATIC mp_obj_t mod_random_randrange(size_t n_args, const mp_obj_t *args) {
if (n_args == 2) { if (n_args == 2) {
// range(start, stop) // range(start, stop)
if (start < stop) { if (start < stop) {
return mp_obj_new_int(start + yasmarang_randbelow(stop - start)); return mp_obj_new_int(start + yasmarang_randbelow((uint32_t)(stop - start)));
} else { } else {
goto error; goto error;
} }
@ -151,7 +151,7 @@ STATIC mp_obj_t mod_random_randrange(size_t n_args, const mp_obj_t *args) {
goto error; goto error;
} }
if (n > 0) { if (n > 0) {
return mp_obj_new_int(start + step * yasmarang_randbelow(n)); return mp_obj_new_int(start + step * yasmarang_randbelow((uint32_t)n));
} else { } else {
goto error; goto error;
} }
@ -167,7 +167,7 @@ STATIC mp_obj_t mod_random_randint(mp_obj_t a_in, mp_obj_t b_in) {
mp_int_t a = mp_obj_get_int(a_in); mp_int_t a = mp_obj_get_int(a_in);
mp_int_t b = mp_obj_get_int(b_in); mp_int_t b = mp_obj_get_int(b_in);
if (a <= b) { if (a <= b) {
return mp_obj_new_int(a + yasmarang_randbelow(b - a + 1)); return mp_obj_new_int(a + yasmarang_randbelow((uint32_t)(b - a + 1)));
} else { } else {
mp_raise_ValueError(NULL); mp_raise_ValueError(NULL);
} }
@ -177,7 +177,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_random_randint_obj, mod_random_randint);
STATIC mp_obj_t mod_random_choice(mp_obj_t seq) { STATIC mp_obj_t mod_random_choice(mp_obj_t seq) {
mp_int_t len = mp_obj_get_int(mp_obj_len(seq)); mp_int_t len = mp_obj_get_int(mp_obj_len(seq));
if (len > 0) { if (len > 0) {
return mp_obj_subscr(seq, mp_obj_new_int(yasmarang_randbelow(len)), MP_OBJ_SENTINEL); return mp_obj_subscr(seq, mp_obj_new_int(yasmarang_randbelow((uint32_t)len)), MP_OBJ_SENTINEL);
} else { } else {
mp_raise_type(&mp_type_IndexError); mp_raise_type(&mp_type_IndexError);
} }