def test_is_compatible_degenerate(self): dist_bc = Distribution(self.context, (10, 10), ('b', 'c'), (1, 1), targets=[0]) dist_cb = Distribution(self.context, (10, 10), ('c', 'b'), (1, 1), targets=[0]) self.assertTrue(dist_bc.is_compatible(dist_cb)) self.assertTrue(dist_cb.is_compatible(dist_bc))
def test_is_compatible_nodist(self): # See GH issue #461. dist_bcn = Distribution(self.context, (10, 10, 10), ('b', 'c', 'n'), (1, 1, 1), targets=[0]) dist_nnn = Distribution(self.context, (10, 10, 10), ('n', 'n', 'n'), (1, 1, 1), targets=[0]) self.assertTrue(dist_bcn.is_compatible(dist_nnn)) self.assertTrue(dist_nnn.is_compatible(dist_bcn))
def test_not_compatible(self): dist_b1 = Distribution(self.context, (10, ), ('b', ), (1, ), targets=[0]) dist_b2 = Distribution(self.context, (9, ), ('b', ), (1, ), targets=[0]) self.assertFalse(dist_b1.is_compatible(dist_b2)) self.assertFalse(dist_b2.is_compatible(dist_b1)) dist_b3 = Distribution(self.context, (10, ), ('b', ), (2, ), targets=[0, 1]) self.assertFalse(dist_b1.is_compatible(dist_b3)) self.assertFalse(dist_b3.is_compatible(dist_b1)) dist_b4 = Distribution(self.context, (10, ), ('c', ), (2, ), targets=[0, 1]) self.assertFalse(dist_b4.is_compatible(dist_b3)) self.assertFalse(dist_b3.is_compatible(dist_b4)) gdd_unstructured = ({ 'dist_type': 'u', 'indices': [range(10)], }, ) dist_u = Distribution.from_global_dim_data(self.context, gdd_unstructured) self.assertFalse(dist_u.is_compatible(dist_b1)) self.assertFalse(dist_b1.is_compatible(dist_u))
def test_not_compatible(self): dist_b1 = Distribution(self.context, (10,), ("b",), (1,), targets=[0]) dist_b2 = Distribution(self.context, (9,), ("b",), (1,), targets=[0]) self.assertFalse(dist_b1.is_compatible(dist_b2)) self.assertFalse(dist_b2.is_compatible(dist_b1)) dist_b3 = Distribution(self.context, (10,), ("b",), (2,), targets=[0, 1]) self.assertFalse(dist_b1.is_compatible(dist_b3)) self.assertFalse(dist_b3.is_compatible(dist_b1)) dist_b4 = Distribution(self.context, (10,), ("c",), (2,), targets=[0, 1]) self.assertFalse(dist_b4.is_compatible(dist_b3)) self.assertFalse(dist_b3.is_compatible(dist_b4)) gdd_unstructured = ({"dist_type": "u", "indices": [range(10)]},) dist_u = Distribution.from_global_dim_data(self.context, gdd_unstructured) self.assertFalse(dist_u.is_compatible(dist_b1)) self.assertFalse(dist_b1.is_compatible(dist_u))
def test_is_compatible(self): nr, nc, nd = 10 ** 5, 10 ** 6, 10 ** 4 cm0 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n")) self.assertTrue(cm0.is_compatible(cm0)) cm1 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n")) self.assertTrue(cm1.is_compatible(cm1)) self.assertTrue(cm0.is_compatible(cm1)) self.assertTrue(cm1.is_compatible(cm0)) nr -= 1 nc -= 1 nd -= 1 cm2 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n")) self.assertFalse(cm1.is_compatible(cm2)) self.assertFalse(cm2.is_compatible(cm1))
def test_is_compatible(self): nr, nc, nd = 10**5, 10**6, 10**4 cm0 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n')) self.assertTrue(cm0.is_compatible(cm0)) cm1 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n')) self.assertTrue(cm1.is_compatible(cm1)) self.assertTrue(cm0.is_compatible(cm1)) self.assertTrue(cm1.is_compatible(cm0)) nr -= 1 nc -= 1 nd -= 1 cm2 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n')) self.assertFalse(cm1.is_compatible(cm2)) self.assertFalse(cm2.is_compatible(cm1))
def test_is_compatible_degenerate(self): dist_bc = Distribution(self.context, (10, 10), ("b", "c"), (1, 1), targets=[0]) dist_cb = Distribution(self.context, (10, 10), ("c", "b"), (1, 1), targets=[0]) self.assertTrue(dist_bc.is_compatible(dist_cb)) self.assertTrue(dist_cb.is_compatible(dist_bc))
def test_is_compatible_nodist(self): # See GH issue #461. dist_bcn = Distribution(self.context, (10, 10, 10), ("b", "c", "n"), (1, 1, 1), targets=[0]) dist_nnn = Distribution(self.context, (10, 10, 10), ("n", "n", "n"), (1, 1, 1), targets=[0]) self.assertTrue(dist_bcn.is_compatible(dist_nnn)) self.assertTrue(dist_nnn.is_compatible(dist_bcn))