1 #ifndef JFFT_UNIT_TEST_H 2 #define JFFT_UNIT_TEST_H 16 #include "jVector/jvector.h" 17 #include "jFFT/jfft.h" 18 #include "jPlot/jplot.h" 22 std::vector< float > build_test_signal( uint N ) {
24 std::vector< float > sin_vect ( N );
26 for ( uint i = 0; i < N ; i++ ) {
28 sin_vect.push_back( sinf( (5)*i *2*M_PI/N) + 2*sinf( (25)*i*2*M_PI/N) + 3*sinf( (50)*i*2*M_PI/N ) );
36 const uint signal_size = 10000;
38 JFFT< std::vector < float > > fft_er(
true );
40 std::vector< float > signal = build_test_signal( signal_size );
42 auto start_cpu = std::chrono::high_resolution_clock::now();
44 fft_er.PowerSpectrum( signal );
46 auto end_cpu = std::chrono::high_resolution_clock::now();
47 std::chrono::duration<double, std::milli> cpu_ms = end_cpu - start_cpu;
48 auto time_taken_cpu = cpu_ms.count();
50 std::cout<<
"CPU took "<<time_taken_cpu<<
" ms."<<std::endl;
56 #endif // JFFT_UNIT_TEST_H