aboutsummaryrefslogtreecommitdiff
path: root/src/vector.c
diff options
context:
space:
mode:
authorJamie Bullock <jamie@postlude.co.uk>2007-10-16 09:37:06 +0000
committerJamie Bullock <jamie@postlude.co.uk>2007-10-16 09:37:06 +0000
commit9ca79a2cc14c18758baa1adfaead49e70d80003e (patch)
treeb49f1ecfc58fee377d1fa223846862d9e98d89e8 /src/vector.c
parent0fbfa15686542864a067b3b03b698a024772eae3 (diff)
downloadLibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.tar.gz
LibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.tar.bz2
LibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.zip
Fix for 'multiple symbol definitions' vs 'symbol not defined' dilemna. I think the solution is to wrap the globals in a struct, declare it in a header, and wrap with a definition guard, then define _once_ at library init time. (Sounds like a recipe for something...)
Diffstat (limited to 'src/vector.c')
-rw-r--r--src/vector.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vector.c b/src/vector.c
index a9c5290..0305751 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -65,7 +65,7 @@ int xtract_spectrum(const float *data, const int N, const void *argv, float *res
XTRACT_CHECK_q;
- if(spectrum_plan == NULL){
+ if(fft_plans.spectrum_plan == NULL){
/* FIX: Not sure this should really be here. Might introduce
* DEBUG_POST macro, or some kind of error handler, or leave it to the
* caller... */
@@ -74,7 +74,7 @@ int xtract_spectrum(const float *data, const int N, const void *argv, float *res
return XTRACT_NO_RESULT;
}
- fftwf_execute_r2r(spectrum_plan, input, rfft);
+ fftwf_execute_r2r(fft_plans.spectrum_plan, input, rfft);
switch(vector){
@@ -186,7 +186,7 @@ int xtract_autocorrelation_fft(const float *data, const int N, const void *argv,
time = (float *)calloc(M, sizeof(float));
time = memcpy(time, data, N * sizeof(float));
- fftwf_execute_r2r(autocorrelation_fft_plan_1, time, freq);
+ fftwf_execute_r2r(fft_plans.autocorrelation_fft_plan_1, time, freq);
//plan = fftwf_plan_r2r_1d(M, time, freq, FFTW_R2HC, FFTW_ESTIMATE);
//fftwf_execute(plan);
@@ -203,7 +203,7 @@ int xtract_autocorrelation_fft(const float *data, const int N, const void *argv,
//fftwf_execute(plan);
- fftwf_execute_r2r(autocorrelation_fft_plan_2, freq, time);
+ fftwf_execute_r2r(fft_plans.autocorrelation_fft_plan_2, freq, time);
/* Normalisation factor */
M = M * N;
@@ -246,7 +246,7 @@ int xtract_dct(const float *data, const int N, const void *argv, float *result){
//plan =
// fftwf_plan_r2r_1d(N, (float *) data, result, FFTW_REDFT00, FFTW_ESTIMATE);
- fftwf_execute_r2r(dct_plan, (float *)data, result);
+ fftwf_execute_r2r(fft_plans.dct_plan, (float *)data, result);
//fftwf_execute(plan);
//fftwf_destroy_plan(plan);