aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/cxx11_tensor_dimension.cpp
diff options
context:
space:
mode:
authorGravatar Eugene Zhulenev <ezhulenev@google.com>2018-09-15 15:17:38 -0700
committerGravatar Eugene Zhulenev <ezhulenev@google.com>2018-09-15 15:17:38 -0700
commit66f056776f1220ede1aa5cbfe058b88d6df3e359 (patch)
treea4330631913375478020054258515dde7a8e63fd /unsupported/test/cxx11_tensor_dimension.cpp
parent42705ba574e8c0a1764ef96e41831ed353b4057e (diff)
Add DSizes index type promotion
Diffstat (limited to 'unsupported/test/cxx11_tensor_dimension.cpp')
-rw-r--r--unsupported/test/cxx11_tensor_dimension.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/unsupported/test/cxx11_tensor_dimension.cpp b/unsupported/test/cxx11_tensor_dimension.cpp
index 10364d4b4..26f8edd8a 100644
--- a/unsupported/test/cxx11_tensor_dimension.cpp
+++ b/unsupported/test/cxx11_tensor_dimension.cpp
@@ -60,10 +60,28 @@ static void test_rank_zero()
VERIFY_IS_EQUAL((int)dscalar.rank(), 0);
}
+static void test_index_type_promotion() {
+#ifdef EIGEN_HAS_CXX11
+ Eigen::DSizes<int, 3> src0(1, 2, 3);
+ Eigen::array<int, 3> src1 = {4, 5, 6};
+
+ Eigen::DSizes<long, 3> dst0(src0);
+ Eigen::DSizes<long, 3> dst1(src1);
+
+ VERIFY_IS_EQUAL(dst0[0], 1L);
+ VERIFY_IS_EQUAL(dst0[1], 2L);
+ VERIFY_IS_EQUAL(dst0[2], 3L);
+ VERIFY_IS_EQUAL(dst1[0], 4L);
+ VERIFY_IS_EQUAL(dst1[1], 5L);
+ VERIFY_IS_EQUAL(dst1[2], 6L);
+#endif // EIGEN_HAS_CXX11
+}
+
EIGEN_DECLARE_TEST(cxx11_tensor_dimension)
{
CALL_SUBTEST(test_dynamic_size());
CALL_SUBTEST(test_fixed_size());
CALL_SUBTEST(test_match());
CALL_SUBTEST(test_rank_zero());
+ CALL_SUBTEST(test_index_type_promotion());
}