Skip to content

Commit b3fd60b

Browse files
committed
Update artifacts
1 parent 97da7f8 commit b3fd60b

File tree

4 files changed

+105
-111
lines changed

4 files changed

+105
-111
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[223,227,98.2379,25,27,92.5926,1,1,100,223,227,98.2379,"df378b7aebe652d6132fcb83df61974bd11ceb98","2025-08-13 01:04:27 +0500"]
1+
[219,225,97.3333,19,22,86.3636,1,1,100,219,225,97.3333,"028683a01fd9c59d16b18b810b2c288308b8afc0","2025-09-02 05:15:33 +0000"]

ndarray/base/broadcast-array-except-dimensions/index.html

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/broadcast-array-
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">98.23% </span>
26+
<span class="strong">97.33% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>223/227</span>
28+
<span class='fraction'>219/225</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">92.59% </span>
33+
<span class="strong">86.36% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>25/27</span>
35+
<span class='fraction'>19/22</span>
3636
</div>
3737

3838

@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/broadcast-array-
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">98.23% </span>
47+
<span class="strong">97.33% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>223/227</span>
49+
<span class='fraction'>219/225</span>
5050
</div>
5151

5252

@@ -95,17 +95,17 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/broadcast-array-
9595

9696
<tr>
9797
<td class="file high" data-value="main.js"><a href="main.js.html">main.js</a></td>
98-
<td data-value="97.48" class="pic high">
99-
<div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
98+
<td data-value="96.17" class="pic high">
99+
<div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
100100
</td>
101-
<td data-value="97.48" class="pct high">97.48%</td>
102-
<td data-value="159" class="abs high">155/159</td>
103-
<td data-value="92.3" class="pct high">92.3%</td>
104-
<td data-value="26" class="abs high">24/26</td>
101+
<td data-value="96.17" class="pct high">96.17%</td>
102+
<td data-value="157" class="abs high">151/157</td>
103+
<td data-value="85.71" class="pct high">85.71%</td>
104+
<td data-value="21" class="abs high">18/21</td>
105105
<td data-value="100" class="pct high">100%</td>
106106
<td data-value="1" class="abs high">1/1</td>
107-
<td data-value="97.48" class="pct high">97.48%</td>
108-
<td data-value="159" class="abs high">155/159</td>
107+
<td data-value="96.17" class="pct high">96.17%</td>
108+
<td data-value="157" class="abs high">151/157</td>
109109
</tr>
110110

111111
</tbody>
@@ -116,7 +116,7 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/broadcast-array-
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 2025-08-12T20:05:31.348Z
119+
at 2025-09-02T05:19:33.610Z
120120
</div>
121121
<script src="../../../../prettify.js"></script>
122122
<script>

ndarray/base/broadcast-array-except-dimensions/index.js.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
220220
'use strict';
221221
&nbsp;
222222
/**
223-
* Broadcast an input ndarray to a target shape keeping the specified dimensions unchanged.
223+
* Broadcast an input ndarray to a target shape while keeping a list of specified dimensions unchanged.
224224
*
225225
* @module @stdlib/ndarray/base/broadcast-array-except-dimensions
226226
*
@@ -234,7 +234,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
234234
* var shx = x.shape;
235235
* // returns [ 1, 3 ]
236236
*
237-
* var y = broadcastArrayExceptDimensionsExceptDimensions( x, [ 2, 2, 3 ], [ -2 ] );
237+
* var y = broadcastArrayExceptDimensions( x, [ 2, 2, 3 ], [ -2 ] );
238238
* // returns &lt;ndarray&gt;
239239
*
240240
* var shy = y.shape;
@@ -274,7 +274,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
274274
<div class='footer quiet pad2 space-top1 center small'>
275275
Code coverage generated by
276276
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277-
at 2025-08-12T20:05:31.348Z
277+
at 2025-09-02T05:19:33.610Z
278278
</div>
279279
<script src="../../../../prettify.js"></script>
280280
<script>

ndarray/base/broadcast-array-except-dimensions/main.js.html

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

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">97.48% </span>
26+
<span class="strong">96.17% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>155/159</span>
28+
<span class='fraction'>151/157</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">92.3% </span>
33+
<span class="strong">85.71% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>24/26</span>
35+
<span class='fraction'>18/21</span>
3636
</div>
3737

3838

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

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">97.48% </span>
47+
<span class="strong">96.17% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>155/159</span>
49+
<span class='fraction'>151/157</span>
5050
</div>
5151

5252

@@ -220,9 +220,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
220220
<a name='L155'></a><a href='#L155'>155</a>
221221
<a name='L156'></a><a href='#L156'>156</a>
222222
<a name='L157'></a><a href='#L157'>157</a>
223-
<a name='L158'></a><a href='#L158'>158</a>
224-
<a name='L159'></a><a href='#L159'>159</a>
225-
<a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
223+
<a name='L158'></a><a href='#L158'>158</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
226224
<span class="cline-any cline-yes">1x</span>
227225
<span class="cline-any cline-yes">1x</span>
228226
<span class="cline-any cline-yes">1x</span>
@@ -304,78 +302,76 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
304302
<span class="cline-any cline-yes">1x</span>
305303
<span class="cline-any cline-yes">1x</span>
306304
<span class="cline-any cline-yes">1x</span>
307-
<span class="cline-any cline-yes">52x</span>
308-
<span class="cline-any cline-yes">52x</span>
309-
<span class="cline-any cline-yes">52x</span>
310-
<span class="cline-any cline-yes">52x</span>
311-
<span class="cline-any cline-yes">52x</span>
312-
<span class="cline-any cline-yes">52x</span>
313-
<span class="cline-any cline-yes">52x</span>
314-
<span class="cline-any cline-yes">52x</span>
315-
<span class="cline-any cline-yes">52x</span>
316-
<span class="cline-any cline-yes">52x</span>
317-
<span class="cline-any cline-yes">52x</span>
318-
<span class="cline-any cline-yes">52x</span>
319-
<span class="cline-any cline-yes">52x</span>
320-
<span class="cline-any cline-yes">52x</span>
321-
<span class="cline-any cline-yes">52x</span>
322-
<span class="cline-any cline-yes">52x</span>
323-
<span class="cline-any cline-yes">52x</span>
324-
<span class="cline-any cline-yes">20x</span>
325-
<span class="cline-any cline-yes">20x</span>
326-
<span class="cline-any cline-yes">32x</span>
327-
<span class="cline-any cline-yes">32x</span>
328-
<span class="cline-any cline-yes">52x</span>
329-
<span class="cline-any cline-yes">96x</span>
330-
<span class="cline-any cline-yes">96x</span>
331-
<span class="cline-any cline-yes">32x</span>
332-
<span class="cline-any cline-yes">32x</span>
333-
<span class="cline-any cline-yes">32x</span>
334-
<span class="cline-any cline-yes">52x</span>
335-
<span class="cline-any cline-yes">13x</span>
336-
<span class="cline-any cline-yes">13x</span>
337-
<span class="cline-any cline-yes">32x</span>
338-
<span class="cline-any cline-yes">32x</span>
339-
<span class="cline-any cline-yes">32x</span>
340-
<span class="cline-any cline-yes">52x</span>
305+
<span class="cline-any cline-yes">1x</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">29x</span>
313+
<span class="cline-any cline-yes">29x</span>
314+
<span class="cline-any cline-yes">29x</span>
315+
<span class="cline-any cline-yes">29x</span>
316+
<span class="cline-any cline-yes">29x</span>
317+
<span class="cline-any cline-yes">29x</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">29x</span>
324+
<span class="cline-any cline-yes">29x</span>
325+
<span class="cline-any cline-yes">10x</span>
326+
<span class="cline-any cline-yes">10x</span>
327+
<span class="cline-any cline-yes">19x</span>
328+
<span class="cline-any cline-yes">19x</span>
329+
<span class="cline-any cline-yes">19x</span>
330+
<span class="cline-any cline-yes">19x</span>
331+
<span class="cline-any cline-yes">19x</span>
332+
<span class="cline-any cline-yes">19x</span>
333+
<span class="cline-any cline-yes">29x</span>
341334
<span class="cline-any cline-no">&nbsp;</span>
342335
<span class="cline-any cline-no">&nbsp;</span>
343-
<span class="cline-any cline-yes">32x</span>
344-
<span class="cline-any cline-yes">52x</span>
336+
<span class="cline-any cline-yes">19x</span>
337+
<span class="cline-any cline-yes">29x</span>
345338
<span class="cline-any cline-no">&nbsp;</span>
346339
<span class="cline-any cline-no">&nbsp;</span>
347-
<span class="cline-any cline-yes">32x</span>
348-
<span class="cline-any cline-yes">52x</span>
349-
<span class="cline-any cline-yes">82x</span>
350-
<span class="cline-any cline-yes">82x</span>
351-
<span class="cline-any cline-yes">24x</span>
352-
<span class="cline-any cline-yes">22x</span>
353-
<span class="cline-any cline-yes">22x</span>
354-
<span class="cline-any cline-yes">22x</span>
355-
<span class="cline-any cline-yes">24x</span>
340+
<span class="cline-any cline-yes">19x</span>
341+
<span class="cline-any cline-yes">19x</span>
342+
<span class="cline-any cline-yes">19x</span>
343+
<span class="cline-any cline-yes">19x</span>
344+
<span class="cline-any cline-yes">29x</span>
345+
<span class="cline-any cline-yes">45x</span>
346+
<span class="cline-any cline-yes">45x</span>
347+
<span class="cline-any cline-yes">11x</span>
348+
<span class="cline-any cline-yes">10x</span>
349+
<span class="cline-any cline-yes">10x</span>
350+
<span class="cline-any cline-yes">10x</span>
351+
<span class="cline-any cline-yes">11x</span>
352+
<span class="cline-any cline-yes">11x</span>
353+
<span class="cline-any cline-yes">11x</span>
354+
<span class="cline-any cline-yes">45x</span>
355+
<span class="cline-any cline-yes">10x</span>
356+
<span class="cline-any cline-yes">10x</span>
357+
<span class="cline-any cline-yes">10x</span>
356358
<span class="cline-any cline-yes">24x</span>
357359
<span class="cline-any cline-yes">24x</span>
358-
<span class="cline-any cline-yes">82x</span>
359-
<span class="cline-any cline-yes">20x</span>
360-
<span class="cline-any cline-yes">20x</span>
361-
<span class="cline-any cline-yes">20x</span>
362-
<span class="cline-any cline-yes">38x</span>
363-
<span class="cline-any cline-yes">38x</span>
364-
<span class="cline-any cline-yes">82x</span>
360+
<span class="cline-any cline-yes">45x</span>
365361
<span class="cline-any cline-yes">6x</span>
366362
<span class="cline-any cline-yes">6x</span>
367-
<span class="cline-any cline-yes">82x</span>
368-
<span class="cline-any cline-yes">26x</span>
369-
<span class="cline-any cline-yes">82x</span>
363+
<span class="cline-any cline-yes">45x</span>
364+
<span class="cline-any cline-yes">16x</span>
365+
<span class="cline-any cline-yes">45x</span>
366+
<span class="cline-any cline-no">&nbsp;</span>
367+
<span class="cline-any cline-no">&nbsp;</span>
370368
<span class="cline-any cline-yes">2x</span>
371369
<span class="cline-any cline-yes">2x</span>
372-
<span class="cline-any cline-yes">6x</span>
373-
<span class="cline-any cline-yes">4x</span>
374-
<span class="cline-any cline-yes">4x</span>
375-
<span class="cline-any cline-yes">4x</span>
376-
<span class="cline-any cline-yes">82x</span>
377-
<span class="cline-any cline-yes">22x</span>
378-
<span class="cline-any cline-yes">52x</span>
370+
<span class="cline-any cline-yes">2x</span>
371+
<span class="cline-any cline-yes">2x</span>
372+
<span class="cline-any cline-yes">45x</span>
373+
<span class="cline-any cline-yes">11x</span>
374+
<span class="cline-any cline-yes">29x</span>
379375
<span class="cline-any cline-yes">1x</span>
380376
<span class="cline-any cline-yes">1x</span>
381377
<span class="cline-any cline-yes">1x</span>
@@ -403,7 +399,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
403399
&nbsp;
404400
// MODULES //
405401
&nbsp;
406-
var copy = require( '@stdlib/array/base/copy-indexed' );
402+
var copy = require( '@stdlib/array/base/copy' );
407403
var ndarray = require( '@stdlib/ndarray/base/ctor' );
408404
var getShape = require( '@stdlib/ndarray/base/shape' );
409405
var getStrides = require( '@stdlib/ndarray/base/strides' );
@@ -412,18 +408,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
412408
var getDType = require( '@stdlib/ndarray/base/dtype' );
413409
var getData = require( '@stdlib/ndarray/base/data-buffer' );
414410
var normalizeIndices = require( '@stdlib/ndarray/base/normalize-indices' );
415-
var format = require( '@stdlib/string/format' );
416411
var join = require( '@stdlib/array/base/join' );
412+
var zeros = require( '@stdlib/array/base/zeros' );
413+
var format = require( '@stdlib/string/format' );
417414
&nbsp;
418415
&nbsp;
419416
// MAIN //
420417
&nbsp;
421418
/**
422-
* Broadcasts an input ndarray to a target shape keeping the specified dimensions unchanged.
419+
* Broadcasts an input ndarray to a target shape while keeping a list of specified dimensions unchanged.
423420
*
424421
* @param {ndarray} arr - input array
425422
* @param {NonNegativeIntegerArray} shape - desired shape
426-
* @param {IntegerArray} [dims] - list of dimensions to exclude
423+
* @param {IntegerArray} dims - list of dimensions to exclude from broadcasting
427424
* @throws {Error} input array cannot have more dimensions than the desired shape
428425
* @throws {Error} input array and desired shape must be broadcast compatible
429426
* @throws {RangeError} dimension indices must not exceed desired shape bounds
@@ -463,7 +460,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
463460
* v = y.get( 1, 0, 2 );
464461
* // returns 3
465462
*/
466-
function broadcastArrayExceptDimensions( arr, shape, dims ) {
463+
function broadcastArrayExceptDimensions( arr, shape, dims ) { // eslint-disable-line id-length
467464
var strides;
468465
var dim;
469466
var sh;
@@ -476,26 +473,20 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
476473
var i;
477474
var j;
478475
&nbsp;
476+
shape = copy( shape ); // perform a copy to avoid unintended mutation
479477
N = shape.length;
478+
&nbsp;
480479
sh = getShape( arr, false );
481480
M = sh.length;
482481
if ( N &lt; M ) {
483482
throw new Error( 'invalid argument. Cannot broadcast an array to a shape having fewer dimensions. Arrays can only be broadcasted to shapes having the same or more dimensions.' );
484483
}
485-
// Initialize a strides array...
486-
strides = [];
487-
for ( i = 0; i &lt; N; i++ ) {
488-
strides.push( 0 );
489-
}
490-
// Determine the output array strides...
491-
st = getStrides( arr, false );
484+
// Initialize a strides array:
485+
strides = zeros( N );
492486
&nbsp;
493-
if ( !dims ) {
494-
dims = [ -1 ];
495-
}
496487
// Verify that we've been provided a list of unique dimension indices...
497488
dl = dims.length;
498-
dims = normalizeIndices( dims, N - 1 );
489+
dims = normalizeIndices( dims, N-1 );
499490
if ( dims === null ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
500491
<span class="cstat-no" title="statement not covered" > throw new RangeError( format( 'invalid argument. Third argument contains an out-of-bounds dimension index. Value: [%s].', join( dims, ',' ) ) );</span>
501492
<span class="cstat-no" title="statement not covered" > }</span>
@@ -504,6 +495,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
504495
<span class="cstat-no" title="statement not covered" > throw new Error( format( 'invalid argument. Third argument must contain a list of unique dimension indices. Value: [%s].', join( dims, ',' ) ) );</span>
505496
<span class="cstat-no" title="statement not covered" > }</span>
506497
di = dims.length - 1;
498+
&nbsp;
499+
// Determine the output array strides...
500+
st = getStrides( arr, false );
507501
for ( i = N-1; i &gt;= 0; i-- ) {
508502
j = M - N + i;
509503
if ( di &gt;= 0 &amp;&amp; dims[ di ] === i ) {
@@ -525,15 +519,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
525519
}
526520
if ( d === dim ) {
527521
strides[ i ] = st[ j ];
528-
} else if ( d === 1 ) {
529-
// In order to broadcast dimensions, we set the stride for that dimension to zero...
530-
strides[ i ] = 0;
522+
} else if ( d === 1 ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
523+
<span class="cstat-no" title="statement not covered" > // In order to broadcast dimensions, we set the stride for that dimension to zero...</span>
524+
<span class="cstat-no" title="statement not covered" > strides[ i ] = 0;</span>
531525
} else {
532526
// At this point, we know that `dim &gt; d` and that `d` does not equal `1` (e.g., `dim=3` and `d=2`); in which case, the shapes are considered incompatible (even for desired shapes which are multiples of array dimensions, as might be desired when "tiling" an array; e.g., `dim=4` and `d=2`)...
533527
throw new Error( format( 'invalid argument. Input array and the specified shape are broadcast incompatible. Array shape: (%s). Desired shape: (%s). Dimension: %u.', copy( sh ).join( ', ' ), copy( shape ).join( ', ' ), i ) );
534528
}
535529
}
536-
return ndarray( getDType( arr ), getData( arr ), copy( shape ), strides, getOffset( arr ), getOrder( arr ) ); // eslint-disable-line max-len
530+
return ndarray( getDType( arr ), getData( arr ), shape, strides, getOffset( arr ), getOrder( arr ) ); // eslint-disable-line max-len
537531
}
538532
&nbsp;
539533
&nbsp;
@@ -547,7 +541,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
547541
<div class='footer quiet pad2 space-top1 center small'>
548542
Code coverage generated by
549543
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
550-
at 2025-08-12T20:05:31.348Z
544+
at 2025-09-02T05:19:33.610Z
551545
</div>
552546
<script src="../../../../prettify.js"></script>
553547
<script>

0 commit comments

Comments
 (0)