Mercurial > hg > js-dsp-test
comparison fft/test.html @ 7:47f08ebded06
Fix Cross implementation and add to test matrix
author | Chris Cannam |
---|---|
date | Mon, 05 Oct 2015 12:54:49 +0100 |
parents | fcb64e4b8393 |
children | c6577c4b3780 |
comparison
equal
deleted
inserted
replaced
6:91d77df352fa | 7:47f08ebded06 |
---|---|
1 <html> | 1 <html> |
2 | 2 <head> |
3 | |
3 <meta charset="UTF-8"> | 4 <meta charset="UTF-8"> |
4 | 5 |
5 <style type="text/css"> | 6 <style type="text/css"> |
6 body { margin: 5%; } | 7 body { margin: 5%; } |
7 table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse } | 8 table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse } |
10 | 11 |
11 <script src="nayuki/fft.js"></script> | 12 <script src="nayuki/fft.js"></script> |
12 <script src="fft.js/lib/complex.js"></script> | 13 <script src="fft.js/lib/complex.js"></script> |
13 <script src="jsfft/lib/complex_array.js"></script> | 14 <script src="jsfft/lib/complex_array.js"></script> |
14 <script src="jsfft/lib/fft.js"></script> | 15 <script src="jsfft/lib/fft.js"></script> |
16 <script src="cross/Cross.js"></script> | |
17 <script src="cross/FFT.js"></script> | |
15 <script src="test.js"></script> | 18 <script src="test.js"></script> |
16 | 19 |
20 </head> | |
17 <body> | 21 <body> |
18 | 22 |
19 <h3>Results</h3> | 23 <h3>Results</h3> |
20 | 24 |
21 <p id="test-description"></p> | 25 <p id="test-description"></p> |
28 <td>Nayuki</td><td id="nayuki-result"></td><td id="nayuki-1"></td><td id="nayuki-2"></td><td id="nayuki-itr"></td> | 32 <td>Nayuki</td><td id="nayuki-result"></td><td id="nayuki-1"></td><td id="nayuki-2"></td><td id="nayuki-itr"></td> |
29 </tr><tr> | 33 </tr><tr> |
30 <td>Nockert</td><td id="nockert-result"></td><td id="nockert-1"></td><td id="nockert-2"></td><td id="nockert-itr"></td> | 34 <td>Nockert</td><td id="nockert-result"></td><td id="nockert-1"></td><td id="nockert-2"></td><td id="nockert-itr"></td> |
31 </tr><tr> | 35 </tr><tr> |
32 <td>Dntj</td><td id="dntj-result"></td><td id="dntj-1"></td><td id="dntj-2"></td><td id="dntj-itr"></td> | 36 <td>Dntj</td><td id="dntj-result"></td><td id="dntj-1"></td><td id="dntj-2"></td><td id="dntj-itr"></td> |
37 </tr><tr> | |
38 <td>Cross</td><td id="cross-result"></td><td id="cross-1"></td><td id="cross-2"></td><td id="cross-itr"></td> | |
33 </tr> | 39 </tr> |
34 </table> | 40 </table> |
35 | 41 |
36 <h3>Notes</h3> | 42 <h3>Notes</h3> |
37 | 43 |
38 <ul> | 44 <ul> |
39 <li><b>Nayuki</b>: in-place single-precision complex-complex</li> | 45 <li><b>Nayuki</b>: in-place single-precision complex-complex</li> |
40 <li><b>Nockert</b>: double-precision real-complex</li> | 46 <li><b>Nockert</b>: double-precision real-complex</li> |
41 <li><b>Nayuki</b>: double-precision complex-complex. Forward transform is scaled and I've scaled it back again here, which may introduce rounding error.</li> | 47 <li><b>Nayuki</b>: double-precision complex-complex. Forward transform is scaled and I've scaled it back again here, which may introduce rounding error.</li> |
48 <li><b>Cross</b>: double-precision real-complex in C, compiled with Emscripten. This is considered a slow implementation amongst native code ones.</li> | |
42 </ul> | 49 </ul> |
43 | 50 |
44 <h3>Rationale</h3> | 51 <h3>Rationale</h3> |
45 | 52 |
46 <p>If 2150 iterations of real-to-complex FFT of size 2048 takes less | 53 <p>If 2150 iterations of real-to-complex FFT of size 2048 takes less |