Skip to content

Commit 69f2bb8

Browse files
committed
Update artifacts
1 parent 4ea7c71 commit 69f2bb8

25 files changed

+132
-51
lines changed

fft/base/fftpack/c1_ref.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
313313
<div class='footer quiet pad2 space-top1 center small'>
314314
Code coverage generated by
315315
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316-
at 2025-06-11T10:14:46.641Z
316+
at 2025-06-11T23:43:41.088Z
317317
</div>
318318
<script src="../../../../prettify.js"></script>
319319
<script>

fft/base/fftpack/c2_ref.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
307307
<div class='footer quiet pad2 space-top1 center small'>
308308
Code coverage generated by
309309
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
310-
at 2025-06-11T10:14:46.641Z
310+
at 2025-06-11T23:43:41.088Z
311311
</div>
312312
<script src="../../../../prettify.js"></script>
313313
<script>

fft/base/fftpack/cc_ref.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
325325
<div class='footer quiet pad2 space-top1 center small'>
326326
Code coverage generated by
327327
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
328-
at 2025-06-11T10:14:46.641Z
328+
at 2025-06-11T23:43:41.088Z
329329
</div>
330330
<script src="../../../../prettify.js"></script>
331331
<script>

fft/base/fftpack/ch2_ref.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
307307
<div class='footer quiet pad2 space-top1 center small'>
308308
Code coverage generated by
309309
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
310-
at 2025-06-11T10:14:46.641Z
310+
at 2025-06-11T23:43:41.088Z
311311
</div>
312312
<script src="../../../../prettify.js"></script>
313313
<script>

fft/base/fftpack/ch_ref.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
313313
<div class='footer quiet pad2 space-top1 center small'>
314314
Code coverage generated by
315315
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316-
at 2025-06-11T10:14:46.641Z
316+
at 2025-06-11T23:43:41.088Z
317317
</div>
318318
<script src="../../../../prettify.js"></script>
319319
<script>

fft/base/fftpack/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[2503,3581,69.8967,42,68,61.7647,14,27,51.8519,2503,3581,69.8967,"410012ee521d9161d14f4f020218b4af768c8628","2025-06-11 03:13:14 -0700"]
1+
[2530,3608,70.122,42,68,61.7647,14,27,51.8519,2530,3608,70.122,"f98235603149d1ceb4e5573899dc649829542579","2025-06-11 16:42:22 -0700"]

fft/base/fftpack/decompose.js.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -535,14 +535,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
535535
// MAIN //
536536
&nbsp;
537537
/**
538-
* Factorizes a sequence length into its prime factors.
538+
* Factorizes a sequence length into a product of integers.
539539
*
540540
* ## Notes
541541
*
542542
* - Factorization results are stored in the input array as follows:
543543
*
544544
* ```text
545-
* [ sequence_length | number_of_factors | prime_factors | unused_storage ]
545+
* [ sequence_length | number_of_factors | integer_factors | unused_storage ]
546546
* ```
547547
*
548548
* - The function mutates the input array.
@@ -565,7 +565,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
565565
* // Initialize an array for storing factorization results:
566566
* var factors = [ 0, 0, 0, 0, 0, 0, 0 ];
567567
*
568-
* // Factorize the sequence length into its prime factors:
568+
* // Factorize the sequence length into a product of integers:
569569
* var numFactors = decompose( N, initial, factors, 1, 0 );
570570
* // returns 5
571571
*
@@ -582,14 +582,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
582582
* // Initialize an array for storing factorization results:
583583
* var factors = [ 0, 0, 0, 0 ];
584584
*
585-
* // Factorize the sequence length into its prime factors:
585+
* // Factorize the sequence length into its a product of integers:
586586
* var numFactors = decompose( N, initial, factors, 1, 0 );
587587
* // returns 2
588588
*
589589
* var f = factors.slice();
590590
* // returns [ 8, 2, 2, 4 ]
591591
*/
592-
function decompose( N, initial, out, stride, offset ) {
592+
function decompose( N, initial, out, stride, offset ) { // TODO: consider moving to a separate utility package
593593
var divisor;
594594
var ntrials;
595595
var nl;
@@ -676,7 +676,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
676676
<div class='footer quiet pad2 space-top1 center small'>
677677
Code coverage generated by
678678
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
679-
at 2025-06-11T10:14:46.641Z
679+
at 2025-06-11T23:43:41.088Z
680680
</div>
681681
<script src="../../../../prettify.js"></script>
682682
<script>

fft/base/fftpack/index.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ <h1><a href="../../../../index.html">All files</a> fft/base/fftpack/lib</h1>
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">69.89% </span>
26+
<span class="strong">70.12% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>2503/3581</span>
28+
<span class='fraction'>2530/3608</span>
2929
</div>
3030

3131

@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> fft/base/fftpack/lib</h1>
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">69.89% </span>
47+
<span class="strong">70.12% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>2503/3581</span>
49+
<span class='fraction'>2530/3608</span>
5050
</div>
5151

5252

@@ -185,17 +185,17 @@ <h1><a href="../../../../index.html">All files</a> fft/base/fftpack/lib</h1>
185185

186186
<tr>
187187
<td class="file high" data-value="radb2.js"><a href="radb2.js.html">radb2.js</a></td>
188-
<td data-value="80.87" class="pic high">
189-
<div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
188+
<td data-value="82.73" class="pic high">
189+
<div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
190190
</td>
191-
<td data-value="80.87" class="pct high">80.87%</td>
192-
<td data-value="251" class="abs high">203/251</td>
191+
<td data-value="82.73" class="pct high">82.73%</td>
192+
<td data-value="278" class="abs high">230/278</td>
193193
<td data-value="80" class="pct high">80%</td>
194194
<td data-value="5" class="abs high">4/5</td>
195195
<td data-value="100" class="pct high">100%</td>
196196
<td data-value="3" class="abs high">3/3</td>
197-
<td data-value="80.87" class="pct high">80.87%</td>
198-
<td data-value="251" class="abs high">203/251</td>
197+
<td data-value="82.73" class="pct high">82.73%</td>
198+
<td data-value="278" class="abs high">230/278</td>
199199
</tr>
200200

201201
<tr>
@@ -431,7 +431,7 @@ <h1><a href="../../../../index.html">All files</a> fft/base/fftpack/lib</h1>
431431
<div class='footer quiet pad2 space-top1 center small'>
432432
Code coverage generated by
433433
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
434-
at 2025-06-11T10:14:46.641Z
434+
at 2025-06-11T23:43:41.088Z
435435
</div>
436436
<script src="../../../../prettify.js"></script>
437437
<script>

fft/base/fftpack/print_real_workspace.js.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
228228
* @param {NonNegativeInteger} offsetW - starting index for `workspace`
229229
* @returns {void}
230230
*/
231-
function printWorkspace( N, workspace, strideW, offsetW ) {
231+
function printWorkspace( N, workspace, strideW, offsetW ) { // FIXME: remove this file and function once we've clean-up this package
232232
var offsetT;
233233
var offsetF;
234234
var tmp;
@@ -262,7 +262,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
262262
<div class='footer quiet pad2 space-top1 center small'>
263263
Code coverage generated by
264264
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
265-
at 2025-06-11T10:14:46.641Z
265+
at 2025-06-11T23:43:41.088Z
266266
</div>
267267
<script src="../../../../prettify.js"></script>
268268
<script>

fft/base/fftpack/radb2.js.html

Lines changed: 92 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">80.87% </span>
26+
<span class="strong">82.73% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>203/251</span>
28+
<span class='fraction'>230/278</span>
2929
</div>
3030

3131

@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">80.87% </span>
47+
<span class="strong">82.73% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>203/251</span>
49+
<span class='fraction'>230/278</span>
5050
</div>
5151

5252

@@ -314,7 +314,34 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
314314
<a name='L249'></a><a href='#L249'>249</a>
315315
<a name='L250'></a><a href='#L250'>250</a>
316316
<a name='L251'></a><a href='#L251'>251</a>
317-
<a name='L252'></a><a href='#L252'>252</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
317+
<a name='L252'></a><a href='#L252'>252</a>
318+
<a name='L253'></a><a href='#L253'>253</a>
319+
<a name='L254'></a><a href='#L254'>254</a>
320+
<a name='L255'></a><a href='#L255'>255</a>
321+
<a name='L256'></a><a href='#L256'>256</a>
322+
<a name='L257'></a><a href='#L257'>257</a>
323+
<a name='L258'></a><a href='#L258'>258</a>
324+
<a name='L259'></a><a href='#L259'>259</a>
325+
<a name='L260'></a><a href='#L260'>260</a>
326+
<a name='L261'></a><a href='#L261'>261</a>
327+
<a name='L262'></a><a href='#L262'>262</a>
328+
<a name='L263'></a><a href='#L263'>263</a>
329+
<a name='L264'></a><a href='#L264'>264</a>
330+
<a name='L265'></a><a href='#L265'>265</a>
331+
<a name='L266'></a><a href='#L266'>266</a>
332+
<a name='L267'></a><a href='#L267'>267</a>
333+
<a name='L268'></a><a href='#L268'>268</a>
334+
<a name='L269'></a><a href='#L269'>269</a>
335+
<a name='L270'></a><a href='#L270'>270</a>
336+
<a name='L271'></a><a href='#L271'>271</a>
337+
<a name='L272'></a><a href='#L272'>272</a>
338+
<a name='L273'></a><a href='#L273'>273</a>
339+
<a name='L274'></a><a href='#L274'>274</a>
340+
<a name='L275'></a><a href='#L275'>275</a>
341+
<a name='L276'></a><a href='#L276'>276</a>
342+
<a name='L277'></a><a href='#L277'>277</a>
343+
<a name='L278'></a><a href='#L278'>278</a>
344+
<a name='L279'></a><a href='#L279'>279</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
318345
<span class="cline-any cline-yes">1x</span>
319346
<span class="cline-any cline-yes">1x</span>
320347
<span class="cline-any cline-yes">1x</span>
@@ -447,6 +474,33 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
447474
<span class="cline-any cline-yes">1x</span>
448475
<span class="cline-any cline-yes">1x</span>
449476
<span class="cline-any cline-yes">1x</span>
477+
<span class="cline-any cline-yes">1x</span>
478+
<span class="cline-any cline-yes">1x</span>
479+
<span class="cline-any cline-yes">1x</span>
480+
<span class="cline-any cline-yes">1x</span>
481+
<span class="cline-any cline-yes">1x</span>
482+
<span class="cline-any cline-yes">1x</span>
483+
<span class="cline-any cline-yes">1x</span>
484+
<span class="cline-any cline-yes">1x</span>
485+
<span class="cline-any cline-yes">1x</span>
486+
<span class="cline-any cline-yes">1x</span>
487+
<span class="cline-any cline-yes">1x</span>
488+
<span class="cline-any cline-yes">1x</span>
489+
<span class="cline-any cline-yes">1x</span>
490+
<span class="cline-any cline-yes">1x</span>
491+
<span class="cline-any cline-yes">1x</span>
492+
<span class="cline-any cline-yes">1x</span>
493+
<span class="cline-any cline-yes">1x</span>
494+
<span class="cline-any cline-yes">1x</span>
495+
<span class="cline-any cline-yes">1x</span>
496+
<span class="cline-any cline-yes">1x</span>
497+
<span class="cline-any cline-yes">1x</span>
498+
<span class="cline-any cline-yes">1x</span>
499+
<span class="cline-any cline-yes">1x</span>
500+
<span class="cline-any cline-yes">1x</span>
501+
<span class="cline-any cline-yes">1x</span>
502+
<span class="cline-any cline-yes">1x</span>
503+
<span class="cline-any cline-yes">1x</span>
450504
<span class="cline-any cline-yes">4x</span>
451505
<span class="cline-any cline-yes">4x</span>
452506
<span class="cline-any cline-yes">4x</span>
@@ -684,9 +738,36 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
684738
*
685739
* ## Notes
686740
*
687-
* When writing to an output array stored in linear memory, we can reinterpret the array as a three-dimensional logical view containing `L` independent sub-sequences having two "columns" corresponding to the real and imaginary parts of a folded complex vector and where each "column" has `M` elements.
741+
* When writing to an output array stored in linear memory, we can reinterpret the array as a three-dimensional logical view containing `L` independent sub-sequences having two "rows" corresponding to the two parts of the butterfly (`even + odd` and `even - odd`, respectively) and where each "row" has `M*L` elements.
688742
*
689-
* Accordingly, the following is a logical view of an input array (zero-based indexing) which contains `L = 3` transforms and in which each "column" sub-sequence has length `M = 4`:
743+
* Accordingly, the following is a logical view of an output array (zero-based indexing) which contains `L = 3` transforms and in which each sub-sequence has length `M = 4`:
744+
*
745+
* ```text
746+
* │ k = 0 k = 1 k = 2
747+
* │ ───────────────────────────────────────────────────────────────────────────────→ k
748+
* j = 0 (even+odd) │ out(0,0,0) ... out(3,0,0) out(0,1,0) ... out(3,1,0) out(0,2,0) ... out(3,2,0)
749+
* │
750+
* j = 1 (even-odd) │ out(0,0,1) ... out(3,0,1) out(0,1,1) ... out(3,1,1) out(0,2,1) ... out(3,2,1)
751+
* └────────────────────────────────────────────────────────────────────────────────→ i
752+
* ↑ ↑ ↑ ↑ ↑ ↑
753+
* i = 0 M-1 0 M-1 0 M-1
754+
* ```
755+
*
756+
* In the above,
757+
*
758+
* - `i` is the fastest varying index, which walks within one short sub-sequence corresponding to either the `even + odd` or `even - odd` part of the butterfly.
759+
* - `j` selects between the `even + odd` and `even - odd` part of the butterfly.
760+
* - `k` specifies the index of one of the `L` independent transforms we are processing.
761+
*
762+
* In linear memory, the three-dimensional logical view is arranged as follows:
763+
*
764+
* ```text
765+
* | out(0,0,0)...out(3,0,0) ... out(0,2,0)...out(3,2,0) | out(0,0,1)...out(3,0,1) ... out(0,2,1)...out(3,2,1) |
766+
* ```
767+
*
768+
* As may be observed, when resolving an index in the output array, the `j` and `k` dimensions are swapped. This stems from `radb2` being only one stage in a multi-stage driver which alternates between using `ch` and `out` as workspace buffers. After each stage, the next stage reads what the previous stage wrote.
769+
*
770+
* Each stage expects a transpose, and, in order to avoid explicit transposition between the stages, we swap the last two logical dimensions while still maintaining cache locality within the inner loop logical dimension, as indexed by `i`.
690771
*
691772
* @private
692773
* @param {NonNegativeInteger} i - index of an element within a sub-sequence
@@ -771,9 +852,6 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
771852
<span class="cstat-no" title="statement not covered" > for ( i = 2; i &lt; M; i += 2 ) {</span>
772853
<span class="cstat-no" title="statement not covered" > ic = MP1 - i;</span>
773854
<span class="cstat-no" title="statement not covered" ></span>
774-
<span class="cstat-no" title="statement not covered" > it1 = i - 1 + ot;</span>
775-
<span class="cstat-no" title="statement not covered" > it2 = i + ot;</span>
776-
<span class="cstat-no" title="statement not covered" ></span>
777855
<span class="cstat-no" title="statement not covered" > ip1 = iptr( i, 0, k, M, sc, oc );</span>
778856
<span class="cstat-no" title="statement not covered" > ip2 = iptr( ic-1, 1, k, M, sc, oc );</span>
779857
<span class="cstat-no" title="statement not covered" > tr2 = cc[ ip1 ] - cc[ ip2 ];</span>
@@ -788,6 +866,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
788866
<span class="cstat-no" title="statement not covered" > io = optr( i+1, k, 0, L, M, so, oo );</span>
789867
<span class="cstat-no" title="statement not covered" > out[ io ] = cc[ ip1 ] - cc[ ip2 ];</span>
790868
<span class="cstat-no" title="statement not covered" ></span>
869+
<span class="cstat-no" title="statement not covered" > it1 = i - 1 + ot;</span>
870+
<span class="cstat-no" title="statement not covered" > it2 = i + ot;</span>
871+
<span class="cstat-no" title="statement not covered" ></span>
791872
<span class="cstat-no" title="statement not covered" > io = optr( i, k, 1, L, M, so, oo );</span>
792873
<span class="cstat-no" title="statement not covered" > out[ io ] = ( twiddles[ it1 ] * tr2 ) - ( twiddles[ it2 ] * ti2 );</span>
793874
<span class="cstat-no" title="statement not covered" ></span>
@@ -823,7 +904,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">fft/ba
823904
<div class='footer quiet pad2 space-top1 center small'>
824905
Code coverage generated by
825906
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
826-
at 2025-06-11T10:14:46.641Z
907+
at 2025-06-11T23:43:41.088Z
827908
</div>
828909
<script src="../../../../prettify.js"></script>
829910
<script>

0 commit comments

Comments
 (0)