Mercurial > hg > may
changeset 452:5256bd5ef4ac
Pad complex inputs appropriately
author | Chris Cannam |
---|---|
date | Thu, 24 Oct 2013 15:12:57 +0100 |
parents | c80c82319ad1 |
children | c11bf7397e0e |
files | src/may/transform/fft.yeti |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/may/transform/fft.yeti Thu Oct 24 11:17:53 2013 +0100 +++ b/src/may/transform/fft.yeti Thu Oct 24 15:12:57 2013 +0100 @@ -38,15 +38,16 @@ (vec.list (vec.slice unp 0 len)) (vec.list (vec.slice unp len (len*2)))); -complexToUnpacked cc is array<cplx> -> ~double[] = +complexToUnpacked len cc is number -> array<cplx> -> ~double[] = vec.primitive - (vec.fromList (map complex.real cc ++ map complex.imaginary cc)); + (vec.resizedTo (len*2) + (vec.fromList (map complex.real cc ++ map complex.imaginary cc))); //!!! doc: n separately as below forward n = (d = new DoubleFFT_1D(n); do cc: - arr = complexToUnpacked cc; + arr = complexToUnpacked n cc; d#complexForward(arr); unpackedToComplex n arr; done); @@ -55,7 +56,7 @@ inverse n = (d = new DoubleFFT_1D(n); do cc: - arr = complexToUnpacked cc; + arr = complexToUnpacked n cc; d#complexInverse(arr, true); unpackedToComplex n arr; done);