def test_binary(): t1 = dc.array(2, 3).asTypeFloat() t2 = dc.array(2, 3).asTypeInt() add = dc.add(t1, t1) add = t1 + t1
def test_Add1D_int_float(self): npr = np.add(self.np_int_a, self.np_float_b) dcr = dc.add(self.dc_int_a, self.dc_float_b) np.testing.assert_allclose(npr, np.array(dcr.data()), rtol=1e-3, atol=1e-3)
def test_Add1D_double_bool(self): npr = np.add(self.np_double_a, self.np_bool_b) dcr = dc.add(self.dc_double_a, self.dc_bool_b) np.testing.assert_allclose(npr, np.array(dcr.data()), rtol=1e-3, atol=1e-3)
def test_Add4D_double_double (self): np_double_a = np.reshape(self.np_double_a, (4,2,2,3)) np_double_b = np.reshape(self.np_double_b, (4,2,2,3)) dc_double_a = dc.reshape(self.dc_double_a, (4,2,2,3)) dc_double_b = dc.reshape(self.dc_double_b, (4,2,2,3)) npr = np.add(np_double_a, np_double_b) dcr = dc.add(dc_double_a, dc_double_b) np.testing.assert_allclose(npr.flatten(), np.array(dcr.data()), rtol=1e-3, atol=1e-3)
def test_Add3D_float_float (self): np_float_a = np.reshape(self.np_float_a, (4,4,3)) np_float_b = np.reshape(self.np_float_b, (4,4,3)) dc_float_a = dc.reshape(self.dc_float_a, (4,4,3)) dc_float_b = dc.reshape(self.dc_float_b, (4,4,3)) npr = np.add(np_float_a, np_float_b) dcr = dc.add(dc_float_a, dc_float_b) np.testing.assert_allclose(npr.flatten(), np.array(dcr.data()), rtol=1e-3, atol=1e-3)
def test_Add2D_int_int (self): np_int_a = np.reshape(self.np_int_a, (6,8)) np_int_b = np.reshape(self.np_int_b, (6,8)) dc_int_a = dc.reshape(self.dc_int_a, (6,8)) dc_int_b = dc.reshape(self.dc_int_b, (6,8)) npr = np.add(np_int_a, np_int_b) dcr = dc.add(dc_int_a, dc_int_b) np.testing.assert_allclose(npr.flatten(), np.array(dcr.data()), rtol=1e-3, atol=1e-3)
def test_Add(self): dc_a = dc.reshape(self.dc_a, (5, 4)) dc_b = dc.reshape(self.dc_b, (2, 5, 4)) np_a = np.reshape(self.np_a, (5, 4)) np_b = np.reshape(self.np_b, (2, 5, 4)) npr = np.add(np_a, np_b) dcr = dc.add(dc_a, dc_b) np.testing.assert_allclose(npr.flatten(), np.array(dcr.data()).astype(np.float32), rtol=1e-3, atol=1e-3)
def test_error_message(self): dc_a = dc.reshape(self.dc_a, (2, 5, 2)) dc_b = dc.reshape(self.dc_b, (4, 5, 2)) np_a = np.reshape(self.np_a, (2, 5, 2)) np_b = np.reshape(self.np_b, (4, 5, 2)) try: np_sum = np.add(np_a, np_b) except: type, val, tb = sys.exc_info() np_err = val.__str__() assert (np_err[0:65] == self.err[0:65] ), "ASSERT FAILED for numpy error message" try: dc_sum = dc.add(dc_a, dc_b) except: type, val, tb = sys.exc_info() dc_err = val.__str__() assert (dc_err[0:65] == self.err[0:65] ), "ASSERT FAILED for dc error message" assert (dc_err[0:65] == np_err[0:65] ), "ASSERT FAILED for matching numpy and dc error message"
def test_detailed(): t_dc = dc.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]) t_dc1 = dc.array([[21, 22], [23, 24], [26, 27]]) t_dc[2] t_dc[2, 1] int(t_dc[2, 1]) t_dc[2:3, :] t_dc[2] t_dc[2, :] t_dc[2:3, 1:2] t_dc[1, ::2] t_dc[1:2:1, 1:2] t_dc[1:2:1, ...] t_dc[..., 1] t_dc[..., ::-2] t_dc[1:2:-1, ::-2] t_dc[2:3, 1:2] = 30 t_dc[2, 1] = 1 t_dc[0:3, 0:2] = t_dc1 t1 = dc.array(2, 3).asTypeFloat() t2 = dc.array(2, 3).asTypeInt() add = dc.add(t1, t1) add = t1 + t1