def test_dot(rng): gen = UnitLengthVectors(50, rng) a = SemanticPointer(next(gen)) * 1.1 b = SemanticPointer(next(gen)) * (-1.5) assert np.allclose(a.dot(b), np.dot(a.v, b.v)) assert np.allclose(a.dot(b.v), np.dot(a.v, b.v)) assert np.allclose(a.dot(list(b.v)), np.dot(a.v, b.v)) assert np.allclose(a.dot(tuple(b.v)), np.dot(a.v, b.v))
def test_compare(rng): gen = UnitLengthVectors(50, rng) a = SemanticPointer(next(gen)) * 10 b = SemanticPointer(next(gen)) * 0.1 assert a.compare(a) > 0.99 assert a.compare(b) < 0.2 assert np.allclose(a.compare(b), a.dot(b) / (a.length() * b.length()))