?? testfft.cpp
字號:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <time.h>#include "FFT.h"const int len = 8192;const int tests = 200;main(){ int t0, t1; float *in = new float[len]; float *outr = new float[len]; float *outi = new float[len]; float *outr2 = new float[len]; float *outi2 = new float[len]; float *outs = new float[len]; for(int x=0; x<len; x++) { in[x] = sin(x/(float)len) + 1.3*cos(x/(float)len); } // Warm it up FFT(len, 0, in, NULL, outr, outi); RealFFT(len, in, outr2, outi2); PowerSpectrum(len, in, outs); printf("Testing FFT(%d):\n\n", len); int i; t0 = clock(); for(i=0; i<tests; i++) { FFT(len, 0, in, NULL, outr, outi); } t1 = clock(); printf("Complex FFT Time: %d us\n", int((t1-(double)t0)/tests+0.5)); t0 = clock(); for(i=0; i<tests; i++) { RealFFT(len, in, outr2, outi2); } t1 = clock(); printf("Real FFT Time: %d us\n", int((t1-(double)t0)/tests+0.5)); t0 = clock(); for(i=0; i<tests; i++) { PowerSpectrum(len, in, outs); } t1 = clock(); printf("Spectrum Time: %d us\n", int((t1-(double)t0)/tests+0.5)); printf("\n"); printf("Accuracy:\n"); printf("\n"); printf(" n FFT RealFFT PowerSpectrum\n"); for(i=0; i<len/2; i++) { printf("%6d: %10e %10e %10e\n", i, outr[i]*outr[i] + outi[i]*outi[i], outr2[i]*outr2[i] + outi2[i]*outi2[i], outs[i]); }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -