Skip to content

Commit 644c8d4

Browse files
committed
refactor: refactored lib folder's file to align with existing style
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed ---
1 parent fae5a4e commit 644c8d4

File tree

9 files changed

+56
-82
lines changed

9 files changed

+56
-82
lines changed

lib/node_modules/@stdlib/stats/base/nanmskmax/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,31 +56,31 @@ The function has the following parameters:
5656
- **mask**: mask [`Array`][mdn-array] or [`typed array`][mdn-typed-array]. If a `mask` array element is `0`, the corresponding element in `x` is considered valid and **included** in computation. If a `mask` array element is `1`, the corresponding element in `x` is considered invalid/missing and **excluded** from computation.
5757
- **strideMask**: stride length for `mask`.
5858

59-
The `N` and stride parameters determine which elements int the strided arrays are accessed at runtime. For example, to compute the maximum value of every other element in `x`,
59+
The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the maximum value of every other element in `x`,
6060

6161
```javascript
62-
var x = [ 1.0, 2.0, -7.0, -2.0, 4.0, 3.0, 5.0, 6.0 ];
63-
var mask = [ 0, 0, 0, 0, 0, 0, 1, 1 ];
62+
var x = [ 1.0, 2.0, -7.0, -2.0, 4.0, 3.0, 5.0, 6.0, NaN, NaN ];
63+
var mask = [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 ];
6464

65-
var v = nanmskmax( 4, x, 2, mask, 2 );
65+
var v = nanmskmax( 5, x, 2, mask, 2 );
6666
// returns 4.0
6767
```
6868

6969
Note that indexing is relative to the first index. To introduce offsets, use [`typed array`][mdn-typed-array] views.
7070

71-
<!-- eslint-disable stdlib/capitalized-comments -->
71+
<!-- eslint-disable stdlib/capitalized-comments, max-len -->
7272

7373
```javascript
7474
var Float64Array = require( '@stdlib/array/float64' );
7575
var Uint8Array = require( '@stdlib/array/uint8' );
7676

77-
var x0 = new Float64Array( [ 2.0, 1.0, -2.0, -2.0, 3.0, 4.0, 5.0, 6.0 ] );
77+
var x0 = new Float64Array( [ 2.0, 1.0, -2.0, -2.0, 3.0, 4.0, 5.0, 6.0, NaN, NaN ] );
7878
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
7979

80-
var mask0 = new Uint8Array( [ 0, 0, 0, 0, 0, 0, 1, 1 ] );
80+
var mask0 = new Uint8Array( [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 ] );
8181
var mask1 = new Uint8Array( mask0.buffer, mask0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
8282

83-
var v = nanmskmax( 4, x1, 2, mask1, 2 );
83+
var v = nanmskmax( 5, x1, 2, mask1, 2 );
8484
// returns 4.0
8585
```
8686

lib/node_modules/@stdlib/stats/base/nanmskmax/benchmark/benchmark.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var bernoulli = require( '@stdlib/random/array/bernoulli' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var pow = require( '@stdlib/math/base/special/pow' );
2828
var pkg = require( './../package.json' ).name;
29-
var nanmskmax = require( './../lib/nanmskmax.js' );
29+
var nanmskmax = require( './../lib/main.js' );
3030

3131

3232
// VARIABLES //

lib/node_modules/@stdlib/stats/base/nanmskmax/docs/repl.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
// Standard Usage:
4545
> var x = [ 1.0, -2.0, 4.0, 2.0, NaN ];
4646
> var mask = [ 0, 0, 1, 0, 0 ];
47-
> {{alias}}( x.length, x, 1, mask, 1 )
47+
> {{alias}}( 5, x, 1, mask, 1 )
4848
2.0
4949

5050
// Using `N` and stride parameters:
@@ -107,9 +107,9 @@
107107
2.0
108108

109109
// Using offset parameter:
110-
> x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, 4.0 ];
111-
> mask = [ 0, 0, 0, 0, 0, 0, 1 ];
112-
> {{alias}}.ndarray( 3, x, 2, 1, mask, 2, 1 )
110+
> x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, 4.0, NaN, NaN ];
111+
> mask = [ 0, 0, 0, 0, 0, 0, 1, 1, 1 ];
112+
> {{alias}}.ndarray( 4, x, 2, 1, mask, 2, 1 )
113113
2.0
114114

115115
See Also

lib/node_modules/@stdlib/stats/base/nanmskmax/docs/types/test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import nanmskmax = require( './index' );
2727
const x = new Float64Array( 10 );
2828
const mask = new Uint8Array( 10 );
2929

30+
nanmskmax( x.length, x, 1, mask, 1 ); // $ExpectType number
3031
nanmskmax( x.length, new AccessorArray( x ), 1, mask, 1 ); // $ExpectType number
3132
}
3233

@@ -123,6 +124,7 @@ import nanmskmax = require( './index' );
123124
const x = new Float64Array( 10 );
124125
const mask = new Uint8Array( 10 );
125126

127+
nanmskmax.ndarray( x.length, x, 1, 0, mask, 1, 0 ); // $ExpectType number
126128
nanmskmax.ndarray( x.length, new AccessorArray( x ), 1, 0, new AccessorArray( mask ), 1, 0 ); // $ExpectType number
127129
}
128130

lib/node_modules/@stdlib/stats/base/nanmskmax/lib/index.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,29 @@
2929
* var x = [ 1.0, -2.0, 4.0, 2.0, NaN ];
3030
* var mask = [ 0, 0, 1, 0, 0 ];
3131
*
32-
* var v = nanmskmax( x.length, x, 1 );
32+
* var v = nanmskmax( 5, x, 1 );
3333
* // returns 2.0
3434
*
3535
* @example
36-
* var floor = require( '@stdlib/math/base/special/floor' );
3736
* var nanmskmax = require( '@stdlib/stats/base/nanmskmax' );
3837
*
3938
* var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, 5.0, 6.0 ];
4039
* var mask = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 ];
41-
* var N = floor( x.length / 2 );
4240
*
43-
* var v = nanmskmax.ndarray( N, x, 2, 1, mask, 2, 1 );
41+
* var v = nanmskmax.ndarray( 5, x, 2, 1, mask, 2, 1 );
4442
* // returns 4.0
4543
*/
4644

4745
// MODULES //
4846

47+
var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
4948
var main = require( './main.js' );
49+
var ndarray = require( './ndarray.js' );
50+
51+
52+
// MAIN //
53+
54+
setReadOnly( main, 'ndarray', ndarray );
5055

5156

5257
// EXPORTS //

lib/node_modules/@stdlib/stats/base/nanmskmax/lib/main.js

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,36 @@
2020

2121
// MODULES //
2222

23-
var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
24-
var nanmskmax = require( './nanmskmax.js' );
23+
// MODULES //
24+
25+
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
2526
var ndarray = require( './ndarray.js' );
2627

2728

2829
// MAIN //
2930

30-
setReadOnly( nanmskmax, 'ndarray', ndarray );
31+
/**
32+
* Computes the maximum value of a strided array according to a mask, ignoring `NaN` values.
33+
*
34+
* @param {PositiveInteger} N - number of indexed elements
35+
* @param {NumericArray} x - input array
36+
* @param {integer} strideX - `x` stride length
37+
* @param {NumericArray} mask - mask array
38+
* @param {integer} strideMask - `mask` stride length
39+
* @returns {number} maximum value
40+
*
41+
* @example
42+
* var x = [ 1.0, -2.0, 4.0, 2.0, NaN ];
43+
* var mask = [ 0, 0, 1, 0, 0 ];
44+
*
45+
* var v = nanmskmax( 5, x, 1, mask, 1 );
46+
* // returns 2.0
47+
*/
48+
function nanmskmax( N, x, strideX, mask, strideMask ) {
49+
var offsetMask = stride2offset( N, strideMask );
50+
var offsetX = stride2offset( N, strideX );
51+
return ndarray( N, x, strideX, offsetX, mask, strideMask, offsetMask );
52+
}
3153

3254

3355
// EXPORTS //

lib/node_modules/@stdlib/stats/base/nanmskmax/lib/nanmskmax.js

Lines changed: 0 additions & 55 deletions
This file was deleted.

lib/node_modules/@stdlib/stats/base/nanmskmax/test/test.nanmskmax.js renamed to lib/node_modules/@stdlib/stats/base/nanmskmax/test/test.main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' );
2727
var Float64Array = require( '@stdlib/array/float64' );
2828
var Uint8Array = require( '@stdlib/array/uint8' );
29-
var nanmskmax = require( './../lib/nanmskmax.js' );
29+
var nanmskmax = require( './../lib/main.js' );
3030

3131

3232
// TESTS //

lib/node_modules/@stdlib/stats/base/nanmskmax/test/test.ndarray.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ tape( 'the function supports `stride` parameters', function test( t ) {
221221
0
222222
];
223223

224-
v = nanmskmax( 5, x, 2, 0, mask, 2, 0 );
224+
v = nanmskmax( 6, x, 2, 0, mask, 2, 0 );
225225

226226
t.strictEqual( v, 4.0, 'returns expected value' );
227227
t.end();
@@ -263,7 +263,7 @@ tape( 'the function supports `stride` parameters (accessors)', function test( t
263263

264264
x = toAccessorArray( x );
265265

266-
v = nanmskmax( 5, x, 2, 0, toAccessorArray( mask ), 2, 0 );
266+
v = nanmskmax( 6, x, 2, 0, toAccessorArray( mask ), 2, 0 );
267267

268268
t.strictEqual( v, 4.0, 'returns expected value' );
269269
t.end();
@@ -303,7 +303,7 @@ tape( 'the function supports negative `stride` parameters', function test( t ) {
303303
0
304304
];
305305

306-
v = nanmskmax( 5, x, -2, 10, mask, -2, 10 );
306+
v = nanmskmax( 6, x, -2, 10, mask, -2, 10 );
307307

308308
t.strictEqual( v, 4.0, 'returns expected value' );
309309
t.end();
@@ -345,7 +345,7 @@ tape( 'the function supports negative `stride` parameters', function test( t ) {
345345

346346
x = toAccessorArray( x );
347347

348-
v = nanmskmax( 5, x, -2, 10, toAccessorArray( mask ), -2, 10 );
348+
v = nanmskmax( 6, x, -2, 10, toAccessorArray( mask ), -2, 10 );
349349

350350
t.strictEqual( v, 4.0, 'returns expected value' );
351351
t.end();
@@ -385,7 +385,7 @@ tape( 'the function supports `offset` parameters', function test( t ) {
385385
0 // 5
386386
];
387387

388-
v = nanmskmax( 5, x, 2, 1, mask, 2, 1 );
388+
v = nanmskmax( 6, x, 2, 1, mask, 2, 1 );
389389
t.strictEqual( v, 4.0, 'returns expected value' );
390390

391391
t.end();
@@ -427,7 +427,7 @@ tape( 'the function supports `offset` parameters', function test( t ) {
427427

428428
x = toAccessorArray( x );
429429

430-
v = nanmskmax( 5, x, 2, 1, toAccessorArray( mask ), 2, 1 );
430+
v = nanmskmax( 6, x, 2, 1, toAccessorArray( mask ), 2, 1 );
431431
t.strictEqual( v, 4.0, 'returns expected value' );
432432

433433
t.end();

0 commit comments

Comments
 (0)