summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-02-21 19:35:09 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-02-22 01:21:08 +0200
commite06cf89f04b3258d5dfb3849e7f2eeb359a65547 (patch)
treec03e3e7fe68eba9b1a7259f5ea90c7b8d19dbed1
parent3611c1de14cd26a9737a494017b90a7076132c04 (diff)
downloadmicropython-e06cf89f04b3258d5dfb3849e7f2eeb359a65547.tar.gz
micropython-e06cf89f04b3258d5dfb3849e7f2eeb359a65547.zip
py: Add few more special methods.
-rw-r--r--py/objtype.c12
-rw-r--r--py/qstrdefs.h4
2 files changed, 11 insertions, 5 deletions
diff --git a/py/objtype.c b/py/objtype.c
index 6accaa74ed..711572bd4b 100644
--- a/py/objtype.c
+++ b/py/objtype.c
@@ -368,10 +368,12 @@ const qstr mp_binary_op_method_name[] = {
*/
[MP_BINARY_OP_ADD] = MP_QSTR___add__,
[MP_BINARY_OP_SUBTRACT] = MP_QSTR___sub__,
+ #if MICROPY_PY_ALL_SPECIAL_METHODS
+ [MP_BINARY_OP_MULTIPLY] = MP_QSTR___mul__,
+ [MP_BINARY_OP_FLOOR_DIVIDE] = MP_QSTR___floordiv__,
+ [MP_BINARY_OP_TRUE_DIVIDE] = MP_QSTR___truediv__,
+ #endif
/*
- MP_BINARY_OP_MULTIPLY,
- MP_BINARY_OP_FLOOR_DIVIDE,
- MP_BINARY_OP_TRUE_DIVIDE,
MP_BINARY_OP_MODULO,
MP_BINARY_OP_POWER,
MP_BINARY_OP_INPLACE_OR,
@@ -381,9 +383,9 @@ const qstr mp_binary_op_method_name[] = {
MP_BINARY_OP_INPLACE_RSHIFT,*/
#if MICROPY_PY_ALL_SPECIAL_METHODS
[MP_BINARY_OP_INPLACE_ADD] = MP_QSTR___iadd__,
+ [MP_BINARY_OP_INPLACE_SUBTRACT] = MP_QSTR___isub__,
#endif
- /*MP_BINARY_OP_INPLACE_SUBTRACT,
- MP_BINARY_OP_INPLACE_MULTIPLY,
+ /*MP_BINARY_OP_INPLACE_MULTIPLY,
MP_BINARY_OP_INPLACE_FLOOR_DIVIDE,
MP_BINARY_OP_INPLACE_TRUE_DIVIDE,
MP_BINARY_OP_INPLACE_MODULO,
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index 32f5b2ce05..f273367d54 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -76,7 +76,11 @@ Q(__le__)
Q(__ge__)
Q(__reversed__)
#if MICROPY_PY_ALL_SPECIAL_METHODS
+Q(__mul__)
+Q(__truediv__)
+Q(__floordiv__)
Q(__iadd__)
+Q(__isub__)
#endif
Q(micropython)