From 31bdafac67268ace9c4eeda4a225379609ce8b99 Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Thu, 29 Oct 2015 17:56:48 -0700 Subject: Added a few tests to cover rank-0 tensors --- unsupported/test/cxx11_tensor_fixed_size.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'unsupported/test/cxx11_tensor_fixed_size.cpp') diff --git a/unsupported/test/cxx11_tensor_fixed_size.cpp b/unsupported/test/cxx11_tensor_fixed_size.cpp index 5252e4d72..1c33fefb3 100644 --- a/unsupported/test/cxx11_tensor_fixed_size.cpp +++ b/unsupported/test/cxx11_tensor_fixed_size.cpp @@ -15,6 +15,33 @@ using Eigen::Tensor; using Eigen::RowMajor; +static void test_0d() +{ + TensorFixedSize > scalar1; + TensorFixedSize, RowMajor> scalar2; + VERIFY_IS_EQUAL(scalar1.rank(), 0); + + scalar1() = 7.0; + scalar2() = 13.0; + + // Test against shallow copy. + TensorFixedSize > copy = scalar1; + VERIFY_IS_NOT_EQUAL(scalar1.data(), copy.data()); + VERIFY_IS_APPROX(scalar1(), copy()); + copy = scalar1; + VERIFY_IS_NOT_EQUAL(scalar1.data(), copy.data()); + VERIFY_IS_APPROX(scalar1(), copy()); + + TensorFixedSize > scalar3 = scalar1.sqrt(); + TensorFixedSize, RowMajor> scalar4 = scalar2.sqrt(); + VERIFY_IS_EQUAL(scalar3.rank(), 0); + VERIFY_IS_APPROX(scalar3(), sqrtf(7.0)); + VERIFY_IS_APPROX(scalar4(), sqrtf(13.0)); + + scalar3 = scalar1 + scalar2; + VERIFY_IS_APPROX(scalar3(), 7.0f + 13.0f); +} + static void test_1d() { TensorFixedSize > vec1; @@ -223,6 +250,7 @@ static void test_array() void test_cxx11_tensor_fixed_size() { + CALL_SUBTEST(test_0d()); CALL_SUBTEST(test_1d()); CALL_SUBTEST(test_tensor_map()); CALL_SUBTEST(test_2d()); -- cgit v1.2.3