Skip to content

Commit c22fd2a

Browse files
committed
runtime: Add mp_arg_validate_float_range
1 parent 5514e30 commit c22fd2a

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

py/argcheck.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,16 @@ mp_float_t mp_arg_validate_type_float(mp_obj_t obj, qstr arg_name) {
194194
return a_float;
195195
}
196196

197-
void mp_arg_validate_obj_float_range(mp_obj_t float_in, mp_int_t min, mp_int_t max, qstr arg_name) {
197+
mp_float_t mp_arg_validate_obj_float_range(mp_obj_t float_in, mp_int_t min, mp_int_t max, qstr arg_name) {
198198
const mp_float_t f = mp_arg_validate_type_float(float_in, arg_name);
199+
return mp_arg_validate_float_range(f, min, max, arg_name);
200+
}
201+
202+
mp_float_t mp_arg_validate_float_range(mp_float_t f, mp_int_t min, mp_int_t max, qstr arg_name) {
199203
if (f < (mp_float_t)min || f > (mp_float_t)max) {
200204
mp_raise_ValueError_varg(translate("%q must be %d-%d"), arg_name, min, max);
201205
}
206+
return f;
202207
}
203208

204209
mp_float_t mp_arg_validate_obj_float_non_negative(mp_obj_t float_in, mp_float_t default_for_null, qstr arg_name) {

py/runtime.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ mp_int_t mp_arg_validate_int_max(mp_int_t i, mp_int_t j, qstr arg_name);
103103
mp_int_t mp_arg_validate_int_range(mp_int_t i, mp_int_t min, mp_int_t max, qstr arg_name);
104104
#if MICROPY_PY_BUILTINS_FLOAT
105105
mp_float_t mp_arg_validate_obj_float_non_negative(mp_obj_t float_in, mp_float_t default_for_null, qstr arg_name);
106-
void mp_arg_validate_obj_float_range(mp_obj_t float_in, mp_int_t min, mp_int_t max, qstr arg_name);
106+
mp_float_t mp_arg_validate_obj_float_range(mp_obj_t float_in, mp_int_t min, mp_int_t max, qstr arg_name);
107+
mp_float_t mp_arg_validate_float_range(mp_float_t float_in, mp_int_t min, mp_int_t max, qstr arg_name);
107108
mp_float_t mp_arg_validate_type_float(mp_obj_t obj, qstr arg_name);
108109
#endif
109110
mp_uint_t mp_arg_validate_length_min(mp_uint_t length, mp_uint_t min, qstr arg_name);

0 commit comments

Comments
 (0)