diff options
author | simon | 2008-10-14 09:54:09 +0000 |
---|---|---|
committer | simon | 2008-10-14 09:54:09 +0000 |
commit | 6ce212d9640c16f9dcd39b4b9cb279f7d6b52a2f (patch) | |
tree | 54efb3dcd55c15153fce9dead3943df8a6f0b4d4 /src/signalProcessing/fft | |
parent | 0f24a30eaf966d89eb7861a6aa375bce0d21855c (diff) | |
download | scilab2c-6ce212d9640c16f9dcd39b4b9cb279f7d6b52a2f.tar.gz scilab2c-6ce212d9640c16f9dcd39b4b9cb279f7d6b52a2f.tar.bz2 scilab2c-6ce212d9640c16f9dcd39b4b9cb279f7d6b52a2f.zip |
added the problematic test , make check should failed
Diffstat (limited to 'src/signalProcessing/fft')
-rw-r--r-- | src/signalProcessing/fft/dfftbi.c | 56 | ||||
-rw-r--r-- | src/signalProcessing/fft/dfftmx.c | 103 | ||||
-rw-r--r-- | src/signalProcessing/fft/fft_internal.h | 1 | ||||
-rw-r--r-- | src/signalProcessing/fft/testDoubleFft.c | 66 |
4 files changed, 163 insertions, 63 deletions
diff --git a/src/signalProcessing/fft/dfftbi.c b/src/signalProcessing/fft/dfftbi.c index 90494ca3..c840903e 100644 --- a/src/signalProcessing/fft/dfftbi.c +++ b/src/signalProcessing/fft/dfftbi.c @@ -74,7 +74,7 @@ void dfftbi ( double* a , double* b , int nseg , int n , int nspn , int nf = abs ( n ) ; ierr = 0 ; - printf ( "debut de dfftbi \n" ); + //printf ( "debut de dfftbi \n" ); /*determine the factors of n */ @@ -86,7 +86,7 @@ void dfftbi ( double* a , double* b , int nseg , int n , int nspn , nspan = abs ( nf*nspn ) ; ntot = abs ( nspan*nseg) ; - printf ( "nspan %d \t ntot %d\n" , nspan ,ntot ); + //printf ( "nspan %d \t ntot %d\n" , nspan ,ntot ); if ( isn*ntot == 0 ) { ierr = 1 ; @@ -99,14 +99,14 @@ void dfftbi ( double* a , double* b , int nseg , int n , int nspn , while ( (k- (int)(k/16)*16 ) == 0 ) { m++; - printf ("k/16*16\t m %d ,k %d ,k2 %d\n" , m , k ,(int) (k/16)*16 ); + //printf ("k/16*16\t m %d ,k %d ,k2 %d\n" , m , k ,(int) (k/16)*16 ); nfac[m-1] = 4 ; k = k >> 4 ; } -printf ("avant ploa k %d\n\n" , k ); +//printf ("avant ploa k %d\n\n" , k ); do { while ( k%jj == 0 ) @@ -114,21 +114,21 @@ printf ("avant ploa k %d\n\n" , k ); m++; nfac[m-1] = j ; k /= jj ; - printf ("\nm %d ,k %d j %d jj %d\n" , m , k ,j , jj); + //printf ("\nm %d ,k %d j %d jj %d\n" , m , k ,j , jj); } - printf ("40-40 \n" ); + //printf ("40-40 \n" ); j+=2; jj= j*j ; }while ( jj <= k); -printf ( "ploa\n" ); +//printf ( "ploa\n" ); if ( k <= 4) { - printf ("50-50 k %d\t m %d\n" , k , m ); + //printf ("50-50 k %d\t m %d\n" , k , m ); kt = m; nfac[m] = k; if ( k != 1 ) @@ -147,11 +147,12 @@ printf ( "ploa\n" ); kt = m ; maxp = max ( (kt+1)*2 , k-1); j=2; - printf ( "plob\n" ); + //printf ( "plob\n" ); do { if ( k%j == 0 ) { + //printf ( "70 - 80 dans modulo k %d, j %d , m %d\n" , k , j , m + 1 ); m++; nfac[m-1] = j ; k /= j ; @@ -168,42 +169,42 @@ printf ( "ploa\n" ); if ( m <= ( kt+1) ) maxp = m + kt + 1 ; - printf ( "90 m %d \t kt %d\n" , m , kt ); + //printf ( "90 m %d \t kt %d\n" , m , kt ); if ( m + kt > 15) { ierr = 2 ; - printf ( "argh return 5 \n" ); + //printf ( "argh return 5 \n" ); return ; } /** you are here mister allan **/ - printf ( "avant test kt , kt =%d\n" , kt ); + //printf ( "avant test kt , kt =%d\n" , kt ); if ( kt != 0 ) { j = kt ; do{ m++; - printf ( "100 m %d\t j %d\t nfac[j-1] %d \n" , m , j , nfac[j-1]); + //printf ( "100 m %d\t j %d\t nfac[j-1] %d \n" , m , j , nfac[j-1]); nfac[m-1] = nfac[j-1]; j--; }while ( j != 0) ; } - printf ( "110 maxf %d \tnfac[maxf-1] %d\n" , m-kt , nfac[m-kt-1]); + //printf ( "110 maxf %d \tnfac[maxf-1] %d\n" , m-kt , nfac[m-kt-1]); maxf = nfac[m-kt-1] ; if ( kt > 0 ) maxf = max ( nfac[kt-1] , maxf ); - printf ( "avant kkk \tm %d\t maxf %d \n" ,m , maxf); + //printf ( "avant kkk \tm %d\t maxf %d \n" ,m , maxf); for ( kkk = 1 ; kkk <= m ; kkk++ ) { maxf = max ( maxf , nfac[kkk-1]); - printf ( "boucle kkk maxf %d nfac %d \tm %d\n" , maxf , nfac[kkk-1] ,m); + //printf ( "boucle kkk maxf %d nfac %d \tm %d\n" , maxf , nfac[kkk-1] ,m); } @@ -221,7 +222,7 @@ printf ( "ploa\n" ); /*i = ( (istkgt - 1 + nitems) * isize[3] -1) + 3 ;*/ i = 12 + nitems*2; - printf ("i %d ,\n lmax %d\n istkgt %d\n lnow %d \n", i , lmax , istkgt , lnow ) ; + //printf ("i %d ,\n lmax %d\n istkgt %d\n lnow %d \n", i , lmax , istkgt , lnow ) ; istak = (int*) malloc ( sizeof (int) * (unsigned int) i); @@ -247,7 +248,7 @@ printf ( "ploa\n" ); istak = (int*) realloc ( istak ,sizeof (int) * (unsigned int) i); rstak = (double*) malloc ( sizeof (double) * (unsigned int) i); - printf ("i %d ,\n lmax %d\n istkgt %d\n lnow %d \n", i , lmax , istkgt , lnow ) ; + //printf ("i %d ,\n lmax %d\n istkgt %d\n lnow %d \n", i , lmax , istkgt , lnow ) ; @@ -268,9 +269,9 @@ c k=2*k-1 c ********************************************* */ - printf ( "dfftmx me voilĂ tayoooooooo \n" ); - printf ( "ntot \t%d\n" - "nf \t%d\n" + //printf ( "dfftmx me voilĂ tayoooooooo \n" ); + //printf ( "ntot \t%d\n" + /* "nf \t%d\n" "nspan\t%d\t\n" "isn\t%d\t\n" "m\t%d\t\n" @@ -281,6 +282,11 @@ c ********************************************* "j3\t%d\n" "k\t%d\n" , ntot , nf , nspan , isn , m , kt , j ,jj, j2,j3 , k ); +*/ + for (i = 0 ; i < 15 ; i++ ) + //printf ( "\t nfac[%d] = %d\n" , i , nfac[i]) ; + + dfftmx( a , b , ntot , nf , nspan , isn , m , kt , &rstak[j-1] , &rstak[jj-1] , &rstak[j2-1] , &rstak[j3-1] , &istak[k-1] , nfac); k =2 ; @@ -289,18 +295,18 @@ c ********************************************* /** plop */ int iii = 0 ; - printf ("\n\n" ); + //printf ("\n\n" ); for ( iii = 0 ; iii < 3 ; iii++) { - printf ("\t\t %d dfftbi : %f \t %f\n" , iii ,a[iii], b[iii]); + //printf ("\t\t %d dfftbi : %f \t %f\n" , iii ,a[iii], b[iii]); } /** plop */ if (!( lbook <= lnow && lnow <= lused && lused <= lmax )) { ierr = 3 ; - printf ( "argh return 6 \n" ); + //printf ( "argh return 6 \n" ); return ; } @@ -315,6 +321,6 @@ c ********************************************* lnow = istak[lnow-1] ; in-- ; } - printf ( "fin de dfftbi \n" ); + //printf ( "fin de dfftbi \n" ); return ; } diff --git a/src/signalProcessing/fft/dfftmx.c b/src/signalProcessing/fft/dfftmx.c index cbc724b7..26c995a3 100644 --- a/src/signalProcessing/fft/dfftmx.c +++ b/src/signalProcessing/fft/dfftmx.c @@ -11,6 +11,7 @@ */ #include <stdlib.h> +#include <stdio.h> #include <math.h> #include "max.h" #include "min.h" @@ -123,21 +124,21 @@ int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNspan, s120= sqrt(0.750); int iii = 0 ; - printf ("\n\n" ); + //fprintf (stderr , "\n\n" ); for ( iii = 0 ; iii < 3 ; iii++) { - printf ("\t\t %d tot : %f \t %f\n" , iii ,a[iii], b[iii]); + //fprintf (stderr , "\t\t %d tot : %f \t %f\n" , iii ,a[iii], b[iii]); } - printf ( "preliminary\n" ); + //fprintf (stderr , "preliminary\n" ); preliminaryWork () ; while ( retVal == 0 ) { - printf ( "factortransform\n" ); + //fprintf (stderr , "factortransform\n" ); retVal = factorTransform ( ) ; } @@ -146,20 +147,22 @@ int dfftmx ( double* _pdblA , double* _pdblB , int _iNtot, int _iN, int _iNspan, if ( kt != 0) { - printf ( "permute stage 1\n" ); + //fprintf (stderr , "permute stage 1\n" ); permute_stage1 ( ) ; } if ( 2*kt + 1 < m ) { - printf ( "permute stage 2\n" ); + //fprintf (stderr , "permute stage 2\n" ); permute_stage2 ( ) ; } + +/* lines under are just for my own conveniance */ for ( iii = 0 ; iii < 3 ; iii++) { - printf ("\t\t out %d tot : %f \t %f\n" , iii ,a[iii], b[iii]); + //fprintf (stderr , "\t\t out %d tot : %f \t %f\n" , iii ,a[iii], b[iii]); } @@ -213,6 +216,8 @@ void preliminaryWork (void) maxf = m -kt ; maxf = nfac[maxf-1] ; + //fprintf (stderr , "\tm - kt %d , nfac %d kt %d\n" , m - kt , maxf , kt); + if ( kt > 0 ) maxf = max ( nfac[kt-1] , maxf ); @@ -232,16 +237,16 @@ int factorTransform (void) sd = sin(dr*rad) ; kk = 1 ; i++ ; - + //fprintf (stderr , "avant switch i %d ,nfac[i-1] %d\n" , i , nfac[i-1]); switch ( nfac[i-1] ) { case 2 : /*transform for factor of 2 (including rotation factor)*/ - printf ( "\tpre_fOf2Trans\n" ); + //fprintf (stderr , "\tpre_fOf2Trans\n" ); retVal = pre_fOf2Trans( ) ; if ( retVal == 0 ) { - printf ( "\tfactorOf2Transform\n" ); + //fprintf (stderr , "\tfactorOf2Transform\n" ); factorOf2Transform ( ) ; } @@ -252,26 +257,26 @@ switch ( nfac[i-1] ) kspnn = kspan ; kspan = kspan >> 2 ; /*kspan /= 4 */ - printf ( "\tfactorOf4Transform\n" ); + //fprintf (stderr , "\tfactorOf4Transform\n" ); retVal = factorOf4Transform ( ) ; break ; case 3 : - printf ( "\tfactorOf3Transform\n" ); + //fprintf (stderr , "\tfactorOf3Transform\n" ); k = nfac[i-1] ; kspnn = kspan ; kspan = kspan / k ; - printf ("\t\t k %d\n" , k); + //fprintf (stderr , "\t\t k %d i %d\n" , k ,i); factorOf3Transform ( ) ; break ; case 5 : - printf ( "\tfactorOf5Transform\n" ); + //fprintf (stderr , "\tfactorOf5Transform\n" ); k = nfac[i-1] ; kspnn = kspan ; kspan = kspan / k ; - printf ("\t\t k %d\n" , k); + //fprintf (stderr , "\t\t k %d\n" , k); factorOf5Transform ( ) ; break ; @@ -280,13 +285,14 @@ switch ( nfac[i-1] ) k = nfac[i-1] ; kspnn = kspan ; kspan = kspan / k ; - printf ("\t\t k %d\n" , k); + //fprintf (stderr , "\t\t k %d\n" , k); + //fprintf (stderr , "\t\t nfac[i-1] %d jf %d\n" , nfac[i-1] , jf ) ; if ( nfac[i-1] != jf) { - printf ( "\tpreFOtherTransform \n" ); + //fprintf (stderr , "\tpreFOtherTransform \n" ); preFOtherTransform ( ) ; } - printf ( "\tfactorOfOtherTransform \n" ); + //fprintf (stderr , "\tfactorOfOtherTransform \n" ); factorOfOtherTransform ( ) ; break ; } @@ -295,10 +301,10 @@ switch ( nfac[i-1] ) if ( retVal == 42 ) { - printf ( "\t\t i %d m %d\n" , i , m ); + //fprintf (stderr , "\t\t i %d m %d\n" , i , m ); if ( i != m) { - printf ( "\tmulByRotationFactor \n" ); + //fprintf (stderr , "\tmulByRotationFactor \n" ); retVal = mulByRotationFactor ( ) ; } else @@ -342,17 +348,22 @@ void permute_stage2 (void) int retVal ; kspnn = np[kt] ; + //fprintf (stderr , "\t kspnn %d , kt %d\n" , kspnn , kt); /*permutation for square-free facotrs of n */ + //fprintf (stderr , "\tnonSqFactor2NormOrder 2\n" ); nonSqFactor2NormOrder ( ) ; /*determine the permutation cycles of length greater than 1*/ + //fprintf (stderr , "\tdetPermutCycles 2\n" ); detPermutCycles ( ); + //fprintf (stderr , "\tend ploplpop 2\n" ); retVal = end ( ) ; - + //fprintf (stderr , "\t on n'est plus dans le end\n "); while ( retVal == 1) { + //fprintf (stderr , "\reorderMatrix 2\n" ); reorderMatrix ( ) ; retVal = end ( ) ; } @@ -375,6 +386,7 @@ int pre_fOf2Trans (void) /*50*/ do { + //fprintf (stderr , "\t 50 \n"); k2 = kk + kspan ; ak = a[k2-1] ; bk = b[k2-1] ; @@ -391,7 +403,7 @@ int pre_fOf2Trans (void) { kk -= nn ; } - }while ( kk <= jc || kk <= nn ); + }while ( kk <= jc && kk <= nn ); @@ -643,10 +655,10 @@ int f4t_170 (void) void factorOf3Transform (void) { - +int ktemp = 0 ; do { - printf ( "\t\t une boucle dans factor of 3\n"); + //fprintf (stderr , "\t\t une boucle dans factor of 3\n"); k1 = kk + kspan ; k2 = k1 + kspan ; @@ -671,10 +683,14 @@ do b[k2-1] = bk - aj ; kk = k2 + kspan ; + ktemp = kk ; + + //fprintf (stderr , "\t\t kk %d , nn %d , kspan %d\n" , kk , nn , kspan ); if ( kk >= nn ) kk -= nn ; - }while ( kk <= kspan || kk < nn); + //fprintf (stderr , "\t\t 2kk %d , nn %d , kspan %d\n" , kk , nn , kspan ); + }while ( ktemp < nn || (kk <= kspan && ( ktemp >= nn)) ); } @@ -682,7 +698,7 @@ void factorOf5Transform (void) { c2 = c72*c72 - s72 *s72 ; s2 = 2 * c72*s72; - printf ( "plop\n" ) ; + //fprintf (stderr , "plop\n" ) ; do { k1 = kk + kspan ; @@ -690,7 +706,7 @@ void factorOf5Transform (void) k3 = k2 + kspan ; k4 = k3 + kspan ; - printf ( "kk %d \t k1 %d \t k2 %d \t k3 %d \t k4 %d\n", kk , k1 , k2 ,k3,k4 ); + //fprintf (stderr , "kk %d \t k1 %d \t k2 %d \t k3 %d \t k4 %d\n", kk , k1 , k2 ,k3,k4 ); akp = a[k1-1] + a[k4-1] ; akm = a[k1-1] - a[k4-1] ; @@ -725,7 +741,7 @@ void factorOf5Transform (void) bk = bkp*c2 + bjp*c72 + bb ; aj = akm*s2 - ajm*s72 ; - printf ("aj %f \takm %f \tajm %f\n" , aj , akm , ajm ); + //fprintf (stderr , "aj %f \takm %f \tajm %f\n" , aj , akm , ajm ); bj = bkm*s2 - bjm*s72 ; a[k2-1] = ak - bj ; @@ -734,15 +750,15 @@ void factorOf5Transform (void) b[k3-1] = bk - aj ; kk = k4 + kspan; - printf ( "ak %f \tbk %f\naj %f \tbj %f\n" , ak , bk , aj ,bj ); - printf ( "kk %d \t nn %d \t kspan %d\n", kk , nn , kspan ); + //fprintf (stderr , "ak %f \tbk %f\naj %f \tbj %f\n" , ak , bk , aj ,bj ); + //fprintf (stderr , "kk %d \t nn %d \t kspan %d\n", kk , nn , kspan ); if ( kk >= nn ) kk -= nn ; - printf ( "kk %d \t nn %d \t kspan %d\n", kk , nn , kspan ); + //fprintf (stderr , "kk %d \t nn %d \t kspan %d\n", kk , nn , kspan ); }while ( kk <= kspan && kk < nn); -printf ( "fin 5\n" ); +//fprintf (stderr , "fin 5\n" ); } @@ -1087,15 +1103,20 @@ void nonSqFactor2NormOrder (void) j = m - kt ; nfac[j] = 1 ; + + do { nfac[j-1] *= nfac[j] ; + //fprintf (stderr , "\t\t m %d j %d , nfac[j-1] %d\n", m , j , nfac[j-1] ); j-- ; + }while ( j != kt ) ; kt ++ ; nn = nfac[kt-1] - 1; + //fprintf (stderr , "\t\t nn %d \n" , nn ) ; jj = 0 ; j = 0; @@ -1105,10 +1126,11 @@ void nonSqFactor2NormOrder (void) k = kt + 1 ; kk = nfac[k-1] ; j ++ ; - + //fprintf (stderr , "\t\tj %d\n" , j ) ; while ( j <= nn ) { jj += kk ; + //fprintf (stderr , "\t\t 1jj %d , kk %d\n" , jj , kk ) ; while ( jj >= k2 ) { @@ -1118,6 +1140,8 @@ void nonSqFactor2NormOrder (void) kk = nfac[k-1] ; jj += kk ; + //fprintf (stderr , "\t\t jj %d , kk %d\n" , jj , kk ) ; + } np[j-1] = jj ; @@ -1125,7 +1149,7 @@ void nonSqFactor2NormOrder (void) k = kt + 1 ; kk = nfac[k-1] ; j ++ ; - + //fprintf (stderr , "\t\t1j %d\n" , j ) ; } j = 0 ; @@ -1141,17 +1165,20 @@ void detPermutCycles (void) { do { + //fprintf (stderr , "\t\t j %d \tnp[j-1] %d\n" , j , np[j-1]); j++ ; kk = np[j-1] ; }while ( kk < 0 ) ; + //fprintf (stderr , "\t\t kk %d\t j %d\t\n" , kk , j ); if ( kk != j ) { do { + //fprintf (stderr , "\t\t 2boucle kk %d\n" , kk ); k = kk ; + kk = np[k-1] ; np[k-1] = -kk ; - }while ( kk != j ) ; k3 = kk ; } @@ -1166,15 +1193,19 @@ void detPermutCycles (void) int end (void) { + + //fprintf (stderr , "\t\t\t end of the final end\n"); + /* j = k3 + 1 ; nt -= kspnn ; i = nt - inc + 1 ; + //fprintf (stderr , "\t\t\t end of the final end\n"); if ( nt >= 0 ) return 1 ; else - +*/ return 0 ; diff --git a/src/signalProcessing/fft/fft_internal.h b/src/signalProcessing/fft/fft_internal.h index 6c14bb96..c595b027 100644 --- a/src/signalProcessing/fft/fft_internal.h +++ b/src/signalProcessing/fft/fft_internal.h @@ -13,6 +13,7 @@ #ifndef __FFT_INTERNAL_H__ #define __FFT_INTERNAL_H__ + #include "addition.h" #include "subtraction.h" diff --git a/src/signalProcessing/fft/testDoubleFft.c b/src/signalProcessing/fft/testDoubleFft.c index 764eebe0..6927594e 100644 --- a/src/signalProcessing/fft/testDoubleFft.c +++ b/src/signalProcessing/fft/testDoubleFft.c @@ -20,6 +20,7 @@ #define COLS3 3 #define COLS4 4 #define COLS5 5 +#define COLS6 6 #define COLS8 8 #define COLS16 16 #define COLS32 32 @@ -39,7 +40,10 @@ #define ZIMAG_IN5 { 0.56084860628470778, 0.66235693730413914, 0.72635067673400044, 0.19851438421756029,\ 0.56642488157376647} - +#define ZREAL_IN6 { 0.54425731627270579, 0.23207478970289230, 0.23122371966019273, 0.21646326314657927,\ + 0.65251349471509457, 0.30760907428339124 } +#define ZIMAG_IN6 { 0.21460078610107303, 0.31264199689030647, 0.36163610080257058, 0.2922266637906432,\ + 0.56642488157376647, 0.59350947011262178 } #define ZREAL_IN8 { 0.54425731627270579, 0.23207478970289230, 0.23122371966019273, 0.21646326314657927,\ @@ -89,6 +93,8 @@ 0.09598652253573875} #define ZIMAG_RESULT5 { 2.71449548611417413,-0.31527367037930898, 0.60322341639929178,-0.89813890885693670,\ 0.69993670814631914} + + #define ZREAL_RESULT8 { 4.00049206055700779,-0.43357241280891956, 0.79836636409163475,-0.91119240848798977,\ -0.06753427721560001,-0.18576209864995416, 0.97926024347543716, 0.17400105922003017} #define ZIMAG_RESULT8 { 3.15585898794233799, 0.62132445165622818, 0.35205427557229996, 0.28289917172258683,\ @@ -226,6 +232,7 @@ static void zfftmaTest3 (void ) } + static void zfftmaTest5 (void ) { int i = 0 ; @@ -278,6 +285,59 @@ static void zfftmaTest5 (void ) } + +static void zfftmaTest6 (void ) +{ + int i = 0 ; + + double tRealIn [] = ZREAL_IN6; + double tImagIn [] = ZIMAG_IN6 ; + + + + double tRealResult [] = ZREAL_RESULT8; + double tImagResult [] = ZIMAG_RESULT8; + + + + doubleComplex* out = (doubleComplex*) malloc ( sizeof(doubleComplex) * (unsigned int) (ROW*COLS6)); + doubleComplex* in = DoubleComplexMatrix ( tRealIn , tImagIn , ROW*COLS6 ); + doubleComplex* Result = DoubleComplexMatrix ( tRealResult , tImagResult ,ROW*COLS6) ; + + + + zfftma ( in , ROW , COLS6 , out ) ; + + /* if we don't add that test assert failed if result = 0 'cause then we have |(out - 0)|/|out| = 1*/ + + + for ( i = 0 ; i < (ROW*COLS6 ) ; i++ ) + { + printf ( "\t\t %d out : %e\t %e\t * i result : %e\t %e\t * i assert : : %e\t %e\t * i \n" , + i , + zreals(out[i]) , + zimags(out[i]), + zreals (Result[i]) , + zimags (Result[i]), + fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) , + fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i]))); +/* + if ( zreals(out[i]) < 1e-14 && zreals (Result[i]) < 1e-18 ) + assert ( 1 ) ; + else + assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-12 ); + + + if ( zimags(out[i]) < 1e-14 && zimags (Result[i]) < 1e-18 ) + assert ( 1 ) ; + else + assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; +*/ + } + + +} + static void zfftmaTest4 (void ) { int i = 0 ; @@ -492,9 +552,11 @@ static int testFft(void) { zfftmaTest3(); printf("\t>>>> Vector 4 Double Complex Tests\n"); zfftmaTest4(); -*/ printf("\t>>>> Vector 5 Double Complex Tests\n"); zfftmaTest5(); +*/ + printf("\t>>>> Vector 6 Double Complex Tests\n"); + zfftmaTest6(); /* printf("\t>>>> Vector 8 Double Complex Tests\n"); zfftmaTest8(); |