According to my understanding of hashing and equality, I tried to enhance the performance of equality checking by ensuring that __eq__ does not perform component based comparison only if vectors has the same hash values (if two hashes is different then the two vectors are definitely unequal). because if two vectors has same hash value then:
either they equal
they are not equal Vector(1, 0, -1) and Vector(1, -1, 0) will have the same hash value of -2
According to my understanding of hashing and equality, I tried to enhance the performance of equality checking by ensuring that
__eq__
does not perform component based comparison only if vectors has the same hash values (if two hashes is different then the two vectors are definitely unequal). because if two vectors has same hash value then:Vector(1, 0, -1)
andVector(1, -1, 0)
will have the same hash value of -2