aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2014-09-10 19:00:12 +0000
committerDimitri Sokolyuk <demon@dim13.org>2014-09-10 19:00:12 +0000
commitfc17344cf0d56400c1f592be994c805573ee18b8 (patch)
treef9ea49ef4012da09b33ff1c4cd58d47ec6472bc9
parent924c2da36fcbcff98b8e84da10fab9d33f304d13 (diff)
prepare for resize
-rw-r--r--fft.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/fft.c b/fft.c
index cbd614c..e90c7d6 100644
--- a/fft.c
+++ b/fft.c
@@ -26,8 +26,8 @@
#include "fft.h"
static fftw_plan plan;
-static double *in;
static fftw_complex *out;
+static double *in;
static size_t sz;
static double *window;
static double *sq;
@@ -65,17 +65,16 @@ squares(size_t n)
}
int
-init_fft(size_t n)
+init_fft(size_t maxn, size_t n)
{
- sz = n;
- in = fftw_malloc(sz * sizeof(double));
- out = fftw_malloc(sz * sizeof(fftw_complex) / 2);
+ in = fftw_malloc(maxn * sizeof(double));
+ out = fftw_malloc(maxn * sizeof(fftw_complex) / 2);
assert(in && out);
- window = hamming(sz);
- sq = squares(sz);
-
- plan = fftw_plan_dft_r2c_1d(sz, in, out, FFTW_MEASURE);
+ plan = fftw_plan_dft_r2c_1d(n, in, out, FFTW_MEASURE);
+ window = hamming(n);
+ sq = squares(n);
+ sz = n;
return 0;
}