Mercurial > hg > js-dsp-test
changeset 26:9af60df83c6f
Adjust inputs so as to get a nice round number as output
author | Chris Cannam |
---|---|
date | Wed, 07 Oct 2015 13:59:09 +0100 |
parents | 66f9fd5ac611 |
children | 4fa5f3f883a2 |
files | fft/index.html fft/test.js |
diffstat | 2 files changed, 33 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/fft/index.html Wed Oct 07 13:46:38 2015 +0100 +++ b/fft/index.html Wed Oct 07 13:59:09 2015 +0100 @@ -1,31 +1,32 @@ <html> <head> + + <meta charset="UTF-8"> + <title>Javascript FFT speed test</title> + + <style type="text/css"> + body { margin: 5%; } + table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse } + td, th { padding: 0.5em } + </style> - <meta charset="UTF-8"> - - <style type="text/css"> - body { margin: 5%; } - table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse } - td, th { padding: 0.5em } - </style> - - <script src="nayuki/fft.js"></script> - <script src="nayuki-obj/fft.js"></script> - <script src="fft.js/lib/complex.js"></script> - <script src="jsfft/lib/complex_array.js"></script> - <script src="jsfft/lib/fft.js"></script> - <script src="cross/Cross.js"></script> - <script src="cross/FFT.js"></script> - <script src="kissfft/KissFFT.js"></script> - <script src="kissfft/FFT.js"></script> - <script src="fftw/FFTW.js"></script> - <script src="fftw/FFT.js"></script> - <script src="test.js"></script> + <script src="nayuki/fft.js"></script> + <script src="nayuki-obj/fft.js"></script> + <script src="fft.js/lib/complex.js"></script> + <script src="jsfft/lib/complex_array.js"></script> + <script src="jsfft/lib/fft.js"></script> + <script src="cross/Cross.js"></script> + <script src="cross/FFT.js"></script> + <script src="kissfft/KissFFT.js"></script> + <script src="kissfft/FFT.js"></script> + <script src="fftw/FFTW.js"></script> + <script src="fftw/FFT.js"></script> + <script src="test.js"></script> </head> <body> - <h3>Results</h3> + <h3>Forward real-complex FFT speed test</h3> <p id="test-description"></p> @@ -37,16 +38,16 @@ <td>Nayuki</td><td id="nayuki-result"></td><td id="nayuki-1"></td><td id="nayuki-2"></td><td id="nayuki-itr"></td> </tr><tr> <td>Nayuki (obj)</td><td id="nayukiobj-result"></td><td id="nayukiobj-1"></td><td id="nayukiobj-2"></td><td id="nayukiobj-itr"></td> + </tr><tr> + <td>KissFFT</td><td id="kissfft-result"></td><td id="kissfft-1"></td><td id="kissfft-2"></td><td id="kissfft-itr"></td> + </tr><tr> + <td>Cross</td><td id="cross-result"></td><td id="cross-1"></td><td id="cross-2"></td><td id="cross-itr"></td> + </tr><tr> + <td>FFTW</td><td id="fftw-result"></td><td id="fftw-1"></td><td id="fftw-2"></td><td id="fftw-itr"></td> </tr><tr> <td>Nockert</td><td id="nockert-result"></td><td id="nockert-1"></td><td id="nockert-2"></td><td id="nockert-itr"></td> </tr><tr> <td>Dntj</td><td id="dntj-result"></td><td id="dntj-1"></td><td id="dntj-2"></td><td id="dntj-itr"></td> - </tr><tr> - <td>Cross</td><td id="cross-result"></td><td id="cross-1"></td><td id="cross-2"></td><td id="cross-itr"></td> - </tr><tr> - <td>KissFFT</td><td id="kissfft-result"></td><td id="kissfft-1"></td><td id="kissfft-2"></td><td id="kissfft-itr"></td> - </tr><tr> - <td>FFTW</td><td id="fftw-result"></td><td id="fftw-1"></td><td id="fftw-2"></td><td id="fftw-itr"></td> </tr> </table>
--- a/fft/test.js Wed Oct 07 13:46:38 2015 +0100 +++ b/fft/test.js Wed Oct 07 13:59:09 2015 +0100 @@ -1,11 +1,10 @@ -/* for a phase vocoder, we probably want 2048-point real-to-complex - * FFTs (if available) */ +/* Utility functions to generate arbitrary input in various formats */ function inputReals(size) { var result = new Float32Array(size); for (var i = 0; i < result.length; i++) - result[i] = (i % 20) / 10.0 - 1.0; + result[i] = (i % 2) / 4.0; return result; } @@ -19,21 +18,21 @@ function inputReal64s(size) { var result = new Float64Array(size); for (var i = 0; i < result.length; i++) - result[i] = (i % 20) / 10.0 - 1.0; + result[i] = (i % 2) / 4.0; return result; } function zeroReal64s(size) { var result = new Float64Array(size); for (var i = 0; i < result.length; i++) - result[i] = (i % 20) / 10.0 - 1.0; + result[i] = 0.0; return result; } function inputComplexArray(size) { var result = new complex_array.ComplexArray(size); for (var i = 0; i < size; i++) { - result.real[i] = (i % 20) / 10.0 - 1.0; + result.real[i] = (i % 2) / 4.0; result.imag[i] = 0.0; } return result;