objtype: Add special unary methods __pos__, __neg__, __invert__.

Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
This commit is contained in:
Paul Sokolovsky 2015-03-30 02:29:59 +03:00
parent fdaac1dbf8
commit 1bc534247c
2 changed files with 8 additions and 3 deletions

View File

@ -330,9 +330,11 @@ mp_obj_t instance_make_new(mp_obj_t self_in, mp_uint_t n_args, mp_uint_t n_kw, c
const qstr mp_unary_op_method_name[] = {
[MP_UNARY_OP_BOOL] = MP_QSTR___bool__,
[MP_UNARY_OP_LEN] = MP_QSTR___len__,
//[MP_UNARY_OP_POSITIVE,
//[MP_UNARY_OP_NEGATIVE,
//[MP_UNARY_OP_INVERT,
#if MICROPY_PY_ALL_SPECIAL_METHODS
[MP_UNARY_OP_POSITIVE] = MP_QSTR___pos__,
[MP_UNARY_OP_NEGATIVE] = MP_QSTR___neg__,
[MP_UNARY_OP_INVERT] = MP_QSTR___invert__,
#endif
[MP_UNARY_OP_NOT] = MP_QSTR_, // don't need to implement this, used to make sure array has full size
};

View File

@ -85,6 +85,9 @@ Q(__truediv__)
Q(__floordiv__)
Q(__iadd__)
Q(__isub__)
Q(__invert__)
Q(__neg__)
Q(__pos__)
#endif
Q(micropython)