diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-10-29 17:56:48 -0700 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-10-29 17:56:48 -0700 |
commit | 31bdafac67268ace9c4eeda4a225379609ce8b99 (patch) | |
tree | 4319272836a27e6f126b84876596205e112df143 /unsupported/test/cxx11_tensor_fixed_size.cpp | |
parent | ce19e38c1f1f31f7b7588504b3ce93c34bbd7a12 (diff) |
Added a few tests to cover rank-0 tensors
Diffstat (limited to 'unsupported/test/cxx11_tensor_fixed_size.cpp')
-rw-r--r-- | unsupported/test/cxx11_tensor_fixed_size.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
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<float, Sizes<> > scalar1; + TensorFixedSize<float, Sizes<>, RowMajor> scalar2; + VERIFY_IS_EQUAL(scalar1.rank(), 0); + + scalar1() = 7.0; + scalar2() = 13.0; + + // Test against shallow copy. + TensorFixedSize<float, Sizes<> > 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<float, Sizes<> > scalar3 = scalar1.sqrt(); + TensorFixedSize<float, Sizes<>, 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<float, Sizes<6> > 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()); |