From 10dbc47ff3186aafed9cc8a6d765f7bf2ef1d1a6 Mon Sep 17 00:00:00 2001 From: Mark Borgerding Date: Tue, 31 May 2005 02:19:07 +0000 Subject: [PATCH] added some code for 32 bit fixed point fft -- may not be suitable for all platforms --- _kiss_fft_guts.h | 4 +- test/Makefile | 17 ++-- test/selftest.c | 202 ------------------------------------------ test/selftest_short.c | 138 ----------------------------- tools/kiss_fftnd.c | 2 +- tools/kiss_fftnd.h | 2 +- 6 files changed, 11 insertions(+), 354 deletions(-) delete mode 100644 test/selftest.c delete mode 100644 test/selftest_short.c diff --git a/_kiss_fft_guts.h b/_kiss_fft_guts.h index 0a1b056..1587cb2 100644 --- a/_kiss_fft_guts.h +++ b/_kiss_fft_guts.h @@ -134,8 +134,8 @@ void kf_cexp(kiss_fft_cpx * x,double phase) /* returns e ** (j*phase) */ x->r = (kiss_fft_scalar) (SAMP_MAX * cos (phase)); x->i = (kiss_fft_scalar) (SAMP_MAX * sin (phase)); #else - x->r = cos (phase); - x->i = sin (phase); + x->r = (kiss_fft_scalar) cos (phase); + x->i = (kiss_fft_scalar) sin (phase); #endif } diff --git a/test/Makefile b/test/Makefile index 9ca0dd2..ec42ca8 100644 --- a/test/Makefile +++ b/test/Makefile @@ -20,24 +20,21 @@ BENCHFFTW=bm_fftw_$(DATATYPE) SELFTEST=st_$(DATATYPE) TESTREAL=tr_$(DATATYPE) TESTKFC=tkfc_$(DATATYPE) -FASTFILT=ff_$(DATATYPE) FASTFILTREAL=ffr_$(DATATYPE) +SELFTESTSRC=twotonetest.c -ifeq "$(DATATYPE)" "short" - TYPEFLAGS=-DFIXED_POINT -Dkiss_fft_scalar=short - SELFTESTSRC=selftest_short.c -else - TYPEFLAGS=-Dkiss_fft_scalar=$(DATATYPE) - SELFTESTSRC=selftest.c +TYPEFLAGS=-Dkiss_fft_scalar=$(DATATYPE) + +ifeq "$(DATATYPE)" "short" + TYPEFLAGS=-DFIXED_POINT=16 endif ifeq "$(DATATYPE)" "long" - TYPEFLAGS=-DFIXED_POINT=32 -Dkiss_fft_scalar=long - SELFTESTSRC=selftest_long.c + TYPEFLAGS=-DFIXED_POINT=32 endif ifeq "$(DATATYPE)" "float" -# fftw needs to be built with --enable-float to build this lib + # fftw needs to be built with --enable-float to build this lib FFTWLIB=fftw3f else FFTWLIB=fftw3 diff --git a/test/selftest.c b/test/selftest.c deleted file mode 100644 index a7525f5..0000000 --- a/test/selftest.c +++ /dev/null @@ -1,202 +0,0 @@ -#include "kiss_fft.h" -#include "kiss_fftnd.h" -#include "_kiss_fft_guts.h" - -#define xstr(s) str(s) -#define str(s) #s -static -double snr_compare( kiss_fft_cpx * test_vec_out,kiss_fft_cpx * testbuf, int n) -{ - int k; - double sigpow,noisepow,err,snr,scale=0; - sigpow = noisepow = .000000000000000000000000000001; - - for (k=0;k