From 7b3907cff81fb82380787e63e4304fb8af807c0c Mon Sep 17 00:00:00 2001 From: Anthony Blake Date: Mon, 22 Apr 2013 16:45:17 +1200 Subject: Fixed up the smaller VFP transforms. Inverse VFP and real/nd VFP still not working yet. --- src/ffts.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/ffts.c') diff --git a/src/ffts.c b/src/ffts.c index fe4b590..e83bf6a 100644 --- a/src/ffts.c +++ b/src/ffts.c @@ -34,6 +34,7 @@ #include "macros.h" //#include "mini_macros.h" #include "patterns.h" +#include "ffts_small.h" #ifdef DYNAMIC_DISABLED #include "ffts_static.h" @@ -89,12 +90,12 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { size_t i; #ifdef __arm__ -#ifdef HAVE_NEON +//#ifdef HAVE_NEON V MULI_SIGN; if(sign < 0) MULI_SIGN = VLIT4(-0.0f, 0.0f, -0.0f, 0.0f); else MULI_SIGN = VLIT4(0.0f, -0.0f, 0.0f, -0.0f); -#endif +//#endif #else V MULI_SIGN; @@ -230,22 +231,27 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { float *fw = (float *)w; V temp0, temp1, temp2; for(j=0;j0, im); + #else + im = MULI(sign>0, im); + #endif VST(fw + j*4 , re); VST(fw + j*4+4, im); - #endif + // #endif } w += n/4 * 2; }else{ //w = FFTS_MALLOC(n/4 * sizeof(cdata_t), 32); float *fw = (float *)w; - VS temp0, temp1, temp2; #ifdef HAVE_NEON + VS temp0, temp1, temp2; for(j=0;j