diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-01-14 15:46:04 -0800 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-01-14 15:46:04 -0800 |
commit | b5124e7cfda27ed99dcfcec8cb1b674efa1ef4a3 (patch) | |
tree | 7f8378843a756af14785e563689b4765e062a953 /unsupported/test/cxx11_tensor_padding.cpp | |
parent | 54e3633b437e44ed4d370c9f8868535192308ca3 (diff) |
Created many additional tests
Diffstat (limited to 'unsupported/test/cxx11_tensor_padding.cpp')
-rw-r--r-- | unsupported/test/cxx11_tensor_padding.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/unsupported/test/cxx11_tensor_padding.cpp b/unsupported/test/cxx11_tensor_padding.cpp index 6f74216dd..ffa19896e 100644 --- a/unsupported/test/cxx11_tensor_padding.cpp +++ b/unsupported/test/cxx11_tensor_padding.cpp @@ -13,9 +13,10 @@ using Eigen::Tensor; +template<int DataLayout> static void test_simple_padding() { - Tensor<float, 4> tensor(2,3,5,7); + Tensor<float, 4, DataLayout> tensor(2,3,5,7); tensor.setRandom(); array<std::pair<ptrdiff_t, ptrdiff_t>, 4> paddings; @@ -24,7 +25,7 @@ static void test_simple_padding() paddings[2] = std::make_pair(3, 4); paddings[3] = std::make_pair(0, 0); - Tensor<float, 4> padded; + Tensor<float, 4, DataLayout> padded; padded = tensor.pad(paddings); VERIFY_IS_EQUAL(padded.dimension(0), 2+0); @@ -47,9 +48,10 @@ static void test_simple_padding() } } +template<int DataLayout> static void test_padded_expr() { - Tensor<float, 4> tensor(2,3,5,7); + Tensor<float, 4, DataLayout> tensor(2,3,5,7); tensor.setRandom(); array<std::pair<ptrdiff_t, ptrdiff_t>, 4> paddings; @@ -62,17 +64,19 @@ static void test_padded_expr() reshape_dims[0] = 12; reshape_dims[1] = 84; - Tensor<float, 2> result; + Tensor<float, 2, DataLayout> result; result = tensor.pad(paddings).reshape(reshape_dims); for (int i = 0; i < 2; ++i) { for (int j = 0; j < 6; ++j) { for (int k = 0; k < 12; ++k) { for (int l = 0; l < 7; ++l) { + const float result_value = DataLayout == ColMajor ? + result(i+2*j,k+12*l) : result(j+6*i,l+7*k); if (j >= 2 && j < 5 && k >= 3 && k < 8) { - VERIFY_IS_EQUAL(result(i+2*j,k+12*l), tensor(i,j-2,k-3,l)); + VERIFY_IS_EQUAL(result_value, tensor(i,j-2,k-3,l)); } else { - VERIFY_IS_EQUAL(result(i+2*j,k+12*l), 0.0f); + VERIFY_IS_EQUAL(result_value, 0.0f); } } } @@ -80,9 +84,10 @@ static void test_padded_expr() } } - void test_cxx11_tensor_padding() { - CALL_SUBTEST(test_simple_padding()); - CALL_SUBTEST(test_padded_expr()); + CALL_SUBTEST(test_simple_padding<ColMajor>()); + CALL_SUBTEST(test_simple_padding<RowMajor>()); + CALL_SUBTEST(test_padded_expr<ColMajor>()); + CALL_SUBTEST(test_padded_expr<RowMajor>()); } |