Ocean
TestHomogenousMatrix4.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTMATH_TEST_HOMOGENOUS_MATRIX_4_H
9 #define META_OCEAN_TEST_TESTMATH_TEST_HOMOGENOUS_MATRIX_4_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements a test for 4x4 homogeneous matrices.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestHomogenousMatrix4
27 {
28  public:
29 
30  /**
31  * Tests all homogeneous matrix 4x4 functions.
32  * @param testDuration Number of seconds for each test, with range (0, infinity)
33  * @return True, if succeeded
34  */
35  static bool test(const double testDuration);
36 
37  /**
38  * Tests the messenger function.
39  * @return True, if succeeded
40  */
41  static bool testWriteToMessenger();
42 
43  /**
44  * Tests the matrix constructor.
45  * @param testDuration Number of seconds for each test, with range (0, infinity)
46  * @return True, if succeeded
47  * @tparam T The floating point data type to be used for testing
48  */
49  template <typename T>
50  static bool testConstructor(const double testDuration);
51 
52  /**
53  * Tests the element-based constructor.
54  * @param testDuration The number of seconds for each test, with range (0, infinity)
55  * @return True, if succeeded
56  * @tparam T The floating point data type to be used for testing
57  */
58  template <typename T>
59  static bool testElementConstructor(const double testDuration);
60 
61  /**
62  * Tests the invert function.
63  * @param testDuration Number of seconds for each test, with range (0, infinity)
64  * @return True, if succeeded
65  * @tparam T The floating point data type to be used for testing
66  */
67  template <typename T>
68  static bool testInvert(const double testDuration);
69 
70  /**
71  * Tests the decomposition function.
72  * @param testDuration Number of seconds for each test, with range (0, infinity)
73  * @return True, if succeeded
74  * @tparam T The floating point data type to be used for testing
75  */
76  template <typename T>
77  static bool testDecomposition(const double testDuration);
78 
79  /**
80  * Tests the matrix conversion functions.
81  * @param testDuration Number of seconds for each test, with range (0, infinity)
82  * @return True, if succeeded
83  * @tparam T The floating point data type to be used for testing
84  */
85  template <typename T>
86  static bool testVectorConversion(const double testDuration);
87 
88  /**
89  * Tests the copy elements functions.
90  * @param testDuration Number of seconds for each test, with range (0, infinity)
91  * @return True, if succeeded
92  * @tparam T The floating point data type to be used for testing
93  */
94  template <typename T>
95  static bool testCopyElements(const double testDuration);
96 };
97 
98 }
99 
100 }
101 
102 }
103 
104 #endif // META_OCEAN_TEST_TESTMATH_TEST_HOMOGENOUS_MATRIX_4_H
This class implements a test for 4x4 homogeneous matrices.
Definition: TestHomogenousMatrix4.h:27
static bool testVectorConversion(const double testDuration)
Tests the matrix conversion functions.
static bool testCopyElements(const double testDuration)
Tests the copy elements functions.
static bool testWriteToMessenger()
Tests the messenger function.
static bool testConstructor(const double testDuration)
Tests the matrix constructor.
static bool testElementConstructor(const double testDuration)
Tests the element-based constructor.
static bool testInvert(const double testDuration)
Tests the invert function.
static bool test(const double testDuration)
Tests all homogeneous matrix 4x4 functions.
static bool testDecomposition(const double testDuration)
Tests the decomposition function.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15