diff options
author | Yi Kong <yikong@google.com> | 2022-02-25 15:53:09 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-02-25 15:53:09 +0000 |
commit | 10f298fc4175c1b8537c674f654a070c871960e5 (patch) | |
tree | fb979fb4cf4f8052c8cc66b1ec9516d91fcd859b /test/commainitializer.cpp | |
parent | 892aea0d75825c43d5b630e2060622cbba23694c (diff) | |
parent | 79df15ea886a5fc1b85de433f9b3518c68934bae (diff) | |
download | eigen-10f298fc4175c1b8537c674f654a070c871960e5.tar.gz |
Merge changes Iee153445,Iee274471 am: 79df15ea88android-games-sdk-games-performance-tuner-releaseandroid-games-sdk-games-memory-advice-releaseandroid-games-sdk-games-frame-pacing-releaseandroid-games-sdk-games-controller-releaseandroid-games-sdk-game-text-input-releaseandroid-games-sdk-game-activity-release
Original change: https://android-review.googlesource.com/c/platform/external/eigen/+/1999079
Change-Id: I0c5108390c595f0d39af8797875f2b88accb7b56
Diffstat (limited to 'test/commainitializer.cpp')
-rw-r--r-- | test/commainitializer.cpp | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/test/commainitializer.cpp b/test/commainitializer.cpp index 9844adbd2..eb275be9c 100644 --- a/test/commainitializer.cpp +++ b/test/commainitializer.cpp @@ -34,8 +34,14 @@ void test_blocks() if(N1 > 0) { - VERIFY_RAISES_ASSERT((m_fixed << mat11, mat12, mat11, mat21, mat22)); - VERIFY_RAISES_ASSERT((m_fixed << mat11, mat12, mat21, mat21, mat22)); + if(M1 > 0) + { + VERIFY_RAISES_ASSERT((m_fixed << mat11, mat12, mat11, mat21, mat22)); + } + if(M2 > 0) + { + VERIFY_RAISES_ASSERT((m_fixed << mat11, mat12, mat21, mat21, mat22)); + } } else { @@ -49,24 +55,25 @@ void test_blocks() } -template<int N> +template<int depth, int N=0> struct test_block_recursion { static void run() { - test_blocks<(N>>6)&3, (N>>4)&3, (N>>2)&3, N & 3>(); - test_block_recursion<N-1>::run(); + test_block_recursion<depth-1, N>::run(); + test_block_recursion<depth-1, N + (1 << (depth-1))>::run(); } }; -template<> -struct test_block_recursion<-1> +template<int N> +struct test_block_recursion<0,N> { - static void run() { } + static void run() { + test_blocks<(N>>6)&3, (N>>4)&3, (N>>2)&3, N & 3>(); + } }; -void test_commainitializer() -{ +void test_basics() { Matrix3d m3; Matrix4d m4; @@ -99,8 +106,13 @@ void test_commainitializer() 4, 5, 6, vec[2].transpose(); VERIFY_IS_APPROX(m3, ref); +} + +EIGEN_DECLARE_TEST(commainitializer) +{ + CALL_SUBTEST_1(test_basics()); // recursively test all block-sizes from 0 to 3: - test_block_recursion<(1<<8) - 1>(); + CALL_SUBTEST_2(test_block_recursion<8>::run()); } |