mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-20 06:10:31 +01:00
[python] Update to MicroPython 1.9.4
This commit is contained in:
committed by
EmilieNumworks
parent
caff93cda0
commit
73250e727a
@@ -138,6 +138,24 @@ STATIC mp_obj_t range_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
|
||||
}
|
||||
}
|
||||
|
||||
#if MICROPY_PY_BUILTINS_RANGE_BINOP
|
||||
STATIC mp_obj_t range_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_in) {
|
||||
if (!MP_OBJ_IS_TYPE(rhs_in, &mp_type_range) || op != MP_BINARY_OP_EQUAL) {
|
||||
return MP_OBJ_NULL; // op not supported
|
||||
}
|
||||
mp_obj_range_t *lhs = MP_OBJ_TO_PTR(lhs_in);
|
||||
mp_obj_range_t *rhs = MP_OBJ_TO_PTR(rhs_in);
|
||||
mp_int_t lhs_len = range_len(lhs);
|
||||
mp_int_t rhs_len = range_len(rhs);
|
||||
return mp_obj_new_bool(
|
||||
lhs_len == rhs_len
|
||||
&& (lhs_len == 0
|
||||
|| (lhs->start == rhs->start
|
||||
&& (lhs_len == 1 || lhs->step == rhs->step)))
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
STATIC mp_obj_t range_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
|
||||
if (value == MP_OBJ_SENTINEL) {
|
||||
// load
|
||||
@@ -195,6 +213,9 @@ const mp_obj_type_t mp_type_range = {
|
||||
.print = range_print,
|
||||
.make_new = range_make_new,
|
||||
.unary_op = range_unary_op,
|
||||
#if MICROPY_PY_BUILTINS_RANGE_BINOP
|
||||
.binary_op = range_binary_op,
|
||||
#endif
|
||||
.subscr = range_subscr,
|
||||
.getiter = range_getiter,
|
||||
#if MICROPY_PY_BUILTINS_RANGE_ATTRS
|
||||
|
||||
Reference in New Issue
Block a user