27 float in1, in2, in3, in4;
28 float factor =
M_PI / (ndst);
30 for (
int i = 0; i < ndst / 4; i++) {
32 in1 =
data[2 * i + 0];
33 in2 =
data[2 * i + 1];
35 in3 =
data[ndst - 2 * i - 2];
36 in4 =
data[ndst - 2 * i - 1];
39 in1 * cos(factor * (i + 0))
40 - in4 * sin(factor * ((ndst - i - 1)))
44 in1 * sin(factor * (i))
45 - in4 * cos(factor * ((ndst - i - 1)))
48 data[ndst - i * 2 - 2] = (
49 -in3 * cos(factor * (ndst - i - 1))
50 + in2 * sin(factor * (ndst - i - 1))
53 data[ndst - i * 2 - 1] = (
54 +in3 * sin(factor * (i + 1))
55 - in2 * cos(-factor * (i + 1))
70 for (
int i = 0; i < ndst / 4; i++) {
71 in1 =
data[2 * i + 0];
72 in2 =
data[2 * i + 1];
74 in3 =
data[ndst - 2 * i - 2];
75 in4 =
data[ndst - 2 * i - 1];
78 in1 * cos(factor * (0 + i))
79 + in2 * sin(factor * (0 + i))
82 data[ndst - i * 2 - 2 + 1] = (
83 -in1 * cos(factor * (ndst / 2 - i))
84 + in2 * sin(factor * (ndst / 2 - i))
88 -in3 * cos(factor * (1 + i))
89 + in4 * sin(factor * (1 + i))
92 data[ndst - i * 2 - 2 + 0] = (
93 +in3 * cos(factor * (ndst / 2 - i - 1))
94 + in4 * sin(factor * (ndst / 2 - i - 1))