diff --git a/CHANGELOG b/CHANGELOG index 7fcab2e..48debab 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +1.2.6 (Nov 14, 2006) The "thanks to GenArts" release. + Added multi-dimensional real-optimized FFT, see tools/kiss_fftndr + Thanks go to GenArts, Inc. for sponsoring the development. + 1.2.5 (June 27, 2006) The "release for no good reason" release. Changed some harmless code to make some compilers' warnings go away. Added some more digits to pi -- why not. diff --git a/README b/README index b39249e..a5941ec 100644 --- a/README +++ b/README @@ -35,8 +35,8 @@ Code definitions for 1d complex FFTs are in kiss_fft.c. You can do other cool stuff with the extras you'll find in tools/ - * arbitrary dimension complex FFTs - * 1-d real FFTs + * multi-dimensional FFTs + * real-optimized FFTs * fast convolution FIR filtering * spectrum image creation @@ -112,8 +112,7 @@ LICENSE: the other end. See http://www.fsf.org/licensing/licenses TODO: - *) Add real optimization for odd length FFTs (DST?) - *) Add real optimization to the n-dimensional FFT + *) Add real optimization for odd length FFTs *) Document/revisit the input/output fft scaling *) Make doc describing the overlap (tail) scrap fast convolution filtering in kiss_fastfir.c *) Test all the ./tools/ code with fixed point (kiss_fastfir.c doesn't work, maybe others) diff --git a/test/testkiss.py b/test/testkiss.py index 89819ea..3cca32f 100755 --- a/test/testkiss.py +++ b/test/testkiss.py @@ -41,10 +41,6 @@ else: def dopack(x,cpx=1): x = Numeric.reshape( x, ( Numeric.size(x),) ) - #print 'packed=[', - #print ' '.join([str(y) for y in x]), - #print ']' - if cpx: s = ''.join( [ struct.pack(fmt*2,c.real,c.imag) for c in x ] ) else: @@ -80,7 +76,7 @@ def flatten(x): def randmat( ndims ): dims=[] for i in range( ndims ): - curdim = int( random.uniform(4,7) ) + curdim = int( random.uniform(2,5) ) if doreal and i==(ndims-1): curdim = int(curdim/2)*2 # force even last dimension if real dims.append( curdim ) @@ -94,8 +90,6 @@ def test_fft(ndims): xver = FFT.real_fftnd(x) else: xver = FFT.fftnd(x) - #print 'x=',x - #print 'xver=',xver open('/tmp/fftexp.dat','w').write(dopack( flatten(xver) , True ) ) @@ -161,10 +155,9 @@ def main(): else: print 'Testing multi-dimensional FFTs' - for dim in range(1,5): + for dim in range(1,4): test_fft( dim ) if __name__ == "__main__": - #random.seed(2); main() diff --git a/tools/fftutil.c b/tools/fftutil.c index e80aea7..db5a815 100644 --- a/tools/fftutil.c +++ b/tools/fftutil.c @@ -63,8 +63,6 @@ void fft_filend(FILE * fin,FILE * fout,int *dims,int ndims,int isinverse) -#define CHK fprintf(stderr,"LINE=%d\t",__LINE__) - static void fft_filend_real(FILE * fin,FILE * fout,int *dims,int ndims,int isinverse) {