*** empty log message ***

This commit is contained in:
Mark Borgerding 2006-11-14 19:52:42 +00:00
parent 633c0587ad
commit 277ec6a77d
4 changed files with 9 additions and 15 deletions

View File

@ -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. 1.2.5 (June 27, 2006) The "release for no good reason" release.
Changed some harmless code to make some compilers' warnings go away. Changed some harmless code to make some compilers' warnings go away.
Added some more digits to pi -- why not. Added some more digits to pi -- why not.

7
README
View File

@ -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/ You can do other cool stuff with the extras you'll find in tools/
* arbitrary dimension complex FFTs * multi-dimensional FFTs
* 1-d real FFTs * real-optimized FFTs
* fast convolution FIR filtering * fast convolution FIR filtering
* spectrum image creation * spectrum image creation
@ -112,8 +112,7 @@ LICENSE:
the other end. See http://www.fsf.org/licensing/licenses the other end. See http://www.fsf.org/licensing/licenses
TODO: TODO:
*) Add real optimization for odd length FFTs (DST?) *) Add real optimization for odd length FFTs
*) Add real optimization to the n-dimensional FFT
*) Document/revisit the input/output fft scaling *) Document/revisit the input/output fft scaling
*) Make doc describing the overlap (tail) scrap fast convolution filtering in kiss_fastfir.c *) 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) *) Test all the ./tools/ code with fixed point (kiss_fastfir.c doesn't work, maybe others)

View File

@ -41,10 +41,6 @@ else:
def dopack(x,cpx=1): def dopack(x,cpx=1):
x = Numeric.reshape( x, ( Numeric.size(x),) ) x = Numeric.reshape( x, ( Numeric.size(x),) )
#print 'packed=[',
#print ' '.join([str(y) for y in x]),
#print ']'
if cpx: if cpx:
s = ''.join( [ struct.pack(fmt*2,c.real,c.imag) for c in x ] ) s = ''.join( [ struct.pack(fmt*2,c.real,c.imag) for c in x ] )
else: else:
@ -80,7 +76,7 @@ def flatten(x):
def randmat( ndims ): def randmat( ndims ):
dims=[] dims=[]
for i in range( ndims ): for i in range( ndims ):
curdim = int( random.uniform(4,7) ) curdim = int( random.uniform(2,5) )
if doreal and i==(ndims-1): if doreal and i==(ndims-1):
curdim = int(curdim/2)*2 # force even last dimension if real curdim = int(curdim/2)*2 # force even last dimension if real
dims.append( curdim ) dims.append( curdim )
@ -94,8 +90,6 @@ def test_fft(ndims):
xver = FFT.real_fftnd(x) xver = FFT.real_fftnd(x)
else: else:
xver = FFT.fftnd(x) xver = FFT.fftnd(x)
#print 'x=',x
#print 'xver=',xver
open('/tmp/fftexp.dat','w').write(dopack( flatten(xver) , True ) ) open('/tmp/fftexp.dat','w').write(dopack( flatten(xver) , True ) )
@ -161,10 +155,9 @@ def main():
else: else:
print 'Testing multi-dimensional FFTs' print 'Testing multi-dimensional FFTs'
for dim in range(1,5): for dim in range(1,4):
test_fft( dim ) test_fft( dim )
if __name__ == "__main__": if __name__ == "__main__":
#random.seed(2);
main() main()

View File

@ -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 static
void fft_filend_real(FILE * fin,FILE * fout,int *dims,int ndims,int isinverse) void fft_filend_real(FILE * fin,FILE * fout,int *dims,int ndims,int isinverse)
{ {