예제 #1
0
def test_negative_order():
    raw1 = np.random.rand(4, 2)
    raw2 = np.asfortranarray(np.random.rand(4, 2))
    t1 = tensor(raw1)
    t2 = tensor(raw2)
    t3 = tensor(raw1)
    t4 = tensor(raw2)

    # C
    assert negative(t1).flags['C_CONTIGUOUS'] == np.negative(
        raw1).flags['C_CONTIGUOUS']
    assert negative(t1).flags['F_CONTIGUOUS'] == np.negative(
        raw1).flags['F_CONTIGUOUS']
    # F
    assert negative(t2).flags['C_CONTIGUOUS'] == np.negative(
        raw2).flags['C_CONTIGUOUS']
    assert negative(t2).flags['F_CONTIGUOUS'] == np.negative(
        raw2).flags['F_CONTIGUOUS']
    # C + out
    assert negative(t1, out=t4).flags['C_CONTIGUOUS'] == np.negative(
        raw1, out=np.empty((4, 2), order='F')).flags['C_CONTIGUOUS']
    assert negative(t1, out=t4).flags['F_CONTIGUOUS'] == np.negative(
        raw1, out=np.empty((4, 2), order='F')).flags['F_CONTIGUOUS']
    # F + out
    assert negative(t2, out=t3).flags['C_CONTIGUOUS'] == np.negative(
        raw1, out=np.empty((4, 2), order='C')).flags['C_CONTIGUOUS']
    assert negative(t2, out=t3).flags['F_CONTIGUOUS'] == np.negative(
        raw1, out=np.empty((4, 2), order='C')).flags['F_CONTIGUOUS']

    with pytest.raises(TypeError):
        negative(t1, order='B')
예제 #2
0
    def testNegativeOrder(self):
        raw1 = np.random.rand(4, 2)
        raw2 = np.asfortranarray(np.random.rand(4, 2))
        t1 = tensor(raw1)
        t2 = tensor(raw2)
        t3 = tensor(raw1)
        t4 = tensor(raw2)

        # C
        self.assertEqual(negative(t1).flags['C_CONTIGUOUS'], np.negative(raw1).flags['C_CONTIGUOUS'])
        self.assertEqual(negative(t1).flags['F_CONTIGUOUS'], np.negative(raw1).flags['F_CONTIGUOUS'])
        # F
        self.assertEqual(negative(t2).flags['C_CONTIGUOUS'], np.negative(raw2).flags['C_CONTIGUOUS'])
        self.assertEqual(negative(t2).flags['F_CONTIGUOUS'], np.negative(raw2).flags['F_CONTIGUOUS'])
        # C + out
        self.assertEqual(negative(t1, out=t4).flags['C_CONTIGUOUS'],
                         np.negative(raw1, out=np.empty((4, 2), order='F')).flags['C_CONTIGUOUS'])
        self.assertEqual(negative(t1, out=t4).flags['F_CONTIGUOUS'],
                         np.negative(raw1, out=np.empty((4, 2), order='F')).flags['F_CONTIGUOUS'])
        # F + out
        self.assertEqual(negative(t2, out=t3).flags['C_CONTIGUOUS'],
                         np.negative(raw1, out=np.empty((4, 2), order='C')).flags['C_CONTIGUOUS'])
        self.assertEqual(negative(t2, out=t3).flags['F_CONTIGUOUS'],
                         np.negative(raw1, out=np.empty((4, 2), order='C')).flags['F_CONTIGUOUS'])

        with self.assertRaises(TypeError):
            negative(t1, order='B')
예제 #3
0
    def testNegative(self):
        t1 = tensor([[0, 1, 0], [1, 0, 0]], chunk_size=2).tosparse()

        t = negative(t1)
        self.assertTrue(t.issparse())
        self.assertIs(type(t), SparseTensor)

        t.tiles()
        self.assertTrue(t.chunks[0].op.sparse)
예제 #4
0
def test_negative():
    t1 = tensor([[0, 1, 0], [1, 0, 0]], chunk_size=2).tosparse()

    t = negative(t1)
    assert t.op.gpu is False
    assert t.issparse() is True
    assert type(t) is SparseTensor

    t = tile(t)
    assert t.chunks[0].op.sparse is True