def test_cpp_extension(self): self.assertTrue((hashranking.hamming_distance([[1.0]], [[1.0]]) == [[0]]).all()) self.assertTrue((hashranking.hamming_distance( [[1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0]], [[1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0]]) == [[3]]).all()) self.assertTrue((hashranking.hamming_distance( [[1.0, -1.0, -1.0], [-1.0, -1.0, -1.0]], [[1.0, -1.0, -1.0], [1.0, 1.0, -1.0]]) == [[0, 1], [1, 2]]).all())
def test_on_random_64(self): b1 = np.random.rand(200, 64).astype(np.float32) - 0.5 b2 = np.random.rand(500, 64).astype(np.float32) - 0.5 d1 = hashranking.hamming_distance(b1, b2) d2 = hashranking.numpy_implementation.hamming_distance(b1, b2) self.assertTrue((d1 == d2).all())