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