static void fft_test(AC3MDCTContext *mdct, AVLFG *lfg)

{

    IComplex in[FN], in1[FN];

    int k, n, i;

    float sum_re, sum_im, a;



    for (i = 0; i < FN; i++) {

        in[i].re = av_lfg_get(lfg) % 65535 - 32767;

        in[i].im = av_lfg_get(lfg) % 65535 - 32767;

        in1[i]   = in[i];

    }

    fft(mdct, in, 7);



    /* do it by hand */

    for (k = 0; k < FN; k++) {

        sum_re = 0;

        sum_im = 0;

        for (n = 0; n < FN; n++) {

            a = -2 * M_PI * (n * k) / FN;

            sum_re += in1[n].re * cos(a) - in1[n].im * sin(a);

            sum_im += in1[n].re * sin(a) + in1[n].im * cos(a);

        }

        av_log(NULL, AV_LOG_DEBUG, "%3d: %6d,%6d %6.0f,%6.0f\n",

               k, in[k].re, in[k].im, sum_re / FN, sum_im / FN);

    }

}

static void fft_test(AC3MDCTContext *mdct, AVLFG *lfg)

{

    IComplex in[FN], in1[FN];

    int k, n, i;

    float sum_re, sum_im, a;



    for (i = 0; i < FN; i++) {

        in[i].re = av_lfg_get(lfg) % 65535 - 32767;

        in[i].im = av_lfg_get(lfg) % 65535 - 32767;

        in1[i]   = in[i];

    }

    fft(mdct, in, 7);



    

    for (k = 0; k < FN; k++) {

        sum_re = 0;

        sum_im = 0;

        for (n = 0; n < FN; n++) {

            a = -2 * M_PI * (n * k) / FN;

            sum_re += in1[n].re * cos(a) - in1[n].im * sin(a);

            sum_im += in1[n].re * sin(a) + in1[n].im * cos(a);

        }

        av_log(NULL, AV_LOG_DEBUG, "%3d: %6d,%6d %6.0f,%6.0f\n",

               k, in[k].re, in[k].im, sum_re / FN, sum_im / FN);

    }

}

static void FUNC_0(AC3MDCTContext *VAR_0, AVLFG *VAR_1)

{

    IComplex in[FN], in1[FN];

    int VAR_2, VAR_3, VAR_4;

    float VAR_5, VAR_6, VAR_7;



    for (VAR_4 = 0; VAR_4 < FN; VAR_4++) {

        in[VAR_4].re = av_lfg_get(VAR_1) % 65535 - 32767;

        in[VAR_4].im = av_lfg_get(VAR_1) % 65535 - 32767;

        in1[VAR_4]   = in[VAR_4];

    }

    fft(VAR_0, in, 7);



    

    for (VAR_2 = 0; VAR_2 < FN; VAR_2++) {

        VAR_5 = 0;

        VAR_6 = 0;

        for (VAR_3 = 0; VAR_3 < FN; VAR_3++) {

            VAR_7 = -2 * M_PI * (VAR_3 * VAR_2) / FN;

            VAR_5 += in1[VAR_3].re * cos(VAR_7) - in1[VAR_3].im * sin(VAR_7);

            VAR_6 += in1[VAR_3].re * sin(VAR_7) + in1[VAR_3].im * cos(VAR_7);

        }

        av_log(NULL, AV_LOG_DEBUG, "%3d: %6d,%6d %6.0f,%6.0f\VAR_3",

               VAR_2, in[VAR_2].re, in[VAR_2].im, VAR_5 / FN, VAR_6 / FN);

    }

}

static void FUNC_0(AC3MDCTContext *VAR_0, AVLFG *VAR_1)
{ IComplex in[FN], in1[FN]; int VAR_2, VAR_3, VAR_4; float VAR_5, VAR_6, VAR_7; for (VAR_4 = 0; VAR_4 < FN; VAR_4++) { in[VAR_4].re = av_lfg_get(VAR_1) % 65535 - 32767; in[VAR_4].im = av_lfg_get(VAR_1) % 65535 - 32767; in1[VAR_4]   = in[VAR_4]; } fft(VAR_0, in, 7); for (VAR_2 = 0; VAR_2 < FN; VAR_2++) { VAR_5 = 0; VAR_6 = 0; for (VAR_3 = 0; VAR_3 < FN; VAR_3++) { VAR_7 = -2 * M_PI * (VAR_3 * VAR_2) / FN; VAR_5 += in1[VAR_3].re * cos(VAR_7) - in1[VAR_3].im * sin(VAR_7); VAR_6 += in1[VAR_3].re * sin(VAR_7) + in1[VAR_3].im * cos(VAR_7); } av_log(NULL, AV_LOG_DEBUG, "%3d: %6d,%6d %6.0f,%6.0f\VAR_3",
VAR_2, in[VAR_2].re, in[VAR_2].im, VAR_5 / FN, VAR_6 / FN); } }