mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-06-04 01:28:23 -04:00
*** empty log message ***
This commit is contained in:
parent
633c0587ad
commit
277ec6a77d
@ -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
7
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/
|
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)
|
||||||
|
@ -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()
|
||||||
|
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user