Skip to content

Commit fd88230

Browse files
committed
Update artifacts
1 parent aaf69b7 commit fd88230

File tree

6 files changed

+175
-265
lines changed

6 files changed

+175
-265
lines changed

blas/ext/join/assign.js.html

Lines changed: 66 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -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">98.65% </span>
26+
<span class="strong">98.52% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>147/149</span>
28+
<span class='fraction'>134/136</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">94.44% </span>
33+
<span class="strong">95% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>17/18</span>
35+
<span class='fraction'>19/20</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">98.65% </span>
47+
<span class="strong">98.52% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>147/149</span>
49+
<span class='fraction'>134/136</span>
5050
</div>
5151

5252

@@ -199,20 +199,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
199199
<a name='L134'></a><a href='#L134'>134</a>
200200
<a name='L135'></a><a href='#L135'>135</a>
201201
<a name='L136'></a><a href='#L136'>136</a>
202-
<a name='L137'></a><a href='#L137'>137</a>
203-
<a name='L138'></a><a href='#L138'>138</a>
204-
<a name='L139'></a><a href='#L139'>139</a>
205-
<a name='L140'></a><a href='#L140'>140</a>
206-
<a name='L141'></a><a href='#L141'>141</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
202+
<a name='L137'></a><a href='#L137'>137</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
216203
<span class="cline-any cline-yes">3x</span>
217204
<span class="cline-any cline-yes">3x</span>
218205
<span class="cline-any cline-yes">3x</span>
@@ -296,66 +283,53 @@ <h1><a href="index.html">All files</a> assign.js</h1>
296283
<span class="cline-any cline-yes">3x</span>
297284
<span class="cline-any cline-yes">3x</span>
298285
<span class="cline-any cline-yes">3x</span>
299-
<span class="cline-any cline-yes">3x</span>
300-
<span class="cline-any cline-yes">3x</span>
301-
<span class="cline-any cline-yes">3x</span>
302-
<span class="cline-any cline-yes">3x</span>
303-
<span class="cline-any cline-yes">3x</span>
304-
<span class="cline-any cline-yes">73x</span>
305-
<span class="cline-any cline-yes">73x</span>
306-
<span class="cline-any cline-yes">73x</span>
307-
<span class="cline-any cline-yes">73x</span>
308-
<span class="cline-any cline-yes">73x</span>
309-
<span class="cline-any cline-yes">73x</span>
310-
<span class="cline-any cline-yes">73x</span>
311-
<span class="cline-any cline-yes">73x</span>
312-
<span class="cline-any cline-yes">73x</span>
286+
<span class="cline-any cline-yes">83x</span>
287+
<span class="cline-any cline-yes">83x</span>
288+
<span class="cline-any cline-yes">83x</span>
289+
<span class="cline-any cline-yes">83x</span>
290+
<span class="cline-any cline-yes">83x</span>
291+
<span class="cline-any cline-yes">83x</span>
292+
<span class="cline-any cline-yes">83x</span>
293+
<span class="cline-any cline-yes">83x</span>
313294
<span class="cline-any cline-yes">20x</span>
314295
<span class="cline-any cline-yes">20x</span>
315-
<span class="cline-any cline-yes">73x</span>
296+
<span class="cline-any cline-yes">83x</span>
316297
<span class="cline-any cline-yes">20x</span>
317298
<span class="cline-any cline-yes">20x</span>
318-
<span class="cline-any cline-yes">33x</span>
319-
<span class="cline-any cline-yes">33x</span>
320-
<span class="cline-any cline-yes">33x</span>
321-
<span class="cline-any cline-yes">33x</span>
322-
<span class="cline-any cline-yes">33x</span>
323-
<span class="cline-any cline-yes">33x</span>
324-
<span class="cline-any cline-yes">33x</span>
325-
<span class="cline-any cline-yes">33x</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">73x</span>
330-
<span class="cline-any cline-yes">31x</span>
299+
<span class="cline-any cline-yes">43x</span>
300+
<span class="cline-any cline-yes">43x</span>
301+
<span class="cline-any cline-yes">43x</span>
302+
<span class="cline-any cline-yes">43x</span>
303+
<span class="cline-any cline-yes">43x</span>
304+
<span class="cline-any cline-yes">43x</span>
305+
<span class="cline-any cline-yes">83x</span>
306+
<span class="cline-any cline-yes">41x</span>
331307
<span class="cline-any cline-yes">8x</span>
332308
<span class="cline-any cline-yes">8x</span>
333-
<span class="cline-any cline-yes">23x</span>
334-
<span class="cline-any cline-yes">31x</span>
309+
<span class="cline-any cline-yes">33x</span>
310+
<span class="cline-any cline-yes">41x</span>
335311
<span class="cline-any cline-yes">7x</span>
336312
<span class="cline-any cline-yes">7x</span>
337-
<span class="cline-any cline-yes">31x</span>
338-
<span class="cline-any cline-yes">17x</span>
339-
<span class="cline-any cline-yes">17x</span>
340-
<span class="cline-any cline-yes">31x</span>
341-
<span class="cline-any cline-yes">25x</span>
342-
<span class="cline-any cline-yes">25x</span>
343-
<span class="cline-any cline-yes">73x</span>
344-
<span class="cline-any cline-yes">3x</span>
313+
<span class="cline-any cline-yes">41x</span>
314+
<span class="cline-any cline-yes">30x</span>
315+
<span class="cline-any cline-yes">30x</span>
316+
<span class="cline-any cline-yes">41x</span>
317+
<span class="cline-any cline-yes">35x</span>
318+
<span class="cline-any cline-yes">83x</span>
345319
<span class="cline-any cline-yes">3x</span>
346-
<span class="cline-any cline-yes">22x</span>
347-
<span class="cline-any cline-yes">22x</span>
348-
<span class="cline-any cline-yes">22x</span>
349-
<span class="cline-any cline-yes">73x</span>
350320
<span class="cline-any cline-yes">3x</span>
351321
<span class="cline-any cline-no">&nbsp;</span>
352322
<span class="cline-any cline-no">&nbsp;</span>
353-
<span class="cline-any cline-yes">3x</span>
354-
<span class="cline-any cline-yes">73x</span>
355-
<span class="cline-any cline-yes">19x</span>
356-
<span class="cline-any cline-yes">19x</span>
357-
<span class="cline-any cline-yes">19x</span>
358-
<span class="cline-any cline-yes">73x</span>
323+
<span class="cline-any cline-yes">83x</span>
324+
<span class="cline-any cline-yes">32x</span>
325+
<span class="cline-any cline-yes">30x</span>
326+
<span class="cline-any cline-yes">32x</span>
327+
<span class="cline-any cline-yes">2x</span>
328+
<span class="cline-any cline-yes">2x</span>
329+
<span class="cline-any cline-yes">30x</span>
330+
<span class="cline-any cline-yes">30x</span>
331+
<span class="cline-any cline-yes">33x</span>
332+
<span class="cline-any cline-yes">83x</span>
359333
<span class="cline-any cline-yes">3x</span>
360334
<span class="cline-any cline-yes">3x</span>
361335
<span class="cline-any cline-yes">3x</span>
@@ -389,7 +363,6 @@ <h1><a href="index.html">All files</a> assign.js</h1>
389363
var broadcastScalar = require( '@stdlib/ndarray/base/broadcast-scalar' );
390364
var maybeBroadcastArray = require( '@stdlib/ndarray/base/maybe-broadcast-array' );
391365
var nonCoreShape = require( '@stdlib/ndarray/base/complement-shape' );
392-
var getDType = require( '@stdlib/ndarray/dtype' );
393366
var getShape = require( '@stdlib/ndarray/shape' );
394367
var getOrder = require( '@stdlib/ndarray/order' );
395368
var format = require( '@stdlib/string/format' );
@@ -399,25 +372,24 @@ <h1><a href="index.html">All files</a> assign.js</h1>
399372
// MAIN //
400373
&nbsp;
401374
/**
402-
* Joins elements of an input ndarray using a separator along an ndarray dimension and assigns the results to a provided output ndarray.
375+
* Joins elements of an input ndarray using a separator along one or more ndarray dimensions and assigns the results to a provided output ndarray.
403376
*
404377
* @param {ndarrayLike} x - input ndarray
405378
* @param {ndarrayLike} out - output ndarray
406379
* @param {Options} [options] - function options
407-
* @param {(ndarrayLike|*)} [options.separator=','] - separator
408-
* @param {integer} [options.dim=-1] - dimension over which to perform operation
380+
* @param {(ndarrayLike|*)} [options.sep=','] - separator
381+
* @param {integer} [options.dims] - list of dimensions over which to perform operation
409382
* @throws {TypeError} first argument must be an ndarray-like object
410383
* @throws {TypeError} second argument must be an ndarray-like object
411384
* @throws {TypeError} options argument must be an object
412-
* @throws {RangeError} dimension index must not exceed input ndarray bounds
413-
* @throws {RangeError} first argument must have at least one dimension
385+
* @throws {RangeError} dimension indices must not exceed input ndarray bounds
386+
* @throws {RangeError} number of dimension indices must not exceed the number of input ndarray dimensions
414387
* @throws {Error} must provide valid options
415388
* @returns {ndarray} output ndarray
416389
*
417390
* @example
418391
* var Float64Array = require( '@stdlib/array/float64' );
419-
* var empty = require( '@stdlib/ndarray/empty' );
420-
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
392+
* var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
421393
* var ndarray = require( '@stdlib/ndarray/ctor' );
422394
*
423395
* // Create data buffers:
@@ -436,24 +408,20 @@ <h1><a href="index.html">All files</a> assign.js</h1>
436408
* var x = new ndarray( 'float64', xbuf, shape, strides, offset, 'row-major' );
437409
*
438410
* // Create an output ndarray:
439-
* var y = empty( [ 2 ], {
411+
* var y = scalar2ndarray( '', {
440412
* 'dtype': 'generic'
441413
* });
442414
*
443415
* // Perform operation:
444416
* var out = assign( x, y );
445-
* // returns &lt;ndarray&gt;
417+
* // returns &lt;ndarray&gt;[ '1,2,3,4,5,6' ]
446418
*
447419
* var bool = ( out === y );
448420
* // returns true
449-
*
450-
* var arr = ndarray2array( out );
451-
* // returns [ '1,2,3', '4,5,6' ]
452421
*/
453422
function assign( x, out, options ) {
454423
var nargs;
455424
var opts;
456-
var ord;
457425
var sh;
458426
var s;
459427
&nbsp;
@@ -462,46 +430,39 @@ <h1><a href="index.html">All files</a> assign.js</h1>
462430
throw new TypeError( format( 'invalid argument. First argument must be an ndarray-like object. Value: `%s`.', x ) );
463431
}
464432
if ( !isndarrayLike( out ) ) {
465-
throw new TypeError( format( 'invalid argument. Second argument must be an ndarray-like object having the generic data type. Value: `%s`.', out ) );
433+
throw new TypeError( format( 'invalid argument. Second argument must be an ndarray-like object. Value: `%s`.', out ) );
466434
}
467-
// Resolve input ndarray meta data:
468-
ord = getOrder( x );
469-
&nbsp;
470435
// Initialize the separator:
471436
s = ',';
472437
&nbsp;
473438
// Initialize an options object:
474-
opts = {
475-
'dims': [ -1 ] // default behavior is to perform a reduction over the last dimension
476-
};
439+
opts = {};
477440
&nbsp;
478441
if ( nargs &gt; 2 ) {
479442
if ( !isPlainObject( options ) ) {
480443
throw new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );
481444
}
482445
// Resolve provided options...
483-
if ( hasOwnProp( options, 'separator' ) ) {
484-
s = options.separator;
446+
if ( hasOwnProp( options, 'sep' ) ) {
447+
s = options.sep;
485448
}
486-
if ( hasOwnProp( options, 'dim' ) ) {
487-
opts.dims[ 0 ] = options.dim;
449+
if ( hasOwnProp( options, 'dims' ) ) {
450+
opts.dims = options.dims;
488451
}
489452
}
490-
// Resolve the list of non-reduced dimensions:
491-
sh = getShape( x );
492-
if ( sh.length &lt; 1 ) {
493-
throw new RangeError( 'invalid argument. First argument must have at least one dimension.' );
494-
}
495-
sh = nonCoreShape( sh, opts.dims );
496-
&nbsp;
497453
// Broadcast the separator to match the shape of the non-reduced dimensions...
498454
if ( isndarrayLike( s ) ) {
499-
if ( getDType( s ) !== 'generic' ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
500-
<span class="cstat-no" title="statement not covered" > throw new TypeError( format( 'invalid argument. Second argument must have a generic data type. Value: `%s`.', s ) );</span>
455+
// When not provided `dims`, the operation is performed across all dimensions and `s` is assumed to be a zero-dimensional ndarray; when `dims` is provided, we need to broadcast `s` to match the shape of the non-core dimensions...
456+
if ( hasOwnProp( opts, 'dims' ) ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
457+
<span class="cstat-no" title="statement not covered" > s = maybeBroadcastArray( s, nonCoreShape( getShape( x ), opts.dims ) ); // eslint-disable-line max-len</span>
501458
<span class="cstat-no" title="statement not covered" > }</span>
502-
s = maybeBroadcastArray( s, sh );
503459
} else {
504-
s = broadcastScalar( s, 'generic', sh, ord );
460+
if ( hasOwnProp( opts, 'dims' ) ) {
461+
sh = nonCoreShape( getShape( x ), opts.dims );
462+
} else {
463+
sh = [];
464+
}
465+
s = broadcastScalar( s, 'generic', sh, getOrder( x ) );
505466
}
506467
return base( x, s, out, opts );
507468
}
@@ -517,7 +478,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
517478
<div class='footer quiet pad2 space-top1 center small'>
518479
Code coverage generated by
519480
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
520-
at 2025-12-17T14:35:28.109Z
481+
at 2025-12-21T11:09:01.890Z
521482
</div>
522483
<script src="prettify.js"></script>
523484
<script>

blas/ext/join/base.js.html

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>101/101</span>
28+
<span class='fraction'>100/100</span>
2929
</div>
3030

3131

@@ -46,7 +46,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>101/101</span>
49+
<span class='fraction'>100/100</span>
5050
</div>
5151

5252

@@ -163,9 +163,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
163163
<a name='L98'></a><a href='#L98'>98</a>
164164
<a name='L99'></a><a href='#L99'>99</a>
165165
<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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
168-
<span class="cline-any cline-yes">3x</span>
166+
<a name='L101'></a><a href='#L101'>101</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
169167
<span class="cline-any cline-yes">3x</span>
170168
<span class="cline-any cline-yes">3x</span>
171169
<span class="cline-any cline-yes">3x</span>
@@ -309,7 +307,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
309307
// MAIN //
310308
&nbsp;
311309
/**
312-
* Returns an ndarray created by joining elements using a separator along an ndarray dimension.
310+
* Returns an ndarray created by joining elements using a separator along one or more ndarray dimensions.
313311
*
314312
* @private
315313
* @name join
@@ -321,7 +319,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
321319
* @param {boolean} [options.keepdims=false] - boolean indicating whether the reduced dimensions should be included in the returned ndarray as singleton dimensions
322320
* @param {*} [options.dtype] - output ndarray data type
323321
* @throws {TypeError} first argument must be an ndarray-like object
324-
* @throws {TypeError} second argument must be either an ndarray-like object
322+
* @throws {TypeError} second argument must be an ndarray-like object
325323
* @throws {TypeError} options argument must be an object
326324
* @throws {RangeError} dimension indices must not exceed input ndarray bounds
327325
* @throws {RangeError} number of dimension indices must not exceed the number of input ndarray dimensions
@@ -337,28 +335,27 @@ <h1><a href="index.html">All files</a> base.js</h1>
337335
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
338336
*
339337
* // Define the shape of the input array:
340-
* var sh = [ 6 ];
338+
* var sh = [ 3, 1, 2 ];
341339
*
342340
* // Define the array strides:
343-
* var sx = [ 1 ];
341+
* var sx = [ 2, 2, 1 ];
344342
*
345343
* // Define the index offset:
346344
* var ox = 0;
347345
*
348346
* // Create an input ndarray:
349-
* var x = new ndarray( 'generic', xbuf, sh, sx, ox, 'row-major' );
347+
* var x = new ndarray( 'float64', xbuf, sh, sx, ox, 'row-major' );
350348
*
351349
* // Create a separator ndarray:
352350
* var separator = scalar2ndarray( ',', {
353351
* 'dtype': 'generic'
354-
* })
352+
* });
355353
*
356354
* // Perform operation:
357-
* var out = join( x, separator );
358-
* // returns &lt;ndarray&gt;
359-
*
360-
* var v = out.get();
361-
* // returns '1,2,3,4,5,6'
355+
* var out = join( x, separator, {
356+
* 'dtype': 'generic'
357+
* });
358+
* // returns &lt;ndarray&gt;[ '1,2,3,4,5,6' ]
362359
*/
363360
var join = factory( table, [ idtypes0, idtypes1 ], odtypes, policies );
364361
&nbsp;
@@ -373,7 +370,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
373370
<div class='footer quiet pad2 space-top1 center small'>
374371
Code coverage generated by
375372
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
376-
at 2025-12-17T14:35:28.109Z
373+
at 2025-12-21T11:09:01.890Z
377374
</div>
378375
<script src="prettify.js"></script>
379376
<script>

blas/ext/join/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[458,462,99.1342,36,38,94.7368,2,2,100,458,462,99.1342,"fb8208b08c4136b85bf8b5412f6345d50c438d1c","2025-12-17 19:32:41 +0500"]
1+
[428,432,99.0741,40,42,95.2381,2,2,100,428,432,99.0741,"d4b30d8f749bf4e7ffafc5dabbc4e4f997b46b8f","2025-12-21 16:06:35 +0500"]

0 commit comments

Comments
 (0)