DSP_r4fft
4-96
si1 = w[ia1 * 2];
co2 = w[ia2 * 2 + 1];
si2 = w[ia2 * 2];
co3 = w[ia3 * 2 + 1];
si3 = w[ia3 * 2];
ia1 = ia1 + ie;
for (i0 = j; i0 < nx; i0 += n1) {
i1 = i0 + n2;
i2 = i1 + n2;
i3 = i2 + n2;
r1 = x[2 * i0] + x[2 * i2];
r2 = x[2 * i0] − x[2 * i2];
t = x[2 * i1] + x[2 * i3];
x[2 * i0] = r1 + t;
r1 = r1 − t;
s1 = x[2 * i0 + 1] + x[2 * i2 + 1];
s2 = x[2 * i0 + 1] − x[2 * i2 + 1];
t = x[2 * i1 + 1] + x[2 * i3 + 1];
x[2 * i0 + 1] = s1 + t;
s1 = s1 − t;
x[2 * i2] = (r1 * co2 + s1 * si2) >>
15;
x[2 * i2 + 1] = (s1 * co2−r1 *
si2)>>15;
t = x[2 * i1 + 1] − x[2 * i3 + 1];
r1 = r2 + t;
r2 = r2 − t;
t = x[2 * i1] − x[2 * i3];
s1 = s2 − t;
s2 = s2 + t;
x[2 * i1] = (r1 * co1 + s1 * si1)
>>15;
x[2 * i1 + 1] = (s1 * co1−r1 *
si1)>>15;
x[2 * i3] = (r2 * co3 + s2 * si3)