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