Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
14f945c2
Commit
14f945c2
authored
Jan 03, 2014
by
Damien George
Browse files
Add note about implementing inplace operators.
parent
66028ab6
Changes
1
Hide whitespace changes
Inline
Side-by-side
py/runtime.c
View file @
14f945c2
...
...
@@ -471,6 +471,16 @@ mp_obj_t rt_unary_op(int op, mp_obj_t arg) {
mp_obj_t
rt_binary_op
(
int
op
,
mp_obj_t
lhs
,
mp_obj_t
rhs
)
{
DEBUG_OP_printf
(
"binary %d %p %p
\n
"
,
op
,
lhs
,
rhs
);
// TODO correctly distinguish inplace operators for mutable objects
// lookup logic that CPython uses for +=:
// check for implemented +=
// then check for implemented +
// then check for implemented seq.inplace_concat
// then check for implemented seq.concat
// then fail
// note that list does not implement + or +=, so that inplace_concat is reached first for +=
if
(
MP_OBJ_IS_SMALL_INT
(
lhs
)
&&
MP_OBJ_IS_SMALL_INT
(
rhs
))
{
mp_small_int_t
lhs_val
=
MP_OBJ_SMALL_INT_VALUE
(
lhs
);
mp_small_int_t
rhs_val
=
MP_OBJ_SMALL_INT_VALUE
(
rhs
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment