MCPcopy Create free account
hub / github.com/abess-team/abess / test_slice

Function test_slice

python/include/unsupported/test/cxx11_tensor_ref.cpp:91–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89
90
91static void test_slice()
92{
93 Tensor<float, 5> tensor(2,3,5,7,11);
94 tensor.setRandom();
95
96 Eigen::DSizes<ptrdiff_t, 5> indices(1,2,3,4,5);
97 Eigen::DSizes<ptrdiff_t, 5> sizes(1,1,1,1,1);
98 TensorRef<Tensor<float, 5>> slice = tensor.slice(indices, sizes);
99 VERIFY_IS_EQUAL(slice(0,0,0,0,0), tensor(1,2,3,4,5));
100
101 Eigen::DSizes<ptrdiff_t, 5> indices2(1,1,3,4,5);
102 Eigen::DSizes<ptrdiff_t, 5> sizes2(1,1,2,2,3);
103 slice = tensor.slice(indices2, sizes2);
104 for (int i = 0; i < 2; ++i) {
105 for (int j = 0; j < 2; ++j) {
106 for (int k = 0; k < 3; ++k) {
107 VERIFY_IS_EQUAL(slice(0,0,i,j,k), tensor(1,1,3+i,4+j,5+k));
108 }
109 }
110 }
111
112 Eigen::DSizes<ptrdiff_t, 5> indices3(0,0,0,0,0);
113 Eigen::DSizes<ptrdiff_t, 5> sizes3(2,3,1,1,1);
114 slice = tensor.slice(indices3, sizes3);
115 VERIFY_IS_EQUAL(slice.data(), tensor.data());
116}
117
118
119static void test_ref_of_ref()

Callers 1

test_cxx11_tensor_refFunction · 0.70

Calls 2

sliceClass · 0.50
dataMethod · 0.45

Tested by

no test coverage detected