def test_Equality(reset_NodeDict): x = Var('x') y = Var('y') fx = VSF('f', x) #Each expressions are reused if cached. assert (x is not Var('x')) x.cache() assert (x is Var('x')) fx.cache() assert (fx is VSF('f', x)) assert (Var('x') == x) assert (Val(1) == Val(1)) #Values are simplified to scalar when possible: assert (Val(1) == Val(np.array([1]))) assert (Val(1) == Val(np.array([[1]])))
def declareAndCache(name, val=None): var = Var(name, val) var.cache() return var