def test_dist_double_float_1(): # test without X_indices for metric in VECTOR_METRICS: for X, Y in ((X_double, Y_double), (X_float, Y_float)): dist_1 = dist(X, Y[0], metric) dist_2 = scipy.spatial.distance.cdist(X, [Y[0]], metric)[:, 0] yield lambda: np.testing.assert_almost_equal( dist_1, dist_2, decimal=5 if X.dtype == np.float32 else 10)
def test_dist_double_float_1(): # test without X_indices for metric in VECTOR_METRICS: for X, Y in ((X_double, Y_double), (X_float, Y_float)): dist_1 = dist(X, Y[0], metric) dist_2 = cdist(X, Y, metric)[:, 0] yield lambda: np.testing.assert_almost_equal( dist_1, dist_2, decimal=5 if X.dtype == np.float32 else 10)
def test_dist_double_float_2(): # test with X_indices for metric in VECTOR_METRICS: for X, Y in ((X_double, Y_double), (X_float, Y_float)): dist_1 = dist(X, Y[0], metric, X_indices) dist_2 = scipy.spatial.distance.cdist(X, [Y[0]], metric)[X_indices,0] yield lambda : np.testing.assert_almost_equal( dist_1, dist_2, decimal=5 if X.dtype == np.float32 else 10)
def test_dist_double_float_2(): # test with X_indices for metric in VECTOR_METRICS: for X, Y in ((X_double, Y_double), (X_float, Y_float)): dist_1 = dist(X, Y[0], metric, X_indices) dist_2 = cdist(X, Y, metric)[X_indices, 0] yield lambda: np.testing.assert_almost_equal( dist_1, dist_2, decimal=5 if X.dtype == np.float32 else 10)
def test_dist_rmsd_2(): d = dist(X_rmsd, Y_rmsd[0], "rmsd", X_indices) ref = md.rmsd(X_rmsd, Y_rmsd[0], precentered=True).astype(np.double)[X_indices] np.testing.assert_array_almost_equal(d, ref)
def test_dist_rmsd_2(): d = dist(X_rmsd, Y_rmsd[0], "rmsd", X_indices) ref = md.rmsd(X_rmsd, Y_rmsd[0], precentered=True).astype(np.double)[X_indices] np.testing.assert_array_almost_equal(d, ref)
def f(X, Y): return libdistance.dist(X, Y, metric)