Skip to content

Commit 02cfad3

Browse files
committed
Update artifacts
1 parent 7b886f1 commit 02cfad3

File tree

6 files changed

+185
-62
lines changed

6 files changed

+185
-62
lines changed

stats/mskmax/assign.js.html

Lines changed: 71 additions & 14 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.19% </span>
26+
<span class="strong">98.46% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>109/111</span>
28+
<span class='fraction'>128/130</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">90% </span>
33+
<span class="strong">93.75% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>9/10</span>
35+
<span class='fraction'>15/16</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.19% </span>
47+
<span class="strong">98.46% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>109/111</span>
49+
<span class='fraction'>128/130</span>
5050
</div>
5151

5252

@@ -174,7 +174,26 @@ <h1><a href="index.html">All files</a> assign.js</h1>
174174
<a name='L109'></a><a href='#L109'>109</a>
175175
<a name='L110'></a><a href='#L110'>110</a>
176176
<a name='L111'></a><a href='#L111'>111</a>
177-
<a name='L112'></a><a href='#L112'>112</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
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>
181+
<a name='L116'></a><a href='#L116'>116</a>
182+
<a name='L117'></a><a href='#L117'>117</a>
183+
<a name='L118'></a><a href='#L118'>118</a>
184+
<a name='L119'></a><a href='#L119'>119</a>
185+
<a name='L120'></a><a href='#L120'>120</a>
186+
<a name='L121'></a><a href='#L121'>121</a>
187+
<a name='L122'></a><a href='#L122'>122</a>
188+
<a name='L123'></a><a href='#L123'>123</a>
189+
<a name='L124'></a><a href='#L124'>124</a>
190+
<a name='L125'></a><a href='#L125'>125</a>
191+
<a name='L126'></a><a href='#L126'>126</a>
192+
<a name='L127'></a><a href='#L127'>127</a>
193+
<a name='L128'></a><a href='#L128'>128</a>
194+
<a name='L129'></a><a href='#L129'>129</a>
195+
<a name='L130'></a><a href='#L130'>130</a>
196+
<a name='L131'></a><a href='#L131'>131</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
178197
<span class="cline-any cline-yes">3x</span>
179198
<span class="cline-any cline-yes">3x</span>
180199
<span class="cline-any cline-yes">3x</span>
@@ -266,6 +285,8 @@ <h1><a href="index.html">All files</a> assign.js</h1>
266285
<span class="cline-any cline-yes">96x</span>
267286
<span class="cline-any cline-yes">96x</span>
268287
<span class="cline-any cline-yes">96x</span>
288+
<span class="cline-any cline-yes">96x</span>
289+
<span class="cline-any cline-yes">96x</span>
269290
<span class="cline-any cline-yes">20x</span>
270291
<span class="cline-any cline-yes">20x</span>
271292
<span class="cline-any cline-yes">96x</span>
@@ -275,9 +296,26 @@ <h1><a href="index.html">All files</a> assign.js</h1>
275296
<span class="cline-any cline-yes">20x</span>
276297
<span class="cline-any cline-yes">20x</span>
277298
<span class="cline-any cline-yes">56x</span>
299+
<span class="cline-any cline-yes">56x</span>
300+
<span class="cline-any cline-yes">56x</span>
278301
<span class="cline-any cline-yes">96x</span>
279302
<span class="cline-any cline-yes">47x</span>
280303
<span class="cline-any cline-yes">47x</span>
304+
<span class="cline-any cline-yes">47x</span>
305+
<span class="cline-any cline-yes">38x</span>
306+
<span class="cline-any cline-yes">38x</span>
307+
<span class="cline-any cline-yes">38x</span>
308+
<span class="cline-any cline-yes">37x</span>
309+
<span class="cline-any cline-yes">37x</span>
310+
<span class="cline-any cline-yes">37x</span>
311+
<span class="cline-any cline-yes">37x</span>
312+
<span class="cline-any cline-yes">38x</span>
313+
<span class="cline-any cline-yes">38x</span>
314+
<span class="cline-any cline-yes">38x</span>
315+
<span class="cline-any cline-yes">9x</span>
316+
<span class="cline-any cline-yes">9x</span>
317+
<span class="cline-any cline-yes">9x</span>
318+
<span class="cline-any cline-yes">9x</span>
281319
<span class="cline-any cline-yes">9x</span>
282320
<span class="cline-any cline-yes">96x</span>
283321
<span class="cline-any cline-yes">3x</span>
@@ -307,7 +345,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
307345
&nbsp;
308346
// MODULES //
309347
&nbsp;
310-
var isNdarrayLike = require( '@stdlib/assert/is-ndarray-like' );
348+
var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );
311349
var format = require( '@stdlib/string/format' );
312350
var maybeBroadcastArrays = require( '@stdlib/ndarray/base/maybe-broadcast-arrays' );
313351
var base = require( './base.js' );
@@ -375,21 +413,40 @@ <h1><a href="index.html">All files</a> assign.js</h1>
375413
* // returns 5.0
376414
*/
377415
function assign( x, mask, out ) {
416+
var opts;
378417
var arrs;
379-
if ( !isNdarrayLike( x ) ) {
418+
var key;
419+
if ( !isndarrayLike( x ) ) {
380420
throw new TypeError( format( 'invalid argument. First argument must be an ndarray-like object. Value: `%s`.', x ) );
381421
}
382-
if ( !isNdarrayLike( mask ) ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
422+
if ( !isndarrayLike( mask ) ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
383423
<span class="cstat-no" title="statement not covered" > throw new TypeError( format( 'invalid argument. Second argument must be an ndarray-like object. Value: `%s`.', mask ) );</span>
384424
<span class="cstat-no" title="statement not covered" > }</span>
385-
if ( !isNdarrayLike( out ) ) {
425+
if ( !isndarrayLike( out ) ) {
386426
throw new TypeError( format( 'invalid argument. Third argument must be an ndarray-like object. Value: `%s`.', out ) );
387427
}
388428
arrs = maybeBroadcastArrays( [ x, mask ] );
429+
&nbsp;
430+
// Always explicitly specify output dtype to match the data input (first array):
389431
if ( arguments.length &gt; 3 ) {
390-
return base.assign( arrs[ 0 ], arrs[ 1 ], out, arguments[ 3 ] );
432+
opts = arguments[ 3 ];
433+
// Only add dtype if opts is an object and doesn't already have dtype specified:
434+
if ( opts !== null &amp;&amp; typeof opts === 'object' &amp;&amp; !Array.isArray( opts ) &amp;&amp; opts.dtype === void 0 ) {
435+
// Create a new options object with all original properties plus dtype:
436+
var newOpts = {};
437+
for ( key in opts ) {
438+
if ( opts.hasOwnProperty( key ) ) {
439+
newOpts[ key ] = opts[ key ];
440+
}
441+
}
442+
newOpts.dtype = arrs[ 0 ].dtype;
443+
return base.assign( arrs[ 0 ], arrs[ 1 ], out, newOpts );
444+
}
445+
// Otherwise pass through as-is (will be validated by base):
446+
return base.assign( arrs[ 0 ], arrs[ 1 ], out, opts );
391447
}
392-
return base.assign( arrs[ 0 ], arrs[ 1 ], out );
448+
opts = { 'dtype': arrs[ 0 ].dtype };
449+
return base.assign( arrs[ 0 ], arrs[ 1 ], out, opts );
393450
}
394451
&nbsp;
395452
&nbsp;
@@ -403,7 +460,7 @@ <h1><a href="index.html">All files</a> assign.js</h1>
403460
<div class='footer quiet pad2 space-top1 center small'>
404461
Code coverage generated by
405462
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
406-
at 2025-12-17T19:27:43.228Z
463+
at 2025-12-18T09:22:16.543Z
407464
</div>
408465
<script src="prettify.js"></script>
409466
<script>

stats/mskmax/base.js.html

Lines changed: 16 additions & 7 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'>80/80</span>
28+
<span class='fraction'>83/83</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'>80/80</span>
49+
<span class='fraction'>83/83</span>
5050
</div>
5151

5252

@@ -143,7 +143,13 @@ <h1><a href="index.html">All files</a> base.js</h1>
143143
<a name='L78'></a><a href='#L78'>78</a>
144144
<a name='L79'></a><a href='#L79'>79</a>
145145
<a name='L80'></a><a href='#L80'>80</a>
146-
<a name='L81'></a><a href='#L81'>81</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
146+
<a name='L81'></a><a href='#L81'>81</a>
147+
<a name='L82'></a><a href='#L82'>82</a>
148+
<a name='L83'></a><a href='#L83'>83</a>
149+
<a name='L84'></a><a href='#L84'>84</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
150+
<span class="cline-any cline-yes">3x</span>
151+
<span class="cline-any cline-yes">3x</span>
152+
<span class="cline-any cline-yes">3x</span>
147153
<span class="cline-any cline-yes">3x</span>
148154
<span class="cline-any cline-yes">3x</span>
149155
<span class="cline-any cline-yes">3x</span>
@@ -258,19 +264,22 @@ <h1><a href="index.html">All files</a> base.js</h1>
258264
var mdtypes = dtypes( 'mask_index_and_generic' );
259265
var odtypes = dtypes( 'real_and_generic' );
260266
var policies = {
261-
'output': 'promoted',
267+
'output': 'same', // note: this is effectively ignored as we always specify the output data type explicitly
262268
'casting': 'none'
263269
};
264270
var table = {
265271
'types': [
266272
'float64',
267273
'uint8', // dmskmax: x, mask
268274
'float32',
269-
'uint8' // smskmax: x, mask
275+
'uint8', // smskmax: x, mask
276+
'generic',
277+
'uint8' // gmskmax: x, mask (note: gmskmax actually expects generic mask, but we convert)
270278
],
271279
'fcns': [
272280
dmskmax,
273-
smskmax
281+
smskmax,
282+
gmskmax
274283
],
275284
'default': gmskmax
276285
};
@@ -310,7 +319,7 @@ <h1><a href="index.html">All files</a> base.js</h1>
310319
<div class='footer quiet pad2 space-top1 center small'>
311320
Code coverage generated by
312321
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
313-
at 2025-12-17T19:27:43.228Z
322+
at 2025-12-18T09:22:16.543Z
314323
</div>
315324
<script src="prettify.js"></script>
316325
<script>

stats/mskmax/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[365,367,99.455,19,20,95,2,2,100,365,367,99.455,"b72f56d4f28bf85994599a47854831c11c8497a9","2025-12-18 00:54:05 +0530"]
1+
[406,408,99.5098,28,29,96.5517,2,2,100,406,408,99.5098,"c6fc3c5f4f9fcf79ba6e3454c9b611d42ba6510e","2025-12-18 14:50:56 +0530"]

stats/mskmax/index.html

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ <h1>All files</h1>
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">99.45% </span>
26+
<span class="strong">99.5% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>365/367</span>
28+
<span class='fraction'>406/408</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">95% </span>
33+
<span class="strong">96.55% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>19/20</span>
35+
<span class='fraction'>28/29</span>
3636
</div>
3737

3838

@@ -44,9 +44,9 @@ <h1>All files</h1>
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">99.45% </span>
47+
<span class="strong">99.5% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>365/367</span>
49+
<span class='fraction'>406/408</span>
5050
</div>
5151

5252

@@ -80,17 +80,17 @@ <h1>All files</h1>
8080
</thead>
8181
<tbody><tr>
8282
<td class="file high" data-value="assign.js"><a href="assign.js.html">assign.js</a></td>
83-
<td data-value="98.19" class="pic high">
83+
<td data-value="98.46" class="pic high">
8484
<div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
8585
</td>
86-
<td data-value="98.19" class="pct high">98.19%</td>
87-
<td data-value="111" class="abs high">109/111</td>
88-
<td data-value="90" class="pct high">90%</td>
89-
<td data-value="10" class="abs high">9/10</td>
86+
<td data-value="98.46" class="pct high">98.46%</td>
87+
<td data-value="130" class="abs high">128/130</td>
88+
<td data-value="93.75" class="pct high">93.75%</td>
89+
<td data-value="16" class="abs high">15/16</td>
9090
<td data-value="100" class="pct high">100%</td>
9191
<td data-value="1" class="abs high">1/1</td>
92-
<td data-value="98.19" class="pct high">98.19%</td>
93-
<td data-value="111" class="abs high">109/111</td>
92+
<td data-value="98.46" class="pct high">98.46%</td>
93+
<td data-value="130" class="abs high">128/130</td>
9494
</tr>
9595

9696
<tr>
@@ -99,13 +99,13 @@ <h1>All files</h1>
9999
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100100
</td>
101101
<td data-value="100" class="pct high">100%</td>
102-
<td data-value="80" class="abs high">80/80</td>
102+
<td data-value="83" class="abs high">83/83</td>
103103
<td data-value="100" class="pct high">100%</td>
104104
<td data-value="1" class="abs high">1/1</td>
105105
<td data-value="100" class="pct high">100%</td>
106106
<td data-value="0" class="abs high">0/0</td>
107107
<td data-value="100" class="pct high">100%</td>
108-
<td data-value="80" class="abs high">80/80</td>
108+
<td data-value="83" class="abs high">83/83</td>
109109
</tr>
110110

111111
<tr>
@@ -129,13 +129,13 @@ <h1>All files</h1>
129129
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130130
</td>
131131
<td data-value="100" class="pct high">100%</td>
132-
<td data-value="101" class="abs high">101/101</td>
132+
<td data-value="120" class="abs high">120/120</td>
133133
<td data-value="100" class="pct high">100%</td>
134-
<td data-value="8" class="abs high">8/8</td>
134+
<td data-value="11" class="abs high">11/11</td>
135135
<td data-value="100" class="pct high">100%</td>
136136
<td data-value="1" class="abs high">1/1</td>
137137
<td data-value="100" class="pct high">100%</td>
138-
<td data-value="101" class="abs high">101/101</td>
138+
<td data-value="120" class="abs high">120/120</td>
139139
</tr>
140140

141141
</tbody>
@@ -146,7 +146,7 @@ <h1>All files</h1>
146146
<div class='footer quiet pad2 space-top1 center small'>
147147
Code coverage generated by
148148
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149-
at 2025-12-17T19:27:43.228Z
149+
at 2025-12-18T09:22:16.543Z
150150
</div>
151151
<script src="prettify.js"></script>
152152
<script>

stats/mskmax/index.js.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -245,32 +245,32 @@ <h1><a href="index.html">All files</a> index.js</h1>
245245
* var mskmax = require( '@stdlib/stats/mskmax' );
246246
*
247247
* // Create a data buffer:
248-
* var xbuf = new Float64Array( [ 0.0, 2.0, 3.0, 0.0, 0.0, 6.0, 7.0, 0.0, 0.0, 10.0, 11.0, 0.0 ] );
249-
*
250-
* // Create a mask buffer:
251-
* var mbuf = new Uint8Array( [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ] ); // eslint-disable-line id-length
248+
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
252249
*
253250
* // Define the shape of the input array:
254-
* var sh = [ 3, 1, 2 ];
251+
* var shape = [ 3, 1, 2 ];
255252
*
256253
* // Define the array strides:
257-
* var sx = [ 4, 4, 1 ];
254+
* var strides = [ 2, 2, 1 ];
258255
*
259256
* // Define the index offset:
260-
* var ox = 1;
257+
* var offset = 0;
261258
*
262259
* // Create an input ndarray:
263-
* var x = new ndarray( 'float64', xbuf, sh, sx, ox, 'row-major' );
260+
* var x = new ndarray( 'float64', xbuf, shape, strides, offset, 'row-major' );
261+
*
262+
* // Create a mask buffer:
263+
* var mbuf = new Uint8Array( [ 0, 0, 0, 0, 1, 0 ] );
264264
*
265265
* // Create a mask ndarray:
266-
* var mask = new ndarray( 'uint8', mbuf, sh, sx, ox, 'row-major' ); // cspell:disable-line
266+
* var mask = new ndarray( 'uint8', mbuf, shape, strides, offset, 'row-major' );
267267
*
268268
* // Perform reduction:
269269
* var out = mskmax( x, mask );
270270
* // returns &lt;ndarray&gt;
271271
*
272272
* var v = out.get();
273-
* // returns 10.0
273+
* // returns 6.0
274274
*/
275275
&nbsp;
276276
// MODULES //
@@ -295,7 +295,7 @@ <h1><a href="index.html">All files</a> index.js</h1>
295295
<div class='footer quiet pad2 space-top1 center small'>
296296
Code coverage generated by
297297
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
298-
at 2025-12-17T19:27:43.228Z
298+
at 2025-12-18T09:22:16.543Z
299299
</div>
300300
<script src="prettify.js"></script>
301301
<script>

0 commit comments

Comments
 (0)