void imdctf(float* time_signal, float* mdct_line, mdctf_plan* m_plan) // Looks like JavaScript has already failed at this point.
{
float *xr, *xi, r0, i0, r1, i1; // And if it didn't fail above, it will here.
float *cos_tw, *sin_tw, c, s;
int N4, N2, N34, N54, n;
N4 = (m_plan->N) >> 2;
N2 = 2 * N4;
N34 = 3 * N4;
N54 = 5 * N4;
cos_tw = m_plan->twiddle;
sin_tw = cos_tw + 1;
/* pre-twiddle */
xr = (float*) m_plan->fft_in; // Oh god... This will destroy...
xi = xr + 1;
for(n = 0; n < N2; n += 2) // Bring on the nukes!
{
r0 = mdct_line[n];
i0 = mdct_line[N2-1-n];
c = cos_tw[n];
s = sin_tw[n];
xr[n] = -2.f * (i0 * s + r0 * c); // KILL! MAIM! DESTROY!
xi[n] = -2.f * (i0 * c - r0 * s); // RUB IN SALT! POUR IN IODINE!
}
// etc. etc.