@@ -342,6 +342,7 @@ const byte mp_unary_op_method_name[MP_UNARY_OP_NUM_RUNTIME] = {
342
342
[MP_UNARY_OP_POSITIVE ] = MP_QSTR___pos__ ,
343
343
[MP_UNARY_OP_NEGATIVE ] = MP_QSTR___neg__ ,
344
344
[MP_UNARY_OP_INVERT ] = MP_QSTR___invert__ ,
345
+ [MP_UNARY_OP_ABS ] = MP_QSTR___abs__ ,
345
346
#endif
346
347
#if MICROPY_PY_SYS_GETSIZEOF
347
348
[MP_UNARY_OP_SIZEOF ] = MP_QSTR___sizeof__ ,
@@ -422,8 +423,20 @@ const byte mp_binary_op_method_name[MP_BINARY_OP_NUM_RUNTIME] = {
422
423
[MP_BINARY_OP_IN ] = MP_QSTR___contains__ ,
423
424
424
425
#if MICROPY_PY_ALL_SPECIAL_METHODS
426
+ // All inplace methods are optional, and normal methods will be used
427
+ // as a fallback.
425
428
[MP_BINARY_OP_INPLACE_ADD ] = MP_QSTR___iadd__ ,
426
429
[MP_BINARY_OP_INPLACE_SUBTRACT ] = MP_QSTR___isub__ ,
430
+ [MP_BINARY_OP_INPLACE_MULTIPLY ] = MP_QSTR___imul__ ,
431
+ [MP_BINARY_OP_INPLACE_FLOOR_DIVIDE ] = MP_QSTR___ifloordiv__ ,
432
+ [MP_BINARY_OP_INPLACE_TRUE_DIVIDE ] = MP_QSTR___itruediv__ ,
433
+ [MP_BINARY_OP_INPLACE_MODULO ] = MP_QSTR___imod__ ,
434
+ [MP_BINARY_OP_INPLACE_POWER ] = MP_QSTR___ipow__ ,
435
+ [MP_BINARY_OP_INPLACE_OR ] = MP_QSTR___ior__ ,
436
+ [MP_BINARY_OP_INPLACE_XOR ] = MP_QSTR___ixor__ ,
437
+ [MP_BINARY_OP_INPLACE_AND ] = MP_QSTR___iand__ ,
438
+ [MP_BINARY_OP_INPLACE_LSHIFT ] = MP_QSTR___ilshift__ ,
439
+ [MP_BINARY_OP_INPLACE_RSHIFT ] = MP_QSTR___irshift__ ,
427
440
#endif
428
441
429
442
[MP_BINARY_OP_ADD ] = MP_QSTR___add__ ,
@@ -432,12 +445,31 @@ const byte mp_binary_op_method_name[MP_BINARY_OP_NUM_RUNTIME] = {
432
445
[MP_BINARY_OP_MULTIPLY ] = MP_QSTR___mul__ ,
433
446
[MP_BINARY_OP_FLOOR_DIVIDE ] = MP_QSTR___floordiv__ ,
434
447
[MP_BINARY_OP_TRUE_DIVIDE ] = MP_QSTR___truediv__ ,
448
+ [MP_BINARY_OP_MODULO ] = MP_QSTR___mod__ ,
449
+ [MP_BINARY_OP_DIVMOD ] = MP_QSTR___divmod__ ,
450
+ [MP_BINARY_OP_POWER ] = MP_QSTR___pow__ ,
451
+ [MP_BINARY_OP_OR ] = MP_QSTR___or__ ,
452
+ [MP_BINARY_OP_XOR ] = MP_QSTR___xor__ ,
453
+ [MP_BINARY_OP_AND ] = MP_QSTR___and__ ,
454
+ [MP_BINARY_OP_LSHIFT ] = MP_QSTR___lshift__ ,
455
+ [MP_BINARY_OP_RSHIFT ] = MP_QSTR___rshift__ ,
435
456
#endif
436
457
437
458
#if MICROPY_PY_REVERSE_SPECIAL_METHODS
438
459
[MP_BINARY_OP_REVERSE_ADD ] = MP_QSTR___radd__ ,
439
460
[MP_BINARY_OP_REVERSE_SUBTRACT ] = MP_QSTR___rsub__ ,
461
+ #if MICROPY_PY_ALL_SPECIAL_METHODS
440
462
[MP_BINARY_OP_REVERSE_MULTIPLY ] = MP_QSTR___rmul__ ,
463
+ [MP_BINARY_OP_REVERSE_FLOOR_DIVIDE ] = MP_QSTR___rfloordiv__ ,
464
+ [MP_BINARY_OP_REVERSE_TRUE_DIVIDE ] = MP_QSTR___rtruediv__ ,
465
+ [MP_BINARY_OP_REVERSE_MODULO ] = MP_QSTR___rmod__ ,
466
+ [MP_BINARY_OP_REVERSE_POWER ] = MP_QSTR___rpow__ ,
467
+ [MP_BINARY_OP_REVERSE_OR ] = MP_QSTR___ror__ ,
468
+ [MP_BINARY_OP_REVERSE_XOR ] = MP_QSTR___rxor__ ,
469
+ [MP_BINARY_OP_REVERSE_AND ] = MP_QSTR___rand__ ,
470
+ [MP_BINARY_OP_REVERSE_LSHIFT ] = MP_QSTR___rlshift__ ,
471
+ [MP_BINARY_OP_REVERSE_RSHIFT ] = MP_QSTR___rrshift__ ,
472
+ #endif
441
473
#endif
442
474
};
443
475
0 commit comments