Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
f20375ee
Commit
f20375ee
authored
Aug 12, 2014
by
Damien George
Browse files
py: Add .real and .imag attributes to complex numbers.
parent
bb91f119
Changes
2
Hide whitespace changes
Inline
Side-by-side
py/objcomplex.c
View file @
f20375ee
...
...
@@ -132,6 +132,15 @@ STATIC mp_obj_t complex_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) {
return
mp_obj_complex_binary_op
(
op
,
lhs
->
real
,
lhs
->
imag
,
rhs_in
);
}
STATIC
void
complex_load_attr
(
mp_obj_t
self_in
,
qstr
attr
,
mp_obj_t
*
dest
)
{
mp_obj_complex_t
*
self
=
self_in
;
if
(
attr
==
MP_QSTR_real
)
{
dest
[
0
]
=
mp_obj_new_float
(
self
->
real
);
}
else
if
(
attr
==
MP_QSTR_imag
)
{
dest
[
0
]
=
mp_obj_new_float
(
self
->
imag
);
}
}
const
mp_obj_type_t
mp_type_complex
=
{
{
&
mp_type_type
},
.
name
=
MP_QSTR_complex
,
...
...
@@ -139,6 +148,7 @@ const mp_obj_type_t mp_type_complex = {
.
make_new
=
complex_make_new
,
.
unary_op
=
complex_unary_op
,
.
binary_op
=
complex_binary_op
,
.
load_attr
=
complex_load_attr
,
};
mp_obj_t
mp_obj_new_complex
(
mp_float_t
real
,
mp_float_t
imag
)
{
...
...
py/qstrdefs.h
View file @
f20375ee
...
...
@@ -136,7 +136,11 @@ Q(calcsize)
Q
(
chr
)
Q
(
classmethod
)
Q
(
_collections
)
#if MICROPY_PY_BUILTINS_COMPLEX
Q
(
complex
)
Q
(
real
)
Q
(
imag
)
#endif
Q
(
dict
)
Q
(
dir
)
Q
(
divmod
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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