Skip to content

Commit 9d4fe2d

Browse files
committed
Update artifacts
1 parent 74124e9 commit 9d4fe2d

File tree

4 files changed

+112
-112
lines changed

4 files changed

+112
-112
lines changed

ndarray/base/tile/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[190,190,100,21,21,100,1,1,100,190,190,100,"86e54db86ad4924bd5374019d0589dfce1d861c9","2026-04-17 08:09:40"]
1+
[190,190,100,22,22,100,1,1,100,190,190,100,"3aa1209c814e028641d4737eca7898630b89da2c","2026-04-17 12:10:17"]

ndarray/base/tile/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h1>All files</h1>
3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>21/21</span>
35+
<span class='fraction'>22/22</span>
3636
</div>
3737

3838

@@ -101,7 +101,7 @@ <h1>All files</h1>
101101
<td data-value="100" class="pct high">100%</td>
102102
<td data-value="146" class="abs high">146/146</td>
103103
<td data-value="100" class="pct high">100%</td>
104-
<td data-value="20" class="abs high">20/20</td>
104+
<td data-value="21" class="abs high">21/21</td>
105105
<td data-value="100" class="pct high">100%</td>
106106
<td data-value="1" class="abs high">1/1</td>
107107
<td data-value="100" class="pct high">100%</td>
@@ -116,7 +116,7 @@ <h1>All files</h1>
116116
<div class='footer quiet pad2 space-top1 center small'>
117117
Code coverage generated by
118118
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119-
at 2026-04-17T08:08:49.434Z
119+
at 2026-04-17T12:08:53.002Z
120120
</div>
121121
<script src="prettify.js"></script>
122122
<script>

ndarray/base/tile/index.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ <h1><a href="index.html">All files</a> index.js</h1>
202202
<div class='footer quiet pad2 space-top1 center small'>
203203
Code coverage generated by
204204
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
205-
at 2026-04-17T08:08:49.434Z
205+
at 2026-04-17T12:08:53.002Z
206206
</div>
207207
<script src="prettify.js"></script>
208208
<script>

ndarray/base/tile/main.js.html

Lines changed: 107 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h1><a href="index.html">All files</a> main.js</h1>
3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>20/20</span>
35+
<span class='fraction'>21/21</span>
3636
</div>
3737

3838

@@ -270,86 +270,86 @@ <h1><a href="index.html">All files</a> main.js</h1>
270270
<span class="cline-any cline-yes">1x</span>
271271
<span class="cline-any cline-yes">1x</span>
272272
<span class="cline-any cline-yes">1x</span>
273-
<span class="cline-any cline-yes">29x</span>
274-
<span class="cline-any cline-yes">29x</span>
275-
<span class="cline-any cline-yes">29x</span>
276-
<span class="cline-any cline-yes">29x</span>
277-
<span class="cline-any cline-yes">29x</span>
278-
<span class="cline-any cline-yes">29x</span>
279-
<span class="cline-any cline-yes">29x</span>
280-
<span class="cline-any cline-yes">29x</span>
281-
<span class="cline-any cline-yes">29x</span>
282-
<span class="cline-any cline-yes">29x</span>
283-
<span class="cline-any cline-yes">29x</span>
284-
<span class="cline-any cline-yes">29x</span>
285-
<span class="cline-any cline-yes">29x</span>
286-
<span class="cline-any cline-yes">29x</span>
287-
<span class="cline-any cline-yes">29x</span>
288-
<span class="cline-any cline-yes">29x</span>
289-
<span class="cline-any cline-yes">29x</span>
290-
<span class="cline-any cline-yes">29x</span>
291-
<span class="cline-any cline-yes">29x</span>
292-
<span class="cline-any cline-yes">29x</span>
293-
<span class="cline-any cline-yes">29x</span>
294-
<span class="cline-any cline-yes">29x</span>
295-
<span class="cline-any cline-yes">29x</span>
296-
<span class="cline-any cline-yes">29x</span>
297-
<span class="cline-any cline-yes">29x</span>
298-
<span class="cline-any cline-yes">29x</span>
299-
<span class="cline-any cline-yes">29x</span>
300-
<span class="cline-any cline-yes">29x</span>
301-
<span class="cline-any cline-yes">29x</span>
302-
<span class="cline-any cline-yes">29x</span>
303-
<span class="cline-any cline-yes">29x</span>
304-
<span class="cline-any cline-yes">29x</span>
305-
<span class="cline-any cline-yes">29x</span>
306-
<span class="cline-any cline-yes">29x</span>
307-
<span class="cline-any cline-yes">29x</span>
308-
<span class="cline-any cline-yes">29x</span>
309-
<span class="cline-any cline-yes">29x</span>
310-
<span class="cline-any cline-yes">29x</span>
311-
<span class="cline-any cline-yes">29x</span>
312-
<span class="cline-any cline-yes">6x</span>
313-
<span class="cline-any cline-yes">29x</span>
314-
<span class="cline-any cline-yes">22x</span>
315-
<span class="cline-any cline-yes">23x</span>
316-
<span class="cline-any cline-yes">1x</span>
317273
<span class="cline-any cline-yes">1x</span>
318-
<span class="cline-any cline-yes">29x</span>
319-
<span class="cline-any cline-yes">29x</span>
320-
<span class="cline-any cline-yes">29x</span>
321-
<span class="cline-any cline-yes">29x</span>
322-
<span class="cline-any cline-yes">29x</span>
323-
<span class="cline-any cline-yes">65x</span>
324-
<span class="cline-any cline-yes">65x</span>
325-
<span class="cline-any cline-yes">65x</span>
326-
<span class="cline-any cline-yes">65x</span>
327-
<span class="cline-any cline-yes">65x</span>
328-
<span class="cline-any cline-yes">49x</span>
329-
<span class="cline-any cline-yes">49x</span>
330-
<span class="cline-any cline-yes">49x</span>
331-
<span class="cline-any cline-yes">65x</span>
332-
<span class="cline-any cline-yes">16x</span>
274+
<span class="cline-any cline-yes">28x</span>
275+
<span class="cline-any cline-yes">28x</span>
276+
<span class="cline-any cline-yes">28x</span>
277+
<span class="cline-any cline-yes">28x</span>
278+
<span class="cline-any cline-yes">28x</span>
279+
<span class="cline-any cline-yes">28x</span>
280+
<span class="cline-any cline-yes">28x</span>
281+
<span class="cline-any cline-yes">28x</span>
282+
<span class="cline-any cline-yes">28x</span>
283+
<span class="cline-any cline-yes">28x</span>
284+
<span class="cline-any cline-yes">28x</span>
285+
<span class="cline-any cline-yes">28x</span>
286+
<span class="cline-any cline-yes">28x</span>
287+
<span class="cline-any cline-yes">28x</span>
288+
<span class="cline-any cline-yes">28x</span>
289+
<span class="cline-any cline-yes">28x</span>
290+
<span class="cline-any cline-yes">28x</span>
291+
<span class="cline-any cline-yes">28x</span>
292+
<span class="cline-any cline-yes">28x</span>
293+
<span class="cline-any cline-yes">28x</span>
294+
<span class="cline-any cline-yes">28x</span>
295+
<span class="cline-any cline-yes">28x</span>
296+
<span class="cline-any cline-yes">28x</span>
297+
<span class="cline-any cline-yes">28x</span>
298+
<span class="cline-any cline-yes">28x</span>
299+
<span class="cline-any cline-yes">28x</span>
300+
<span class="cline-any cline-yes">28x</span>
301+
<span class="cline-any cline-yes">28x</span>
302+
<span class="cline-any cline-yes">28x</span>
303+
<span class="cline-any cline-yes">28x</span>
304+
<span class="cline-any cline-yes">3x</span>
305+
<span class="cline-any cline-yes">3x</span>
306+
<span class="cline-any cline-yes">25x</span>
307+
<span class="cline-any cline-yes">25x</span>
308+
<span class="cline-any cline-yes">25x</span>
309+
<span class="cline-any cline-yes">25x</span>
310+
<span class="cline-any cline-yes">28x</span>
311+
<span class="cline-any cline-yes">9x</span>
312+
<span class="cline-any cline-yes">9x</span>
313+
<span class="cline-any cline-yes">28x</span>
314+
<span class="cline-any cline-yes">12x</span>
333315
<span class="cline-any cline-yes">16x</span>
334-
<span class="cline-any cline-yes">16x</span>
335-
<span class="cline-any cline-yes">16x</span>
336-
<span class="cline-any cline-yes">65x</span>
337-
<span class="cline-any cline-yes">29x</span>
338-
<span class="cline-any cline-yes">27x</span>
339-
<span class="cline-any cline-yes">27x</span>
340-
<span class="cline-any cline-yes">29x</span>
316+
<span class="cline-any cline-yes">4x</span>
317+
<span class="cline-any cline-yes">4x</span>
318+
<span class="cline-any cline-yes">25x</span>
319+
<span class="cline-any cline-yes">25x</span>
320+
<span class="cline-any cline-yes">25x</span>
321+
<span class="cline-any cline-yes">25x</span>
322+
<span class="cline-any cline-yes">28x</span>
323+
<span class="cline-any cline-yes">53x</span>
324+
<span class="cline-any cline-yes">53x</span>
325+
<span class="cline-any cline-yes">53x</span>
326+
<span class="cline-any cline-yes">53x</span>
327+
<span class="cline-any cline-yes">53x</span>
328+
<span class="cline-any cline-yes">43x</span>
329+
<span class="cline-any cline-yes">43x</span>
330+
<span class="cline-any cline-yes">43x</span>
331+
<span class="cline-any cline-yes">53x</span>
332+
<span class="cline-any cline-yes">10x</span>
333+
<span class="cline-any cline-yes">10x</span>
334+
<span class="cline-any cline-yes">10x</span>
335+
<span class="cline-any cline-yes">10x</span>
336+
<span class="cline-any cline-yes">53x</span>
337+
<span class="cline-any cline-yes">28x</span>
338+
<span class="cline-any cline-yes">23x</span>
339+
<span class="cline-any cline-yes">23x</span>
340+
<span class="cline-any cline-yes">28x</span>
341341
<span class="cline-any cline-yes">2x</span>
342342
<span class="cline-any cline-yes">2x</span>
343343
<span class="cline-any cline-yes">2x</span>
344-
<span class="cline-any cline-yes">29x</span>
345-
<span class="cline-any cline-yes">29x</span>
346-
<span class="cline-any cline-yes">29x</span>
347-
<span class="cline-any cline-yes">29x</span>
348-
<span class="cline-any cline-yes">29x</span>
349-
<span class="cline-any cline-yes">29x</span>
350-
<span class="cline-any cline-yes">29x</span>
351-
<span class="cline-any cline-yes">29x</span>
352-
<span class="cline-any cline-yes">29x</span>
344+
<span class="cline-any cline-yes">25x</span>
345+
<span class="cline-any cline-yes">25x</span>
346+
<span class="cline-any cline-yes">25x</span>
347+
<span class="cline-any cline-yes">25x</span>
348+
<span class="cline-any cline-yes">25x</span>
349+
<span class="cline-any cline-yes">25x</span>
350+
<span class="cline-any cline-yes">25x</span>
351+
<span class="cline-any cline-yes">25x</span>
352+
<span class="cline-any cline-yes">28x</span>
353353
<span class="cline-any cline-yes">1x</span>
354354
<span class="cline-any cline-yes">1x</span>
355355
<span class="cline-any cline-yes">1x</span>
@@ -389,6 +389,7 @@ <h1><a href="index.html">All files</a> main.js</h1>
389389
var getOrder = require( '@stdlib/ndarray/base/order' );
390390
var getDType = require( '@stdlib/ndarray/base/dtype' );
391391
var getData = require( '@stdlib/ndarray/base/data-buffer' );
392+
var format = require( '@stdlib/string/format' );
392393
var zeros = require( '@stdlib/array/base/zeros' );
393394
&nbsp;
394395
&nbsp;
@@ -399,12 +400,12 @@ <h1><a href="index.html">All files</a> main.js</h1>
399400
*
400401
* ## Notes
401402
*
402-
* - When the number of repetitions is less than the number of input dimensions, the number of repetitions is left-padded with ones until the number of repetitions matches the number of input dimensions. When the number of repetitions exceeds the number of input dimensions, the input array is treated as if singleton dimensions were prepended.
403-
* - The output array has rank equal to the greater of the input array rank and the number of repetitions.
404-
* - The function always returns a new ndarray having a newly allocated data buffer.
403+
* - The number of repetitions must have at least as many elements as the number of input dimensions. When the number of repetitions exceeds the number of input dimensions, the input array is treated as if singleton dimensions were prepended.
404+
* - The function always copies data to a new ndarray.
405405
*
406406
* @param {ndarray} x - input array
407407
* @param {NonNegativeIntegerArray} reps - number of repetitions along each dimension
408+
* @throws {RangeError} second argument must have at least as many elements as the number of input dimensions
408409
* @returns {ndarray} output array
409410
*
410411
* @example
@@ -423,64 +424,63 @@ <h1><a href="index.html">All files</a> main.js</h1>
423424
var sho;
424425
var shi;
425426
var sto;
426-
var ord;
427427
var buf;
428428
var out;
429-
var Dr;
430429
var Ds;
431430
var si;
432431
var sx;
433432
var v1;
434433
var v2;
435-
var K;
436434
var L;
437435
var M;
438436
var N;
439-
var r;
437+
var o;
440438
var s;
441439
var t;
442440
var i;
441+
var j;
443442
&nbsp;
444443
shx = getShape( x, false );
445444
sx = getStrides( x, false );
446445
dtype = getDType( x );
447446
N = reps.length;
448447
M = shx.length;
449448
&nbsp;
450-
// Determine the output rank, which is the greater of the number of input dimensions and the number of repetitions. Compute the implicit left-padding amounts for the repetitions and input shape, respectively...
451-
K = ( N &gt; M ) ? N : M;
452-
Dr = K - N;
453-
Ds = K - M;
449+
if ( N &lt; M ) {
450+
throw new RangeError( format( 'invalid argument. Second argument must have at least as many elements as the number of dimensions of the first argument. Number of input dimensions: `%u`. Number of repetitions: `%u`.', M, N ) );
451+
}
452+
// Compute the implicit left-padding amount for the input shape:
453+
Ds = N - M;
454454
&nbsp;
455-
// Infer the storage order from the input strides, falling back to the stated order when the input is non-contiguous...
456-
ord = strides2order( sx );
457-
if ( ord === 2 ) {
458-
order = 'column-major';
459-
} else if ( ord === 1 || ord === 3 ) {
455+
o = strides2order( sx );
456+
if ( o === 0 || o === 3 ) {
457+
// Fallback to stated layout when unable to infer the underlying physical layout:
458+
order = getOrder( x );
459+
} else if ( o === 1 ) {
460460
order = 'row-major';
461461
} else {
462-
order = getOrder( x );
462+
order = 'column-major';
463463
}
464-
// Compute an interleaved 2K-D shape and strides for broadcasting the input, along with the final K-D output shape. By inserting a repetition axis next to each original axis, a contiguous 2K-D buffer can be reinterpreted as the K-D tiled output without an additional copy...
465-
shi = zeros( 2*K );
466-
si = zeros( 2*K );
467-
sho = zeros( K );
468-
for ( i = 0; i &lt; K; i++ ) {
469-
r = ( i &lt; Dr ) ? 1 : reps[ i - Dr ];
470-
s = ( i &lt; Ds ) ? 1 : shx[ i - Ds ];
471-
t = ( i &lt; Ds ) ? 0 : sx[ i - Ds ];
472-
sho[ i ] = r * s;
464+
// Compute an interleaved 2N-D shape and strides for broadcasting the input, along with the final N-D output shape. By inserting a repetition axis next to each original axis, a contiguous 2N-D buffer can be reinterpreted as the N-D tiled output without an additional copy...
465+
shi = zeros( 2*N );
466+
si = zeros( 2*N );
467+
sho = zeros( N );
468+
for ( i = 0; i &lt; N; i++ ) {
469+
j = i - Ds;
470+
s = ( j &lt; 0 ) ? 1 : shx[ j ];
471+
t = ( j &lt; 0 ) ? 0 : sx[ j ];
472+
sho[ i ] = reps[ i ] * s;
473473
if ( order === 'row-major' ) {
474-
shi[ 2*i ] = r;
474+
shi[ 2*i ] = reps[ i ];
475475
shi[ (2*i)+1 ] = s;
476476
si[ (2*i)+1 ] = t;
477477
} else {
478478
shi[ 2*i ] = s;
479-
shi[ (2*i)+1 ] = r;
479+
shi[ (2*i)+1 ] = reps[ i ];
480480
si[ 2*i ] = t;
481481
}
482482
}
483-
if ( K &gt; 0 ) {
483+
if ( N &gt; 0 ) {
484484
L = numel( sho );
485485
sto = shape2strides( sho, order );
486486
} else {
@@ -490,7 +490,7 @@ <h1><a href="index.html">All files</a> main.js</h1>
490490
buf = buffer( dtype, L );
491491
out = new x.constructor( dtype, buf, sho, sto, 0, order );
492492
&nbsp;
493-
// Assign the broadcasted input to a 2K-D view over the output data buffer...
493+
// Assign the broadcasted input to a 2N-D view over the output data buffer...
494494
v1 = ndarray( dtype, getData( x ), shi, si, getOffset( x ), order );
495495
v2 = ndarray( dtype, buf, shi, shape2strides( shi, order ), 0, order );
496496
assign( [ v1, v2 ] );
@@ -508,7 +508,7 @@ <h1><a href="index.html">All files</a> main.js</h1>
508508
<div class='footer quiet pad2 space-top1 center small'>
509509
Code coverage generated by
510510
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
511-
at 2026-04-17T08:08:49.434Z
511+
at 2026-04-17T12:08:53.002Z
512512
</div>
513513
<script src="prettify.js"></script>
514514
<script>

0 commit comments

Comments
 (0)