Mercurial > hg > js-dsp-test
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> |