You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lib/node_modules/@stdlib/stats/base/nanmskrange/README.md
+28-47Lines changed: 28 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,52 +43,46 @@ var nanmskrange = require( '@stdlib/stats/base/nanmskrange' );
43
43
Computes the [range][range] of a strided array `x` according to a `mask`, ignoring `NaN` values.
44
44
45
45
```javascript
46
-
var x = [ 1.0, -2.0, 4.0, 2.0, NaN ];
47
-
var mask = [ 0, 0, 1, 0, 0 ];
46
+
var x = [ 1.0, -2.0, 4.0, 2.0, NaN, NaN ];
47
+
var mask = [ 0, 0, 1, 0, 0, 0 ];
48
48
49
-
var v =nanmskrange( x.length, x, 1, mask, 1 );
49
+
var v =nanmskrange( 6, x, 1, mask, 1 );
50
50
// returns 4.0
51
51
```
52
52
53
53
The function has the following parameters:
54
54
55
55
-**N**: number of indexed elements.
56
56
-**x**: input [`Array`][mdn-array] or [`typed array`][mdn-typed-array].
57
-
-**strideX**: index increment for `x`.
57
+
-**strideX**: stride length for `x`.
58
58
-**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.
59
-
-**strideMask**: index increment for `mask`.
59
+
-**strideMask**: stride length for `mask`.
60
60
61
-
The `N` and `stride` parameters determine which elements are accessed at runtime. For example, to compute the [range][range] of every other element in `x`,
61
+
The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the [range][range] of every other element in `x`,
62
62
63
63
```javascript
64
-
var floor =require( '@stdlib/math/base/special/floor' );
65
-
66
64
var x = [ 1.0, 2.0, -7.0, -2.0, 4.0, 3.0, 5.0, 6.0 ];
67
65
var mask = [ 0, 0, 0, 0, 0, 0, 1, 1 ];
68
-
varN=floor( x.length/2 );
69
66
70
-
var v =nanmskrange( N, x, 2, mask, 2 );
67
+
var v =nanmskrange( 4, x, 2, mask, 2 );
71
68
// returns 11.0
72
69
```
73
70
74
71
Note that indexing is relative to the first index. To introduce offsets, use [`typed array`][mdn-typed-array] views.
var mask1 =newUint8Array( mask0.buffer, mask0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
88
84
89
-
varN=floor( x0.length/2 );
90
-
91
-
var v =nanmskrange( N, x1, 2, mask1, 2 );
85
+
var v =nanmskrange( 5, x1, 2, mask1, 2 );
92
86
// returns 6.0
93
87
```
94
88
@@ -97,10 +91,10 @@ var v = nanmskrange( N, x1, 2, mask1, 2 );
97
91
Computes the [range][range] of a strided array according to a `mask`, ignoring `NaN` values and using alternative indexing semantics.
98
92
99
93
```javascript
100
-
var x = [ 1.0, -2.0, 4.0, 2.0, NaN ];
101
-
var mask = [ 0, 0, 1, 0, 0 ];
94
+
var x = [ 1.0, -2.0, 4.0, 2.0, NaN, NaN ];
95
+
var mask = [ 0, 0, 1, 0, 0, 0 ];
102
96
103
-
var v =nanmskrange.ndarray( x.length, x, 1, 0, mask, 1, 0 );
97
+
var v =nanmskrange.ndarray( 6, x, 1, 0, mask, 1, 0 );
104
98
// returns 4.0
105
99
```
106
100
@@ -109,16 +103,13 @@ The function has the following additional parameters:
109
103
-**offsetX**: starting index for `x`.
110
104
-**offsetMask**: starting index for `mask`.
111
105
112
-
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, the `offset` parameter supports indexing semantics based on a starting index. For example, to calculate the [range][range] for every other value in `x` starting from the second value
106
+
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on a starting indices. For example, to calculate the [range][range] for every other value in `x` starting from the second value
113
107
114
108
```javascript
115
-
var floor =require( '@stdlib/math/base/special/floor' );
116
-
117
109
var x = [ 2.0, 1.0, -2.0, -2.0, 3.0, 4.0, 5.0, 6.0 ];
118
110
var mask = [ 0, 0, 0, 0, 0, 0, 1, 1 ];
119
-
varN=floor( x.length/2 );
120
111
121
-
var v =nanmskrange.ndarray( N, x, 2, 1, mask, 2, 1 );
112
+
var v =nanmskrange.ndarray( 4, x, 2, 1, mask, 2, 1 );
122
113
// returns 6.0
123
114
```
124
115
@@ -131,6 +122,7 @@ var v = nanmskrange.ndarray( N, x, 2, 1, mask, 2, 1 );
131
122
## Notes
132
123
133
124
- If `N <= 0`, both functions return `NaN`.
125
+
- Both functions support array-like objects having getter and setter accessors for array element access (e.g., [`@stdlib/array/base/accessor`][@stdlib/array/base/accessor]).
134
126
- Depending on the environment, the typed versions ([`dnanmskrange`][@stdlib/stats/base/dnanmskrange], [`snanmskrange`][@stdlib/stats/base/snanmskrange], etc.) are likely to be significantly more performant.
135
127
136
128
</section>
@@ -144,31 +136,18 @@ var v = nanmskrange.ndarray( N, x, 2, 1, mask, 2, 1 );
144
136
<!-- eslint no-undef: "error" -->
145
137
146
138
```javascript
147
-
var randu =require( '@stdlib/random/base/randu' );
148
-
var round =require( '@stdlib/math/base/special/round' );
0 commit comments