Add ifft_symmetric and its unit test.

This commit is contained in:
kradchen
2023-05-05 13:22:15 +08:00
parent c967788302
commit 5353aa53d5
4 changed files with 70 additions and 30 deletions

View File

@@ -363,6 +363,17 @@ TEST_F(Function2D_Test, hilbert) {
EXPECT_DOUBLE_EQ(fourDecimalRound(result[11].imag()),0.3249);
}
TEST_F(Function2D_Test, ifft_symmetric) {
double *input = new double[18]{10,2,1,3,4,4,16,3,1,2,15,-2,1,-3,4,-4,1,-3};
auto ma = Aurora::Matrix::fromRawData(input,9,1,1,Aurora::Complex);
auto ret = Aurora::ifft_symmetric(ma,18);
auto result = ret.getData();
EXPECT_DOUBLE_EQ(fourDecimalRound(result[0]),5.3333);
EXPECT_DOUBLE_EQ(fourDecimalRound(result[1]),1.1188);
EXPECT_DOUBLE_EQ(fourDecimalRound(result[11]),2.8506);
EXPECT_DOUBLE_EQ(fourDecimalRound(result[17]),1.1188);
}
TEST_F(Function2D_Test, prod) {
double *dataB = new double[20]{1.1, 2.6, 3.8, 6.2,
4.3, 5.7, 6.9, 10.6,