def __ne__(left, right): return left._op2(right, lambda x, y: not quat.isequal(x, y, unitq=True), list1=False)
def __eq__(self, other): assert type(self) == type(other), 'operands to == are of different types' return self._op2(other, lambda x, y: quat.isequal(x, y), list1=False )
def __ne__(self, other): assert isinstance(self, type(other)), 'operands to == are of different types' return self._op2(other, lambda x, y: not quat.isequal(x, y), list1=False)