comparison fft/test.html @ 17:9619d2da67c2

Add object version of Nayuki code
author Chris Cannam
date Mon, 05 Oct 2015 15:37:41 +0100
parents ae456984c912
children 26056e866c29
comparison
equal deleted inserted replaced
16:a8a89f74338b 17:9619d2da67c2
8 table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse } 8 table, td, th { border: 0.1em solid #e0e0e0; border-collapse: collapse }
9 td, th { padding: 0.5em } 9 td, th { padding: 0.5em }
10 </style> 10 </style>
11 11
12 <script src="nayuki/fft.js"></script> 12 <script src="nayuki/fft.js"></script>
13 <script src="nayuki-obj/fft.js"></script>
13 <script src="fft.js/lib/complex.js"></script> 14 <script src="fft.js/lib/complex.js"></script>
14 <script src="jsfft/lib/complex_array.js"></script> 15 <script src="jsfft/lib/complex_array.js"></script>
15 <script src="jsfft/lib/fft.js"></script> 16 <script src="jsfft/lib/fft.js"></script>
16 <script src="cross/Cross.js"></script> 17 <script src="cross/Cross.js"></script>
17 <script src="cross/FFT.js"></script> 18 <script src="cross/FFT.js"></script>
30 <tr> 31 <tr>
31 <th>Implementation</th><th>Result</th><th>Time (first half)</th><th>Time (second half)</th><th>Rate (second half)</th> 32 <th>Implementation</th><th>Result</th><th>Time (first half)</th><th>Time (second half)</th><th>Rate (second half)</th>
32 </tr> 33 </tr>
33 <tr> 34 <tr>
34 <td>Nayuki</td><td id="nayuki-result"></td><td id="nayuki-1"></td><td id="nayuki-2"></td><td id="nayuki-itr"></td> 35 <td>Nayuki</td><td id="nayuki-result"></td><td id="nayuki-1"></td><td id="nayuki-2"></td><td id="nayuki-itr"></td>
35 </tr><tr> 36 </tr><tr>
37 <td>Nayuki (obj)</td><td id="nayukiobj-result"></td><td id="nayukiobj-1"></td><td id="nayukiobj-2"></td><td id="nayukiobj-itr"></td>
38 </tr><tr>
36 <td>Nockert</td><td id="nockert-result"></td><td id="nockert-1"></td><td id="nockert-2"></td><td id="nockert-itr"></td> 39 <td>Nockert</td><td id="nockert-result"></td><td id="nockert-1"></td><td id="nockert-2"></td><td id="nockert-itr"></td>
37 </tr><tr> 40 </tr><tr>
38 <td>Dntj</td><td id="dntj-result"></td><td id="dntj-1"></td><td id="dntj-2"></td><td id="dntj-itr"></td> 41 <td>Dntj</td><td id="dntj-result"></td><td id="dntj-1"></td><td id="dntj-2"></td><td id="dntj-itr"></td>
39 </tr><tr> 42 </tr><tr>
40 <td>Cross</td><td id="cross-result"></td><td id="cross-1"></td><td id="cross-2"></td><td id="cross-itr"></td> 43 <td>Cross</td><td id="cross-result"></td><td id="cross-1"></td><td id="cross-2"></td><td id="cross-itr"></td>
45 48
46 <h3>Notes</h3> 49 <h3>Notes</h3>
47 50
48 <ul> 51 <ul>
49 <li><b>Nayuki</b>: in-place single-precision complex-complex</li> 52 <li><b>Nayuki</b>: in-place single-precision complex-complex</li>
53 <li><b>Nayuki (obj)</b>: Nayuki with the sin/cos tables pre-calculated on object construction</li>
50 <li><b>Nockert</b>: double-precision real-complex</li> 54 <li><b>Nockert</b>: double-precision real-complex</li>
51 <li><b>Nayuki</b>: double-precision complex-complex. Forward 55 <li><b>Dntj</b>: double-precision complex-complex. Forward
52 transform is scaled and I've scaled it back again here, which may 56 transform is scaled and I've scaled it back again here, which may
53 introduce rounding error.</li> 57 introduce rounding error.</li>
54 <li><b>Cross</b>: double-precision real-complex in C, compiled 58 <li><b>Cross</b>: double-precision real-complex in C, compiled
55 with Emscripten. This is considered a slow implementation amongst 59 with Emscripten. This is considered a slow implementation amongst
56 native code ones.</li> 60 native code ones.</li>