@@ -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 "> 97.16 % </ span >
26+ < span class ="strong "> 99.33 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 137/141 </ span >
28+ < span class ='fraction '> 149/150 </ 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 '> 24/27 </ span >
35+ < span class ='fraction '> 26/28 </ 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 "> 97.16 % </ span >
47+ < span class ="strong "> 99.33 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 137/141 </ span >
49+ < span class ='fraction '> 149/150 </ span >
5050 </ div >
5151
5252
@@ -204,7 +204,16 @@ <h1><a href="index.html">All files</a> assign.js</h1>
204204< a name ='L139 '> </ a > < a href ='#L139 '> 139</ a >
205205< a name ='L140 '> </ a > < a href ='#L140 '> 140</ a >
206206< a name ='L141 '> </ a > < a href ='#L141 '> 141</ a >
207- < a name ='L142 '> </ a > < a href ='#L142 '> 142</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
207+ < a name ='L142 '> </ a > < a href ='#L142 '> 142</ a >
208+ < a name ='L143 '> </ a > < a href ='#L143 '> 143</ a >
209+ < 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 >
208217< span class ="cline-any cline-yes "> 2x</ span >
209218< span class ="cline-any cline-yes "> 2x</ span >
210219< span class ="cline-any cline-yes "> 2x</ span >
@@ -288,6 +297,8 @@ <h1><a href="index.html">All files</a> assign.js</h1>
288297< span class ="cline-any cline-yes "> 17x</ span >
289298< span class ="cline-any cline-yes "> 17x</ span >
290299< 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 >
291302< span class ="cline-any cline-yes "> 3x</ span >
292303< span class ="cline-any cline-yes "> 3x</ span >
293304< span class ="cline-any cline-yes "> 17x</ span >
@@ -300,24 +311,31 @@ <h1><a href="index.html">All files</a> assign.js</h1>
300311< span class ="cline-any cline-yes "> 10x</ span >
301312< span class ="cline-any cline-yes "> 10x</ span >
302313< span class ="cline-any cline-yes "> 10x</ span >
303- < span class ="cline-any cline-no "> </ span >
304- < span class ="cline-any cline-no "> </ span >
305- < span class ="cline-any cline-no "> </ span >
314+ < span class ="cline-any cline-yes "> 10x</ span >
315+ < 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 >
306319< span class ="cline-any cline-yes "> 10x</ span >
307320< span class ="cline-any cline-yes "> 14x</ span >
308321< span class ="cline-any cline-yes "> 17x</ span >
309322< span class ="cline-any cline-yes "> 3x</ span >
310323< span class ="cline-any cline-yes "> 3x</ span >
311324< span class ="cline-any cline-yes "> 11x</ span >
312325< span class ="cline-any cline-yes "> 11x</ span >
326+ < span class ="cline-any cline-yes "> 11x</ span >
313327< span class ="cline-any cline-yes "> 17x</ span >
314328< span class ="cline-any cline-yes "> 36x</ span >
329+ < span class ="cline-any cline-yes "> 36x</ span >
315330< span class ="cline-any cline-yes "> 18x</ span >
316331< span class ="cline-any cline-yes "> 18x</ span >
317332< span class ="cline-any cline-yes "> 3x</ span >
318333< span class ="cline-any cline-yes "> 3x</ span >
319334< span class ="cline-any cline-yes "> 15x</ span >
320335< 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 >
321339< span class ="cline-any cline-yes "> 36x</ span >
322340< span class ="cline-any cline-yes "> 17x</ span >
323341< span class ="cline-any cline-yes "> 6x</ span >
@@ -419,6 +437,8 @@ <h1><a href="index.html">All files</a> assign.js</h1>
419437 var nargs;
420438 var args;
421439 var arrs;
440+ var isnd;
441+ var dims;
422442 var ord;
423443 var out;
424444 var dt;
@@ -438,26 +458,33 @@ <h1><a href="index.html">All files</a> assign.js</h1>
438458 }
439459 }
440460 if ( nargs === 2 ) {
441- if ( isArrayLikeObject( arguments[ 0 ] ) ) {
461+ if (
462+ isArrayLikeObject( arguments[ 0 ] ) &&
463+ !isndarrayLike( arguments[ 0 ] )
464+ ) {
442465 args = arguments[ 0 ];
443- }< span class ="branch-0 cbranch-no " title ="branch not covered " > else {</ span >
444- < span class ="cstat-no " title ="statement not covered " > args = [];</ span >
445- < span class ="cstat-no " title ="statement not covered " > args.push( arguments[ 0 ] );</ span >
446- < span class ="cstat-no " title ="statement not covered " > }</ span >
466+ } else {
467+ args = [ arguments[ 0 ] ];
468+ }
447469 }
448470 out = arguments[ nargs - 1 ];
449471 if ( !isndarrayLike( out ) || ndims( out ) !== 1 ) {
450472 throw new Error( format( 'invalid argument. Output argument must be a one-dimensional ndarray. Value: `%s`.', out ) );
451473 }
452- // Resolve the `dtype` and `order` of input ndarrays:
474+ isnd = [];
475+ dims = [];
453476 arrs = [];
454477 for ( i = 0; i < args.length; i++ ) {
455- if ( isndarrayLike( args[ i ] ) ) {
478+ isnd.push( isndarrayLike( args[ i ] ) );
479+ if ( isnd[ i ] ) {
456480 d = ndims( args[ i ] );
457481 if ( d > 1 ) {
458482 throw new RangeError( format( 'invalid argument. The function must be provided a one-dimensional ndarray or a zero-dimensional ndarray. Value: `%s`.', d ) );
459483 }
484+ dims.push( d );
460485 arrs.push( args[ i ] );
486+ } else {
487+ dims.push( -1 );
461488 }
462489 }
463490 if ( arrs.length >= 1 ) {
@@ -469,8 +496,8 @@ <h1><a href="index.html">All files</a> assign.js</h1>
469496 }
470497 // Broadcast scalar or 0d ndarray inputs:
471498 for ( i = 0; i < args.length; i++ ) {
472- if ( isndarrayLike( args [ i ] ) ) {
473- if ( ndims( args [ i ] ) === 0 ) {
499+ if ( isnd [ i ] ) {
500+ if ( dims [ i ] === 0 ) {
474501 args[ i ] = broadcastArray( args[ i ], [ 1 ] );
475502 }
476503 } 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 >
@@ -493,7 +520,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
493520 < div class ='footer quiet pad2 space-top1 center small '>
494521 Code coverage generated by
495522 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
496- at 2025-12-05T12:04:18.361Z
523+ at 2025-12-06T05:59:17.995Z
497524 </ div >
498525 < script src ="prettify.js "> </ script >
499526 < script >
0 commit comments