示例#1
0
 def test_slice_of_slice_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), order='C')
     s = a.create_slice([(5, 0, 0, 1)])
     assert s.start == 15 * 5
     s2 = s.create_slice([(3, 0, 0, 1)])
     assert s2.shape == [3]
     assert s2.strides == [1]
     assert s2.parent is a
     assert s2.backstrides == [2]
     assert s2.start == 5 * 15 + 3 * 3
     s = a.create_slice([(1, 5, 3, 2)])
     s2 = s.create_slice([(0, 2, 1, 2), (2, 0, 0, 1)])
     assert s2.shape == [2, 3]
     assert s2.strides == [45, 1]
     assert s2.backstrides == [45, 2]
     assert s2.start == 1 * 15 + 2 * 3
示例#2
0
 def test_slice_of_slice_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(5, 0, 0, 1)])
     assert s.start == 5
     s2 = s.create_slice([(3, 0, 0, 1)])
     assert s2.shape == [3]
     assert s2.strides == [50]
     assert s2.parent is a
     assert s2.backstrides == [100]
     assert s2.start == 35
     s = a.create_slice([(1, 5, 3, 2)])
     s2 = s.create_slice([(0, 2, 1, 2), (2, 0, 0, 1)])
     assert s2.shape == [2, 3]
     assert s2.strides == [3, 50]
     assert s2.backstrides == [3, 100]
     assert s2.start == 1 * 15 + 2 * 3
示例#3
0
 def test_slice_of_slice_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(5, 0, 0, 1)])
     assert s.start == 5
     s2 = s.create_slice([(3, 0, 0, 1)])
     assert s2.shape == [3]
     assert s2.strides == [50]
     assert s2.parent is a
     assert s2.backstrides == [100]
     assert s2.start == 35
     s = a.create_slice([(1, 5, 3, 2)])
     s2 = s.create_slice([(0, 2, 1, 2), (2, 0, 0, 1)])
     assert s2.shape == [2, 3]
     assert s2.strides == [3, 50]
     assert s2.backstrides == [3, 100]
     assert s2.start == 1 * 15 + 2 * 3
示例#4
0
 def test_slice_of_slice_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), order='C')
     s = a.create_slice([(5, 0, 0, 1)])
     assert s.start == 15 * 5
     s2 = s.create_slice([(3, 0, 0, 1)])
     assert s2.shape == [3]
     assert s2.strides == [1]
     assert s2.parent is a
     assert s2.backstrides == [2]
     assert s2.start == 5 * 15 + 3 * 3
     s = a.create_slice([(1, 5, 3, 2)])
     s2 = s.create_slice([(0, 2, 1, 2), (2, 0, 0, 1)])
     assert s2.shape == [2, 3]
     assert s2.strides == [45, 1]
     assert s2.backstrides == [45, 2]
     assert s2.start == 1 * 15 + 2 * 3
示例#5
0
 def test_create_slice_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(3, 0, 0, 1)])
     assert s.start == 3
     assert s.strides == [10, 50]
     assert s.backstrides == [40, 100]
     s = a.create_slice([(1, 9, 2, 4)])
     assert s.start == 1
     assert s.strides == [2, 10, 50]
     assert s.backstrides == [6, 40, 100]
     s = a.create_slice([(1, 5, 3, 2), (1, 2, 1, 1), (1, 0, 0, 1)])
     assert s.shape == [2, 1]
     assert s.strides == [3, 10]
     assert s.backstrides == [3, 0]
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     assert s.start == 20
     assert s.shape == [10, 3]
示例#6
0
 def test_create_slice_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(3, 0, 0, 1)])
     assert s.start == 3
     assert s.strides == [10, 50]
     assert s.backstrides == [40, 100]
     s = a.create_slice([(1, 9, 2, 4)])
     assert s.start == 1
     assert s.strides == [2, 10, 50]
     assert s.backstrides == [6, 40, 100]
     s = a.create_slice([(1, 5, 3, 2), (1, 2, 1, 1), (1, 0, 0, 1)])
     assert s.shape == [2, 1]
     assert s.strides == [3, 10]
     assert s.backstrides == [3, 0]
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     assert s.start == 20
     assert s.shape == [10, 3]
示例#7
0
 def test_create_slice_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'C')
     s = a.create_slice([(3, 0, 0, 1)])
     assert s.start == 45
     assert s.strides == [3, 1]
     assert s.backstrides == [12, 2]
     s = a.create_slice([(1, 9, 2, 4)])
     assert s.start == 15
     assert s.strides == [30, 3, 1]
     assert s.backstrides == [90, 12, 2]
     s = a.create_slice([(1, 5, 3, 2), (1, 2, 1, 1), (1, 0, 0, 1)])
     assert s.start == 19
     assert s.shape == [2, 1]
     assert s.strides == [45, 3]
     assert s.backstrides == [45, 0]
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     assert s.start == 6
     assert s.shape == [10, 3]
示例#8
0
 def test_index_of_single_item_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'C')
     r = a._index_of_single_item(self.space, self.newtuple(1, 2, 2))
     assert r == 1 * 3 * 5 + 2 * 3 + 2
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     r = s._index_of_single_item(self.space, self.newtuple(1, 0))
     assert r == a._index_of_single_item(self.space, self.newtuple(1, 2, 0))
     r = s._index_of_single_item(self.space, self.newtuple(1, 1))
     assert r == a._index_of_single_item(self.space, self.newtuple(1, 2, 1))
示例#9
0
 def test_create_slice_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'C')
     s = a.create_slice([(3, 0, 0, 1)])
     assert s.start == 45
     assert s.strides == [3, 1]
     assert s.backstrides == [12, 2]
     s = a.create_slice([(1, 9, 2, 4)])
     assert s.start == 15
     assert s.strides == [30, 3, 1]
     assert s.backstrides == [90, 12, 2]
     s = a.create_slice([(1, 5, 3, 2), (1, 2, 1, 1), (1, 0, 0, 1)])
     assert s.start == 19
     assert s.shape == [2, 1]
     assert s.strides == [45, 3]
     assert s.backstrides == [45, 0]
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     assert s.start == 6
     assert s.shape == [10, 3]
示例#10
0
 def test_index_of_single_item_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'C')
     r = a._index_of_single_item(self.space, self.newtuple(1, 2, 2))
     assert r == 1 * 3 * 5 + 2 * 3 + 2
     s = a.create_slice([(0, 10, 1, 10), (2, 0, 0, 1)])
     r = s._index_of_single_item(self.space, self.newtuple(1, 0))
     assert r == a._index_of_single_item(self.space, self.newtuple(1, 2, 0))
     r = s._index_of_single_item(self.space, self.newtuple(1, 1))
     assert r == a._index_of_single_item(self.space, self.newtuple(1, 2, 1))
示例#11
0
 def test_negative_step_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), order='C')
     s = a.create_slice([(9, -1, -2, 5)])
     assert s.start == 135
     assert s.strides == [-30, 3, 1]
     assert s.backstrides == [-120, 12, 2]
示例#12
0
 def test_negative_step_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(9, -1, -2, 5)])
     assert s.start == 9
     assert s.strides == [-2, 10, 50]
     assert s.backstrides == [-8, 40, 100]
示例#13
0
 def test_negative_step_c(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), order='C')
     s = a.create_slice([(9, -1, -2, 5)])
     assert s.start == 135
     assert s.strides == [-30, 3, 1]
     assert s.backstrides == [-120, 12, 2]
示例#14
0
 def test_negative_step_f(self):
     a = W_NDimArray(10 * 5 * 3, [10, 5, 3], MockDtype(), 'F')
     s = a.create_slice([(9, -1, -2, 5)])
     assert s.start == 9
     assert s.strides == [-2, 10, 50]
     assert s.backstrides == [-8, 40, 100]