summaryrefslogtreecommitdiff
path: root/extmod/modrandom.c
diff options
context:
space:
mode:
Diffstat (limited to 'extmod/modrandom.c')
-rw-r--r--extmod/modrandom.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/extmod/modrandom.c b/extmod/modrandom.c
index e65f31488..d66f1c9c4 100644
--- a/extmod/modrandom.c
+++ b/extmod/modrandom.c
@@ -86,7 +86,7 @@ STATIC uint32_t yasmarang_randbelow(uint32_t n) {
#endif
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) {
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 {
seed = mp_obj_get_int_truncated(args[0]);
}
- yasmarang_pad = seed;
+ yasmarang_pad = (uint32_t)seed;
yasmarang_n = 69;
yasmarang_d = 233;
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) {
// range(stop)
if (start > 0) {
- return mp_obj_new_int(yasmarang_randbelow(start));
+ return mp_obj_new_int(yasmarang_randbelow((uint32_t)start));
} else {
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) {
// range(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 {
goto error;
}
@@ -151,7 +151,7 @@ STATIC mp_obj_t mod_random_randrange(size_t n_args, const mp_obj_t *args) {
goto error;
}
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 {
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 b = mp_obj_get_int(b_in);
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 {
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) {
mp_int_t len = mp_obj_get_int(mp_obj_len(seq));
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 {
mp_raise_type(&mp_type_IndexError);
}