def test_triu_execution(setup): a = arange(24, chunk_size=2).reshape(2, 3, 4) t = triu(a) res = t.execute().fetch() expected = np.triu(np.arange(24).reshape(2, 3, 4)) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = t.execute().fetch() expected = np.triu(np.arange(24).reshape(2, 3, 4), k=1) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = t.execute().fetch() expected = np.triu(np.arange(24).reshape(2, 3, 4), k=2) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = t.execute().fetch() expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-1) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = t.execute().fetch() expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-2) np.testing.assert_equal(res, expected) # test sparse a = arange(12, chunk_size=2).reshape(3, 4).tosparse() t = triu(a) res = t.execute().fetch() expected = np.triu(np.arange(12).reshape(3, 4)) assert isinstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = t.execute().fetch() expected = np.triu(np.arange(12).reshape(3, 4), k=1) assert isinstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = t.execute().fetch() expected = np.triu(np.arange(12).reshape(3, 4), k=2) assert isinstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = t.execute().fetch() expected = np.triu(np.arange(12).reshape(3, 4), k=-1) assert isinstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = t.execute().fetch() expected = np.triu(np.arange(12).reshape(3, 4), k=-2) assert isinstance(res, SparseNDArray) np.testing.assert_equal(res, expected) raw = np.asfortranarray(np.random.rand(10, 7)) a = tensor(raw, chunk_size=3) t = triu(a, k=-2) res = t.execute().fetch() expected = np.triu(raw, k=-2) np.testing.assert_array_equal(res, expected) assert res.flags['C_CONTIGUOUS'] == expected.flags['C_CONTIGUOUS'] assert res.flags['F_CONTIGUOUS'] == expected.flags['F_CONTIGUOUS']
def testTriuExecution(self): a = arange(24, chunk_size=2).reshape(2, 3, 4) t = triu(a) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4)) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=1) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=2) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-1) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-2) np.testing.assert_equal(res, expected) # test sparse a = arange(12, chunk_size=2).reshape(3, 4).tosparse() t = triu(a) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4)) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=1) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=2) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=-1) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=-2) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) raw = np.asfortranarray(np.random.rand(10, 7)) a = tensor(raw, chunk_size=3) t = triu(a, k=-2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(raw, k=-2) np.testing.assert_array_equal(res, expected) self.assertEqual(res.flags['C_CONTIGUOUS'], expected.flags['C_CONTIGUOUS']) self.assertEqual(res.flags['F_CONTIGUOUS'], expected.flags['F_CONTIGUOUS'])
def testTriuExecution(self): a = arange(24, chunk_size=2).reshape(2, 3, 4) t = triu(a) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4)) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=1) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=2) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-1) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(24).reshape(2, 3, 4), k=-2) np.testing.assert_equal(res, expected) # test sparse a = arange(12, chunk_size=2).reshape(3, 4).tosparse() t = triu(a) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4)) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=1) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=2) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-1) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=-1) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected) t = triu(a, k=-2) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.triu(np.arange(12).reshape(3, 4), k=-2) self.assertIsInstance(res, SparseNDArray) np.testing.assert_equal(res, expected)