1. 11 Nov, 2017 1 commit
  2. 09 Nov, 2017 2 commits
  3. 08 Nov, 2017 3 commits
  4. 07 Nov, 2017 1 commit
  5. 06 Nov, 2017 2 commits
  6. 03 Nov, 2017 2 commits
  7. 02 Nov, 2017 1 commit
  8. 01 Nov, 2017 1 commit
  9. 30 Oct, 2017 1 commit
  10. 27 Oct, 2017 1 commit
  11. 26 Oct, 2017 4 commits
  12. 25 Oct, 2017 1 commit
  13. 24 Oct, 2017 3 commits
  14. 23 Oct, 2017 1 commit
  15. 22 Oct, 2017 3 commits
  16. 20 Oct, 2017 1 commit
  17. 19 Oct, 2017 1 commit
  18. 17 Oct, 2017 2 commits
  19. 16 Oct, 2017 3 commits
  20. 15 Oct, 2017 2 commits
  21. 14 Oct, 2017 3 commits
  22. 13 Oct, 2017 1 commit
    • Add same_as to NodeBase (#550) · fde9b570
      * 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
      Wei Chen committed