aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/cxx11_tensor_dimension.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-04-29 18:15:34 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-04-29 18:15:34 -0700
commitd2172178425ef3963a9b9696d5071b808cc33902 (patch)
treed6b25a65e9667361c807b50ae37c9305d137ffad /unsupported/test/cxx11_tensor_dimension.cpp
parentf100d1494ced3fdfb2c6a364596fc251a9e6cecc (diff)
Added a few tests to ensure that the dimensions of rank 0 tensors are correctly computed
Diffstat (limited to 'unsupported/test/cxx11_tensor_dimension.cpp')
-rw-r--r--unsupported/test/cxx11_tensor_dimension.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/unsupported/test/cxx11_tensor_dimension.cpp b/unsupported/test/cxx11_tensor_dimension.cpp
index ce78efe52..421e73693 100644
--- a/unsupported/test/cxx11_tensor_dimension.cpp
+++ b/unsupported/test/cxx11_tensor_dimension.cpp
@@ -37,7 +37,6 @@ static void test_fixed_size()
VERIFY_IS_EQUAL(dimensions.TotalSize(), 2*3*7);
}
-
static void test_match()
{
Eigen::DSizes<int, 3> dyn(2,3,7);
@@ -49,10 +48,22 @@ static void test_match()
VERIFY_IS_EQUAL(Eigen::dimensions_match(dyn1, dyn2), false);
}
+static void test_rank_zero()
+{
+ Eigen::Sizes<> scalar;
+ VERIFY_IS_EQUAL(scalar.TotalSize(), 1);
+ VERIFY_IS_EQUAL(scalar.rank(), 0);
+ VERIFY_IS_EQUAL(internal::array_prod(scalar), 1);
+
+ Eigen::DSizes<ptrdiff_t, 0> dscalar;
+ VERIFY_IS_EQUAL(dscalar.TotalSize(), 1);
+ VERIFY_IS_EQUAL(dscalar.rank(), 0);
+}
void test_cxx11_tensor_dimension()
{
CALL_SUBTEST(test_dynamic_size());
CALL_SUBTEST(test_fixed_size());
CALL_SUBTEST(test_match());
+ CALL_SUBTEST(test_rank_zero());
}