示例#1
0
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']
示例#2
0
    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'])
示例#3
0
    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)