Name |
Last commit
|
Last update |
---|---|---|
.. | ||
_ctypes | ||
_cy2 | ||
_cy3 | ||
_cython | ||
__init__.py | ||
base.py | ||
function.py | ||
libinfo.py | ||
ndarray.py | ||
node.py | ||
node_generic.py | ||
runtime_ctypes.py |
* Add same_as to NodeBase 1. Most class inherited from NodeBase(Schedule, Stage, etc) still have the convenience of using '==' for object identity. And this is the right behavior for non-Expr classes. 2. subclasses of ExprOp now create EQ expression when '==' is used. `__nonzero__` and `__bool__` in EQ and NE is a comprise that in some cases object identity semantics is still useful, like in unit test. For instance: ```` assert a == b ```` "a == b" will create EQ expression, assert then calls `__nonzero__` of the result expression. `Expr.__nonzero__` throws exception since it prohibits evaluating IR expression. More complex case like: ```` assert a in b # b is dict ```` it will call `__eq__` on a and all keys of b, then `__bool__` on the result expression. This could not easily be done by same_as. * Retain __hash__ from NodeBase in Python3
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
_ctypes | Loading commit data... | |
_cy2 | Loading commit data... | |
_cy3 | Loading commit data... | |
_cython | Loading commit data... | |
__init__.py | Loading commit data... | |
base.py | Loading commit data... | |
function.py | Loading commit data... | |
libinfo.py | Loading commit data... | |
ndarray.py | Loading commit data... | |
node.py | Loading commit data... | |
node_generic.py | Loading commit data... | |
runtime_ctypes.py | Loading commit data... |