mirror of
https://github.com/triqs/dft_tools
synced 2024-12-26 06:14:14 +01:00
7cf7d09c77
- The issue comes from the fact that the default generated += and co by the Python API is the one for immutable types, like int. - Indeed, in python, for an int : x=1 id(x) 140266967205832 x+=1 id(x) 140266967205808 - For a mutable type, like a gf, it is necessary to add explicitly the xxx_inplace_add functions. - Added : - the generation of the inplace_xxx functions - a method in class_ in the wrapper generator that deduce all += operator from the + operators. - this assumes that the +=, ... are defined in C++. - The generation of such operators are optional, with option with_inplace_operators in the arithmetic flag. - Also, added the overload g += M and g -= M for g : GfImfreq, M a complex matrix. Mainly for legacy Python codes. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
dos.output.h5 | ||
dos.py | ||
gf_base_op.output.h5 | ||
gf_base_op.py | ||
gf_bcast.py | ||
gf_init.output.h5 | ||
gf_init.py | ||
gf_inplace_112.output | ||
gf_inplace_112.py | ||
h5_example.output.h5 | ||
h5_example.py | ||
hdf5_io.output.h5 | ||
hdf5_io.py | ||
operator_python_test.output | ||
operator_python_test.py | ||
pade.output.h5 | ||
pade.py | ||
test_example.output | ||
test_example.py |