@@ -23,16 +23,16 @@ <h1><a href="index.html">All files</a> assign.js</h1>
2323 < div class ='clearfix '>
2424
2525 < div class ='fl pad1y space-right2 '>
26- < span class ="strong "> 99.33 % </ span >
26+ < span class ="strong "> 100 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 149/150 </ span >
28+ < span class ='fraction '> 144/144 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
33- < span class ="strong "> 92.85 % </ span >
33+ < span class ="strong "> 100 % </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 26/28 </ span >
35+ < span class ='fraction '> 26/26 </ span >
3636 </ div >
3737
3838
@@ -44,9 +44,9 @@ <h1><a href="index.html">All files</a> assign.js</h1>
4444
4545
4646 < div class ='fl pad1y space-right2 '>
47- < span class ="strong "> 99.33 % </ span >
47+ < span class ="strong "> 100 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 149/150 </ span >
49+ < span class ='fraction '> 144/144 </ span >
5050 </ div >
5151
5252
@@ -207,13 +207,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
207207< a name ='L142 '> </ a > < a href ='#L142 '> 142</ a >
208208< a name ='L143 '> </ a > < a href ='#L143 '> 143</ a >
209209< a name ='L144 '> </ a > < a href ='#L144 '> 144</ a >
210- < a name ='L145 '> </ a > < a href ='#L145 '> 145</ a >
211- < a name ='L146 '> </ a > < a href ='#L146 '> 146</ a >
212- < a name ='L147 '> </ a > < a href ='#L147 '> 147</ a >
213- < a name ='L148 '> </ a > < a href ='#L148 '> 148</ a >
214- < a name ='L149 '> </ a > < a href ='#L149 '> 149</ a >
215- < a name ='L150 '> </ a > < a href ='#L150 '> 150</ a >
216- < a name ='L151 '> </ a > < a href ='#L151 '> 151</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
210+ < a name ='L145 '> </ a > < a href ='#L145 '> 145</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
217211< span class ="cline-any cline-yes "> 2x</ span >
218212< span class ="cline-any cline-yes "> 2x</ span >
219213< span class ="cline-any cline-yes "> 2x</ span >
@@ -283,81 +277,75 @@ <h1><a href="index.html">All files</a> assign.js</h1>
283277< span class ="cline-any cline-yes "> 2x</ span >
284278< span class ="cline-any cline-yes "> 2x</ span >
285279< span class ="cline-any cline-yes "> 2x</ span >
286- < span class ="cline-any cline-yes "> 17x </ span >
287- < span class ="cline-any cline-yes "> 17x </ span >
288- < span class ="cline-any cline-yes "> 17x </ span >
289- < span class ="cline-any cline-yes "> 17x </ span >
290- < span class ="cline-any cline-yes "> 17x </ span >
291- < span class ="cline-any cline-yes "> 17x </ span >
292- < span class ="cline-any cline-yes "> 17x </ span >
293- < span class ="cline-any cline-yes "> 17x </ span >
294- < span class ="cline-any cline-yes "> 17x </ span >
295- < span class ="cline-any cline-yes "> 17x </ span >
296- < span class ="cline-any cline-yes "> 17x </ span >
297- < span class ="cline-any cline-yes "> 17x </ span >
298- < span class ="cline-any cline-yes "> 17x </ span >
299- < span class ="cline-any cline-yes "> 17x </ span >
300- < span class ="cline-any cline-yes "> 17x </ span >
301- < span class ="cline-any cline-yes "> 17x </ span >
280+ < span class ="cline-any cline-yes "> 42x </ span >
281+ < span class ="cline-any cline-yes "> 42x </ span >
282+ < span class ="cline-any cline-yes "> 42x </ span >
283+ < span class ="cline-any cline-yes "> 42x </ span >
284+ < span class ="cline-any cline-yes "> 42x </ span >
285+ < span class ="cline-any cline-yes "> 42x </ span >
286+ < span class ="cline-any cline-yes "> 42x </ span >
287+ < span class ="cline-any cline-yes "> 42x </ span >
288+ < span class ="cline-any cline-yes "> 42x </ span >
289+ < span class ="cline-any cline-yes "> 42x </ span >
290+ < span class ="cline-any cline-yes "> 42x </ span >
291+ < span class ="cline-any cline-yes "> 42x </ span >
292+ < span class ="cline-any cline-yes "> 42x </ span >
293+ < span class ="cline-any cline-yes "> 42x </ span >
294+ < span class ="cline-any cline-yes "> 42x </ span >
295+ < span class ="cline-any cline-yes "> 42x </ span >
302296< span class ="cline-any cline-yes "> 3x</ span >
303297< span class ="cline-any cline-yes "> 3x</ span >
304- < span class ="cline-any cline-yes "> 17x</ span >
305- < span class ="cline-any cline-yes "> 4x</ span >
306- < span class ="cline-any cline-yes "> 4x</ span >
307- < span class ="cline-any cline-yes "> 16x</ span >
308- < span class ="cline-any cline-yes "> 16x</ span >
309- < span class ="cline-any cline-yes "> 4x</ span >
310- < span class ="cline-any cline-yes "> 17x</ span >
311- < span class ="cline-any cline-yes "> 10x</ span >
312- < span class ="cline-any cline-yes "> 10x</ span >
313- < span class ="cline-any cline-yes "> 10x</ span >
314- < span class ="cline-any cline-yes "> 10x</ span >
298+ < span class ="cline-any cline-yes "> 42x</ span >
299+ < span class ="cline-any cline-yes "> 25x</ span >
315300< span class ="cline-any cline-yes "> 7x</ span >
316- < span class ="cline-any cline-yes "> 10x </ span >
317- < span class ="cline-any cline-yes "> 3x </ span >
318- < span class ="cline-any cline-yes "> 3x </ span >
319- < span class ="cline-any cline-yes "> 10x </ span >
301+ < span class ="cline-any cline-yes "> 25x </ span >
302+ < span class ="cline-any cline-yes "> 18x </ span >
303+ < span class ="cline-any cline-yes "> 18x </ span >
304+ < span class ="cline-any cline-yes "> 42x </ span >
320305< span class ="cline-any cline-yes "> 14x</ span >
321- < span class ="cline-any cline-yes "> 17x</ span >
322- < span class ="cline-any cline-yes "> 3x</ span >
323- < span class ="cline-any cline-yes "> 3x</ span >
324- < span class ="cline-any cline-yes "> 11x</ span >
325- < span class ="cline-any cline-yes "> 11x</ span >
326- < span class ="cline-any cline-yes "> 11x</ span >
327- < span class ="cline-any cline-yes "> 17x</ span >
328- < span class ="cline-any cline-yes "> 36x</ span >
329- < span class ="cline-any cline-yes "> 36x</ span >
306+ < span class ="cline-any cline-yes "> 14x</ span >
307+ < span class ="cline-any cline-yes "> 41x</ span >
308+ < span class ="cline-any cline-yes "> 41x</ span >
309+ < span class ="cline-any cline-yes "> 14x</ span >
310+ < span class ="cline-any cline-yes "> 39x</ span >
311+ < span class ="cline-any cline-yes "> 42x</ span >
312+ < span class ="cline-any cline-yes "> 13x</ span >
313+ < span class ="cline-any cline-yes "> 13x</ span >
314+ < span class ="cline-any cline-yes "> 26x</ span >
315+ < span class ="cline-any cline-yes "> 26x</ span >
316+ < span class ="cline-any cline-yes "> 26x</ span >
317+ < span class ="cline-any cline-yes "> 42x</ span >
318+ < span class ="cline-any cline-yes "> 66x</ span >
319+ < span class ="cline-any cline-yes "> 66x</ span >
320+ < span class ="cline-any cline-yes "> 33x</ span >
321+ < span class ="cline-any cline-yes "> 33x</ span >
330322< span class ="cline-any cline-yes "> 18x</ span >
331323< span class ="cline-any cline-yes "> 18x</ span >
332- < span class ="cline-any cline-yes "> 3x</ span >
333- < span class ="cline-any cline-yes "> 3x</ span >
334324< span class ="cline-any cline-yes "> 15x</ span >
335325< span class ="cline-any cline-yes "> 15x</ span >
336- < span class ="cline-any cline-yes "> 18x </ span >
337- < span class ="cline-any cline-yes "> 18x </ span >
338- < span class ="cline-any cline-yes "> 18x </ span >
339- < span class ="cline-any cline-yes "> 36x </ span >
340- < span class ="cline-any cline-yes "> 17x </ span >
326+ < span class ="cline-any cline-yes "> 33x </ span >
327+ < span class ="cline-any cline-yes "> 33x </ span >
328+ < span class ="cline-any cline-yes "> 33x </ span >
329+ < span class ="cline-any cline-yes "> 66x </ span >
330+ < span class ="cline-any cline-yes "> 42x </ span >
341331< span class ="cline-any cline-yes "> 6x</ span >
342332< span class ="cline-any cline-yes "> 6x</ span >
343- < span class ="cline-any cline-yes "> 17x </ span >
333+ < span class ="cline-any cline-yes "> 42x </ span >
344334< span class ="cline-any cline-yes "> 2x</ span >
345335< span class ="cline-any cline-yes "> 2x</ span >
346336< span class ="cline-any cline-yes "> 2x</ span >
347337< span class ="cline-any cline-yes "> 8x</ span >
348- < span class ="cline-any cline-yes "> 17x </ span >
338+ < span class ="cline-any cline-yes "> 42x </ span >
349339< span class ="cline-any cline-yes "> 32x</ span >
350340< span class ="cline-any cline-yes "> 14x</ span >
351341< span class ="cline-any cline-yes "> 6x</ span >
352342< span class ="cline-any cline-yes "> 6x</ span >
353343< span class ="cline-any cline-yes "> 32x</ span >
354- < span class ="cline-any cline-no "> </ span >
355- < span class ="cline-any cline-yes "> 18x</ span >
356344< span class ="cline-any cline-yes "> 18x</ span >
357345< span class ="cline-any cline-yes "> 18x</ span >
358346< span class ="cline-any cline-yes "> 32x</ span >
359347< span class ="cline-any cline-yes "> 8x</ span >
360- < span class ="cline-any cline-yes "> 17x </ span >
348+ < span class ="cline-any cline-yes "> 42x </ span >
361349< span class ="cline-any cline-yes "> 2x</ span >
362350< span class ="cline-any cline-yes "> 2x</ span >
363351< span class ="cline-any cline-yes "> 2x</ span >
@@ -385,14 +373,14 @@ <h1><a href="index.html">All files</a> assign.js</h1>
385373
386374// MODULES //
387375
388- var broadcastScalar = require( '@stdlib/ndarray/base/broadcast-scalar' );
389- var concat = require( '@stdlib/ndarray/concat' );
390- var ndims = require( '@stdlib/ndarray/base/ndims' );
391376var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
392377var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );
393- var broadcastArray = require( '@stdlib/ndarray/broadcast-array' );
394- var format = require( '@stdlib/string/format' );
378+ var broadcastScalar = require( '@stdlib/ndarray/base/broadcast-scalar' );
379+ var broadcastArray = require( '@stdlib/ndarray/base/broadcast-array' );
380+ var ndims = require( '@stdlib/ndarray/base/ndims' );
395381var defaults = require( '@stdlib/ndarray/defaults' );
382+ var concat = require( '@stdlib/ndarray/concat' );
383+ var format = require( '@stdlib/string/format' );
396384var resolveDataTypes = require( './resolve_dtypes.js' );
397385var resolveOrder = require( './resolve_order.js' );
398386
@@ -409,10 +397,10 @@ <h1><a href="index.html">All files</a> assign.js</h1>
409397* Concatenates provided input arguments and assigns the result to a provided one-dimensional output ndarray.
410398*
411399* @param {...*} arguments - input arguments
412- * @param {ndarray } out - output ndarray
413- * @throws {Error} function must be provided an array of inputs or more than one separate input argument and an output ndarray
414- * @throws {RangeError} function must be provided a one-dimensional ndarray or a zero-dimensional ndarray
415- * @throws {Error} output argument must be a one-dimensional ndarray-like object
400+ * @param {ndarrayLike } out - output ndarray
401+ * @throws {Error} must provide at least two arguments
402+ * @throws {TypeError} ndarray arguments must have fewer than two dimensions
403+ * @throws {Error} last argument must be a one-dimensional ndarray
416404* @returns {ndarray} output ndarray
417405*
418406* @example
@@ -449,27 +437,23 @@ <h1><a href="index.html">All files</a> assign.js</h1>
449437
450438 // Resolve function arguments...
451439 if ( nargs < 2 ) {
452- throw new Error( format( 'invalid argument. The function must be provided an array of inputs or more than one separate input argument and an output ndarray. Value: `%s`.', nargs ) );
453- }
454- if ( nargs > 2 ) {
455- args = [];
456- for ( i = 0; i < nargs - 1; i++ ) {
457- args.push( arguments[ i ] );
458- }
440+ throw new Error( 'invalid invocation. Must provide at least two arguments.' );
459441 }
460442 if ( nargs === 2 ) {
461- if (
462- isArrayLikeObject( arguments[ 0 ] ) &&
463- !isndarrayLike( arguments[ 0 ] )
464- ) {
443+ if ( isArrayLikeObject( arguments[ 0 ] ) && !isndarrayLike( arguments[ 0 ] ) ) { // eslint-disable-line max-len
465444 args = arguments[ 0 ];
466445 } else {
467446 args = [ arguments[ 0 ] ];
468447 }
448+ } else { // nargs > 2
449+ args = [];
450+ for ( i = 0; i < nargs - 1; i++ ) {
451+ args.push( arguments[ i ] );
452+ }
469453 }
470454 out = arguments[ nargs - 1 ];
471455 if ( !isndarrayLike( out ) || ndims( out ) !== 1 ) {
472- throw new Error ( format( 'invalid argument. Output argument must be a one-dimensional ndarray. Value: `%s`.', out ) );
456+ throw new TypeError ( format( 'invalid argument. Last argument must be a one-dimensional ndarray. Value: `%s`.', out ) );
473457 }
474458 isnd = [];
475459 dims = [];
@@ -479,7 +463,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
479463 if ( isnd[ i ] ) {
480464 d = ndims( args[ i ] );
481465 if ( d > 1 ) {
482- throw new RangeError ( format( 'invalid argument. The function must be provided a one-dimensional ndarray or a zero-dimensional ndarray. Value: `%s` .', d ) );
466+ throw new TypeError ( format( 'invalid argument. Each ndarray argument must have fewer than two dimensions. Argument: %d .', i ) );
483467 }
484468 dims.push( d );
485469 arrs.push( args[ i ] );
@@ -500,8 +484,6 @@ <h1><a href="index.html">All files</a> assign.js</h1>
500484 if ( dims[ i ] === 0 ) {
501485 args[ i ] = broadcastArray( args[ i ], [ 1 ] );
502486 }
503- } else if ( !dt < span class ="branch-0 cbranch-no " title ="branch not covered " > && !ord </ span > ) < span class ="branch-0 cbranch-no " title ="branch not covered " > {</ span >
504- < span class ="cstat-no " title ="statement not covered " > args[ i ] = broadcastScalar( args[ i ], DEFAULT_DTYPE, [ 1 ], DEFAULT_ORDER ); // eslint-disable-line max-len</ span >
505487 } else {
506488 args[ i ] = broadcastScalar( args[ i ], dt, [ 1 ], ord );
507489 }
@@ -520,7 +502,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
520502 < div class ='footer quiet pad2 space-top1 center small '>
521503 Code coverage generated by
522504 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
523- at 2025-12-06T05:59:17.995Z
505+ at 2025-12-07T11:53:31.239Z
524506 </ div >
525507 < script src ="prettify.js "> </ script >
526508 < script >
0 commit comments