Skip to content

Commit 4f80d8b

Browse files
committed
Update artifacts
1 parent f54c899 commit 4f80d8b

File tree

4 files changed

+108
-63
lines changed

4 files changed

+108
-63
lines changed

ndarray/with/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[150,152,98.6842,9,10,90,1,1,100,150,152,98.6842,"5d225f405861aa551ecec1888e35cb3937724ea6","2025-08-26 01:09:28 +0500"]
1+
[165,167,98.8024,14,15,93.3333,1,1,100,165,167,98.8024,"57bd4e5c1b3b85b07a61ee4b696c529cdcf598df","2025-08-29 17:37:14 -0700"]

ndarray/with/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/with/lib</h1>
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">98.68% </span>
26+
<span class="strong">98.8% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>150/152</span>
28+
<span class='fraction'>165/167</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">90% </span>
33+
<span class="strong">93.33% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>9/10</span>
35+
<span class='fraction'>14/15</span>
3636
</div>
3737

3838

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

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">98.68% </span>
47+
<span class="strong">98.8% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>150/152</span>
49+
<span class='fraction'>165/167</span>
5050
</div>
5151

5252

@@ -95,17 +95,17 @@ <h1><a href="../../../index.html">All files</a> ndarray/with/lib</h1>
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.97" 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="98.24" class="pic high">
99+
<div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
100100
</td>
101-
<td data-value="97.97" class="pct high">97.97%</td>
102-
<td data-value="99" class="abs high">97/99</td>
103-
<td data-value="88.88" class="pct high">88.88%</td>
104-
<td data-value="9" class="abs high">8/9</td>
101+
<td data-value="98.24" class="pct high">98.24%</td>
102+
<td data-value="114" class="abs high">112/114</td>
103+
<td data-value="92.85" class="pct high">92.85%</td>
104+
<td data-value="14" class="abs high">13/14</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.97" class="pct high">97.97%</td>
108-
<td data-value="99" class="abs high">97/99</td>
107+
<td data-value="98.24" class="pct high">98.24%</td>
108+
<td data-value="114" class="abs high">112/114</td>
109109
</tr>
110110

111111
</tbody>
@@ -116,7 +116,7 @@ <h1><a href="../../../index.html">All files</a> ndarray/with/lib</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 2025-08-25T20:11:07.984Z
119+
at 2025-08-30T00:39:13.138Z
120120
</div>
121121
<script src="../../../prettify.js"></script>
122122
<script>

ndarray/with/index.js.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
190190
'use strict';
191191
&nbsp;
192192
/**
193-
* Return an ndarray with element at specified indices replaced by a provided value.
193+
* Return a new ndarray with the element at a specified index replaced by a provided value.
194194
*
195195
* @module @stdlib/ndarray/with
196196
*
@@ -229,7 +229,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
229229
<div class='footer quiet pad2 space-top1 center small'>
230230
Code coverage generated by
231231
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232-
at 2025-08-25T20:11:07.984Z
232+
at 2025-08-30T00:39:13.138Z
233233
</div>
234234
<script src="../../../prettify.js"></script>
235235
<script>

ndarray/with/main.js.html

Lines changed: 90 additions & 45 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">ndarray/w
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">97.97% </span>
26+
<span class="strong">98.24% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>97/99</span>
28+
<span class='fraction'>112/114</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">88.88% </span>
33+
<span class="strong">92.85% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>8/9</span>
35+
<span class='fraction'>13/14</span>
3636
</div>
3737

3838

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

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">97.97% </span>
47+
<span class="strong">98.24% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>97/99</span>
49+
<span class='fraction'>112/114</span>
5050
</div>
5151

5252

@@ -162,7 +162,22 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
162162
<a name='L97'></a><a href='#L97'>97</a>
163163
<a name='L98'></a><a href='#L98'>98</a>
164164
<a name='L99'></a><a href='#L99'>99</a>
165-
<a name='L100'></a><a href='#L100'>100</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
165+
<a name='L100'></a><a href='#L100'>100</a>
166+
<a name='L101'></a><a href='#L101'>101</a>
167+
<a name='L102'></a><a href='#L102'>102</a>
168+
<a name='L103'></a><a href='#L103'>103</a>
169+
<a name='L104'></a><a href='#L104'>104</a>
170+
<a name='L105'></a><a href='#L105'>105</a>
171+
<a name='L106'></a><a href='#L106'>106</a>
172+
<a name='L107'></a><a href='#L107'>107</a>
173+
<a name='L108'></a><a href='#L108'>108</a>
174+
<a name='L109'></a><a href='#L109'>109</a>
175+
<a name='L110'></a><a href='#L110'>110</a>
176+
<a name='L111'></a><a href='#L111'>111</a>
177+
<a name='L112'></a><a href='#L112'>112</a>
178+
<a name='L113'></a><a href='#L113'>113</a>
179+
<a name='L114'></a><a href='#L114'>114</a>
180+
<a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
166181
<span class="cline-any cline-yes">1x</span>
167182
<span class="cline-any cline-yes">1x</span>
168183
<span class="cline-any cline-yes">1x</span>
@@ -223,39 +238,54 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
223238
<span class="cline-any cline-yes">1x</span>
224239
<span class="cline-any cline-yes">1x</span>
225240
<span class="cline-any cline-yes">1x</span>
226-
<span class="cline-any cline-yes">29x</span>
227-
<span class="cline-any cline-yes">29x</span>
228-
<span class="cline-any cline-yes">29x</span>
229-
<span class="cline-any cline-yes">29x</span>
230-
<span class="cline-any cline-yes">29x</span>
231-
<span class="cline-any cline-yes">29x</span>
232-
<span class="cline-any cline-yes">29x</span>
233-
<span class="cline-any cline-yes">29x</span>
234-
<span class="cline-any cline-yes">10x</span>
235-
<span class="cline-any cline-yes">10x</span>
236-
<span class="cline-any cline-yes">29x</span>
241+
<span class="cline-any cline-yes">1x</span>
242+
<span class="cline-any cline-yes">1x</span>
243+
<span class="cline-any cline-yes">1x</span>
244+
<span class="cline-any cline-yes">1x</span>
245+
<span class="cline-any cline-yes">34x</span>
246+
<span class="cline-any cline-yes">34x</span>
247+
<span class="cline-any cline-yes">34x</span>
248+
<span class="cline-any cline-yes">34x</span>
249+
<span class="cline-any cline-yes">34x</span>
250+
<span class="cline-any cline-yes">34x</span>
251+
<span class="cline-any cline-yes">34x</span>
252+
<span class="cline-any cline-yes">34x</span>
253+
<span class="cline-any cline-yes">34x</span>
237254
<span class="cline-any cline-yes">10x</span>
238255
<span class="cline-any cline-yes">10x</span>
256+
<span class="cline-any cline-yes">34x</span>
239257
<span class="cline-any cline-yes">9x</span>
240258
<span class="cline-any cline-yes">9x</span>
241-
<span class="cline-any cline-yes">9x</span>
242-
<span class="cline-any cline-yes">9x</span>
243-
<span class="cline-any cline-yes">9x</span>
244-
<span class="cline-any cline-yes">9x</span>
245-
<span class="cline-any cline-yes">9x</span>
246-
<span class="cline-any cline-yes">29x</span>
247-
<span class="cline-any cline-yes">27x</span>
248-
<span class="cline-any cline-yes">27x</span>
259+
<span class="cline-any cline-yes">15x</span>
260+
<span class="cline-any cline-yes">34x</span>
261+
<span class="cline-any cline-yes">8x</span>
262+
<span class="cline-any cline-yes">8x</span>
263+
<span class="cline-any cline-yes">7x</span>
264+
<span class="cline-any cline-yes">7x</span>
265+
<span class="cline-any cline-yes">7x</span>
266+
<span class="cline-any cline-yes">7x</span>
267+
<span class="cline-any cline-yes">7x</span>
268+
<span class="cline-any cline-yes">7x</span>
269+
<span class="cline-any cline-yes">7x</span>
270+
<span class="cline-any cline-yes">7x</span>
271+
<span class="cline-any cline-yes">7x</span>
272+
<span class="cline-any cline-yes">34x</span>
273+
<span class="cline-any cline-yes">20x</span>
274+
<span class="cline-any cline-yes">20x</span>
275+
<span class="cline-any cline-yes">1x</span>
276+
<span class="cline-any cline-yes">1x</span>
277+
<span class="cline-any cline-yes">19x</span>
278+
<span class="cline-any cline-yes">20x</span>
249279
<span class="cline-any cline-no">&nbsp;</span>
250280
<span class="cline-any cline-no">&nbsp;</span>
251-
<span class="cline-any cline-yes">27x</span>
252-
<span class="cline-any cline-yes">27x</span>
253-
<span class="cline-any cline-yes">9x</span>
254-
<span class="cline-any cline-yes">9x</span>
255-
<span class="cline-any cline-yes">9x</span>
256-
<span class="cline-any cline-yes">9x</span>
257-
<span class="cline-any cline-yes">9x</span>
258-
<span class="cline-any cline-yes">29x</span>
281+
<span class="cline-any cline-yes">19x</span>
282+
<span class="cline-any cline-yes">19x</span>
283+
<span class="cline-any cline-yes">6x</span>
284+
<span class="cline-any cline-yes">6x</span>
285+
<span class="cline-any cline-yes">6x</span>
286+
<span class="cline-any cline-yes">6x</span>
287+
<span class="cline-any cline-yes">6x</span>
288+
<span class="cline-any cline-yes">34x</span>
259289
<span class="cline-any cline-yes">1x</span>
260290
<span class="cline-any cline-yes">1x</span>
261291
<span class="cline-any cline-yes">1x</span>
@@ -284,25 +314,29 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
284314
// MODULES //
285315
&nbsp;
286316
var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );
287-
var isIntegerArray = require( '@stdlib/assert/is-integer-array' );
317+
var isCollection = require( '@stdlib/assert/is-collection' );
318+
var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive;
288319
var getShape = require( '@stdlib/ndarray/shape' );
289320
var emptyLike = require( '@stdlib/ndarray/empty-like' );
290321
var normalizeIndex = require( '@stdlib/ndarray/base/normalize-index' );
291322
var assign = require( '@stdlib/ndarray/base/assign' );
323+
var resolveGetter = require( '@stdlib/array/base/resolve-getter' );
324+
var join = require( '@stdlib/array/base/join' );
292325
var format = require( '@stdlib/string/format' );
293326
&nbsp;
294327
&nbsp;
295328
// MAIN //
296329
&nbsp;
297330
/**
298-
* Returns an ndarray with element at specified indices replaced by a provided value.
331+
* Returns a new ndarray with the element at a specified index replaced by a provided value.
299332
*
300333
* @param {ndarray} x - input ndarray
301334
* @param {IntegerArray} indices - indices of the element to replace
302335
* @param {*} value - value to set
303-
* @throws {TypeError} First argument must be an ndarray
304-
* @throws {TypeError} Second argument must be an array of integers
305-
* @throws {RangeError} Third argument must be an array of valid indices
336+
* @throws {TypeError} first argument must be an ndarray
337+
* @throws {TypeError} second argument must be an array of integers
338+
* @throws {RangeError} second argument must be an array of valid indices
339+
* @throws {RangeError} number of indices must equal the number of input ndarray dimensions
306340
* @returns {ndarray} output ndarray
307341
*
308342
* @example
@@ -326,26 +360,37 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
326360
var args;
327361
var out;
328362
var idx;
363+
var get;
329364
var sh;
330365
var i;
331366
&nbsp;
332367
if ( !isndarrayLike( x ) ) {
333368
throw new TypeError( format( 'invalid argument. First argument must be an ndarray. Value: `%s`.', x ) );
334369
}
335-
if ( !isIntegerArray( indices ) ) {
370+
if ( !isCollection( indices ) ) {
336371
throw new TypeError( format( 'invalid argument. Second argument must be an array of integers. Value: `%s`.', indices ) );
337372
}
338-
// Copy the input array:
339373
sh = getShape( x );
374+
if ( indices.length !== sh.length ) {
375+
throw new RangeError( format( 'invalid argument. Number of indices does not match the number of array dimensions. Array shape: (%s). Number of indices: %u.', join( sh, ',' ), indices.length ) );
376+
}
377+
// Copy the input array:
340378
out = emptyLike( x );
341379
assign( [ x, out ] );
342380
&nbsp;
343-
// Resolve the provided indices:
381+
// Resolve an element accessor for retrieving indices:
382+
get = resolveGetter( indices );
383+
&nbsp;
384+
// Normalize the provided indices...
344385
args = [];
345386
for ( i = 0; i &lt; sh.length; i++ ) {
346-
idx = normalizeIndex( indices[ i ], sh[ i ] );
387+
idx = get( indices, i );
388+
if ( !isInteger( idx ) ) {
389+
throw new TypeError( format( 'invalid argument. Second argument must be an array of integers. Value: `%s`.', indices ) );
390+
}
391+
idx = normalizeIndex( idx, sh[ i ] );
347392
if ( idx === -1 ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
348-
<span class="cstat-no" title="statement not covered" > throw new RangeError( format( 'invalid argument. Second argument must be an array of valid indices. Value: %s`.`', indices ) );</span>
393+
<span class="cstat-no" title="statement not covered" > throw new RangeError( format( 'invalid argument. Second argument contains an out-of-bounds index. Array shape: (%s). Value: `[%s]`.', join( sh, ',' ), join( indices, ',' ) ) );</span>
349394
<span class="cstat-no" title="statement not covered" > }</span>
350395
args.push( idx );
351396
}
@@ -367,7 +412,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/w
367412
<div class='footer quiet pad2 space-top1 center small'>
368413
Code coverage generated by
369414
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
370-
at 2025-08-25T20:11:07.984Z
415+
at 2025-08-30T00:39:13.138Z
371416
</div>
372417
<script src="../../../prettify.js"></script>
373418
<script>

0 commit comments

Comments
 (0)