Ocean
Loading...
Searching...
No Matches
TestAutomaticDifferentiation.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_AUTOMATIC_DIFFERENTIATION_H
9#define META_OCEAN_TEST_TESTMATH_TEST_AUTOMATIC_DIFFERENTIATION_H
10
12
14
15namespace Ocean
16{
17
18namespace Test
19{
20
21namespace TestMath
22{
23
24/**
25 * This class implements a test for the automatic differentiation functionalities.
26 * @ingroup testmath
27 */
28class OCEAN_TEST_MATH_EXPORT TestAutomaticDifferentiation
29{
30 public:
31
32 /**
33 * Tests all automatic differentiation functions.
34 * @param testDuration Number of seconds for each test, with range (0, infinity)
35 * @param selector The test selector
36 * @return True, if succeeded
37 */
38 static bool test(const double testDuration, const TestSelector& selector);
39
40 /**
41 * Tests the automatic differentiation of simple functions.
42 * @param testDuration Number of seconds for each test, with range (0, infinity)
43 * @return True, if succeeded
44 * @tparam T The data type to be used
45 */
46 template <typename T>
47 static bool testSimple(const double testDuration);
48
49 /**
50 * Tests the automatic differentiation of mathematic functions.
51 * @param testDuration Number of seconds for each test, with range (0, infinity)
52 * @return True, if succeeded
53 * @tparam T The data type to be used
54 */
55 template <typename T>
56 static bool testFunctions(const double testDuration);
57
58 /**
59 * Tests the automatic differentiation of nested functions.
60 * @param testDuration Number of seconds for each test, with range (0, infinity)
61 * @return True, if succeeded
62 * @tparam T The data type to be used
63 */
64 template <typename T>
65 static bool testNested(const double testDuration);
66
67 /**
68 * Tests the automatic differentiation for the homography function.
69 * @param testDuration Number of seconds for each test, with range (0, infinity)
70 * @return True, if succeeded
71 * @tparam T The data type to be used
72 */
73 template <typename T>
74 static bool testHomography(const double testDuration);
75
76 /**
77 * Tests the automatic differentiation for the 6-DOF camera pose function.
78 * @param testDuration Number of seconds for each test, with range (0, infinity)
79 * @return True, if succeeded
80 * @tparam T The data type to be used
81 */
82 template <typename T>
83 static bool testPose(const double testDuration);
84};
85
86}
87
88}
89
90}
91
92#endif // META_OCEAN_TEST_TESTMATH_TEST_AUTOMATIC_DIFFERENTIATION_H
This class implements a test for the automatic differentiation functionalities.
Definition TestAutomaticDifferentiation.h:29
static bool test(const double testDuration, const TestSelector &selector)
Tests all automatic differentiation functions.
static bool testFunctions(const double testDuration)
Tests the automatic differentiation of mathematic functions.
static bool testNested(const double testDuration)
Tests the automatic differentiation of nested functions.
static bool testHomography(const double testDuration)
Tests the automatic differentiation for the homography function.
static bool testSimple(const double testDuration)
Tests the automatic differentiation of simple functions.
static bool testPose(const double testDuration)
Tests the automatic differentiation for the 6-DOF camera pose function.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
The namespace covering the entire Ocean framework.
Definition Accessor.h:15