Ocean
TestFourierTransformation.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_FOURIER_TRANSFORMATION_H
9 #define META_OCEAN_TEST_TESTMATH_TEST_FOURIER_TRANSFORMATION_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements test for the Fourier transformation class.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestFourierTransformation
27 {
28  public:
29 
30  /**
31  * This functions tests all 3D line 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 forward and backward (inverse) Fourier transformation.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  * @tparam T The data type to be tested, 'float' or 'double'
42  * @tparam tSourceIsComplex True, if the source signal is complex; False, if the source is composed of real elements only
43  */
44  template <typename T, bool tSourceIsComplex>
45  static bool testFourierTransform(const double testDuration);
46 
47  /**
48  * Tests the element-wise multiplication of two complex spectrums.
49  * @param testDuration Number of seconds for each test, with range (0, infinity)
50  * @return True, if succeeded
51  * @tparam T The data type to be tested, 'float' or 'double'
52  */
53  template <typename T>
54  static bool testElementwiseMultiplication2(const double testDuration);
55 
56  /**
57  * Tests the element-wise division of two complex spectrums.
58  * @param testDuration Number of seconds for each test, with range (0, infinity)
59  * @return True, if succeeded
60  * @tparam T The data type to be tested, 'float' or 'double'
61  */
62  template <typename T>
63  static bool testElementwiseDivision2(const double testDuration);
64 };
65 
66 }
67 
68 }
69 
70 }
71 
72 #endif // META_OCEAN_TEST_TESTMATH_TEST_FOURIER_TRANSFORMATION_H
This class implements test for the Fourier transformation class.
Definition: TestFourierTransformation.h:27
static bool testElementwiseMultiplication2(const double testDuration)
Tests the element-wise multiplication of two complex spectrums.
static bool testFourierTransform(const double testDuration)
Tests the forward and backward (inverse) Fourier transformation.
static bool test(const double testDuration)
This functions tests all 3D line functions.
static bool testElementwiseDivision2(const double testDuration)
Tests the element-wise division of two complex spectrums.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15