Loading lib_com/fft_fx_evs.c +22 −6 Original line number Diff line number Diff line Loading @@ -32,11 +32,6 @@ static void fft64_16fx( Word16 *x, Word16 *y, const Word16 *Idx ); static void fft5_32_16fx( Word16 *zRe, Word16 *zIm, const Word16 *Idx ); static void cdftForw_16fx( Word16 n, Word16 *a, const Word16 *ip, const Word32 *w ); #include "math_32.h" /*-----------------------------------------------------------------* * Local functions *-----------------------------------------------------------------*/ static void cdftForw_fx( Word16 n, Word32 *a, const Word16 *ip, const Word16 *w ); static void bitrv2_SR_fx( Word16 n, const Word16 *ip, Word32 *a ); static void cftfsub_fx( Word16 n, Word32 *a, const Word16 *w ); Loading @@ -44,6 +39,12 @@ static void cft1st_fx( Word16 n, Word32 *a, const Word16 *w ); static void cftmdl_fx( Word16 n, Word16 l, Word32 *a, const Word16 *w ); /*-----------------------------------------------------------------* * DoRTFTn_fx() * * *-----------------------------------------------------------------*/ void DoRTFTn_fx( Word32 *x, /* i/o : real part of input and output data Q(x) */ Word32 *y, /* i/o : imaginary part of input and output data Q(x) */ Loading Loading @@ -113,7 +114,22 @@ void DoRTFTn_fx( } #ifdef OPTIMIZE_FFT_STACK IF( spec == NULL ) IF( spec != NULL ) { spec[0].re = z[0]; move16(); spec[0].im = z[1]; move16(); pt = &z[2]; FOR( i = n - 1; i >= 1; i-- ) { spec[i].re = *pt++; move16(); spec[i].im = *pt++; move16(); } } ELSE { #endif x[0] = z[0]; Loading Loading
lib_com/fft_fx_evs.c +22 −6 Original line number Diff line number Diff line Loading @@ -32,11 +32,6 @@ static void fft64_16fx( Word16 *x, Word16 *y, const Word16 *Idx ); static void fft5_32_16fx( Word16 *zRe, Word16 *zIm, const Word16 *Idx ); static void cdftForw_16fx( Word16 n, Word16 *a, const Word16 *ip, const Word32 *w ); #include "math_32.h" /*-----------------------------------------------------------------* * Local functions *-----------------------------------------------------------------*/ static void cdftForw_fx( Word16 n, Word32 *a, const Word16 *ip, const Word16 *w ); static void bitrv2_SR_fx( Word16 n, const Word16 *ip, Word32 *a ); static void cftfsub_fx( Word16 n, Word32 *a, const Word16 *w ); Loading @@ -44,6 +39,12 @@ static void cft1st_fx( Word16 n, Word32 *a, const Word16 *w ); static void cftmdl_fx( Word16 n, Word16 l, Word32 *a, const Word16 *w ); /*-----------------------------------------------------------------* * DoRTFTn_fx() * * *-----------------------------------------------------------------*/ void DoRTFTn_fx( Word32 *x, /* i/o : real part of input and output data Q(x) */ Word32 *y, /* i/o : imaginary part of input and output data Q(x) */ Loading Loading @@ -113,7 +114,22 @@ void DoRTFTn_fx( } #ifdef OPTIMIZE_FFT_STACK IF( spec == NULL ) IF( spec != NULL ) { spec[0].re = z[0]; move16(); spec[0].im = z[1]; move16(); pt = &z[2]; FOR( i = n - 1; i >= 1; i-- ) { spec[i].re = *pt++; move16(); spec[i].im = *pt++; move16(); } } ELSE { #endif x[0] = z[0]; Loading