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/nanmskmin/README.md
+44-97Lines changed: 44 additions & 97 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,86 +33,52 @@ limitations under the License.
33
33
## Usage
34
34
35
35
```javascript
36
-
var nanmskmin =require('@stdlib/stats/base/nanmskmin');
36
+
var nanmskmin =require("@stdlib/stats/base/nanmskmin");
37
37
```
38
38
39
39
#### nanmskmin( N, x, strideX, mask, strideMask )
40
40
41
41
Computes the minimum value of a strided array `x` according to a `mask`, ignoring `NaN` values.
42
42
43
43
```javascript
44
-
var x = [1.0, -2.0, -4.0, 2.0, NaN];
45
-
var mask = [0, 0, 1, 0, 0];
44
+
var x = [1.0, -2.0, -4.0, 2.0, NaN];
45
+
var mask = [0, 0, 1, 0, 0];
46
46
47
-
var v =nanmskmin(x.length, x, 1, mask, 1);
47
+
var v =nanmskmin(x.length, x, 1, mask, 1);
48
48
// returns -2.0
49
49
```
50
50
51
51
The function has the following parameters:
52
52
53
-
-**N**: number of indexed elements.
54
-
-**x**: input [`Array`][mdn-array] or [`typed array`][mdn-typed-array].
55
-
-**strideX**: stride length for `x`.
56
-
-**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.
57
-
-**strideMask**: stride length for `mask`.
53
+
-**N**: number of indexed elements.
54
+
-**x**: input [`Array`][mdn-array] or [`typed array`][mdn-typed-array].
55
+
-**strideX**: stride length for `x`.
56
+
-**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.
57
+
-**strideMask**: stride length for `mask`.
58
58
59
59
The `N` and `stride` parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the minimum value of every other element in `x`,
60
60
61
61
```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];
63
+
var mask = [0, 0, 0, 0, 0, 0, 1, 1];
64
64
65
-
66
-
var v =nanmskmin( 4, x, 2, mask, 2 );
65
+
var v =nanmskmin(4, x, 2, mask, 2);
67
66
// returns -7.0
68
67
```
69
68
70
69
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
78
+
var mask0 =newUint8Array([0, 0, 0, 0, 0, 0, 1, 1]);
79
+
var mask1 =newUint8Array(mask0.buffer, mask0.BYTES_PER_ELEMENT*1);
84
80
85
-
86
-
var v =nanmskmin( 4, x1, 2, mask1, 2 );
87
-
// returns -2.0
88
-
```
89
-
90
-
#### nanmskmin.ndarray( N, x, strideX, offsetX, mask, strideMask, offsetMask )
91
-
92
-
Computes the minimum value of a strided array according to a `mask`, ignoring `NaN` values and using alternative indexing semantics.
93
-
94
-
```javascript
95
-
var x = [ 1.0, -2.0, -4.0, 2.0, NaN ];
96
-
var mask = [ 0, 0, 1, 0, 0 ];
97
-
98
-
var v =nanmskmin.ndarray( x.length, x, 1, 0, mask, 1, 0 );
99
-
// returns -2.0
100
-
```
101
-
102
-
The function has the following additional parameters:
103
-
104
-
-**offsetX**: starting index for `x`.
105
-
-**offsetMask**: starting index for `mask`.
106
-
107
-
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset
108
-
indexing semantics based on
109
-
starting indices. For example, to calculate the minimum value for every other value in `x` starting from the second value
110
-
111
-
```javascript
112
-
var x = [ 2.0, 1.0, -2.0, -2.0, 3.0, 4.0, -5.0, -6.0 ];
113
-
var mask = [ 0, 0, 0, 0, 0, 0, 1, 1 ];
114
-
115
-
var v =nanmskmin.ndarray( 4, x, 2, 1, mask, 2, 1 );
81
+
var v =nanmskmin(4, x1, 2, mask1, 2);
116
82
// returns -2.0
117
83
```
118
84
@@ -124,10 +90,9 @@ var v = nanmskmin.ndarray( 4, x, 2, 1, mask, 2, 1 );
124
90
125
91
## Notes
126
92
127
-
- If `N <= 0`, both functions return `NaN`.
128
-
- Depending on the environment, the typed versions ([`dnanmskmin`][@stdlib/stats/base/dnanmskmin], [`snanmskmin`][@stdlib/stats/base/snanmskmin], etc.) are likely to be significantly more performant.
129
-
- 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]).
130
-
93
+
- If `N <= 0`, both functions return `NaN`.
94
+
- Depending on the environment, the typed versions ([`dnanmskmin`][@stdlib/stats/base/dnanmskmin], [`snanmskmin`][@stdlib/stats/base/snanmskmin], etc.) are likely to be significantly more performant.
95
+
- 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]).
131
96
132
97
</section>
133
98
@@ -137,75 +102,57 @@ var v = nanmskmin.ndarray( 4, x, 2, 1, mask, 2, 1 );
137
102
138
103
## Examples
139
104
140
-
<!-- eslint no-undef: "error" -->
141
-
142
105
```javascript
143
-
var uniform =require('@stdlib/random/array/uniform');
144
-
var bernoulli =require('@stdlib/random/array/bernoulli');
145
-
var nanmskmin =require('@stdlib/stats/base/nanmskmin');
146
-
147
-
var x =uniform(10, -50.0, 50.0, {
148
-
'dtype':'float64'
149
-
});
150
-
console.log( x );
151
-
152
-
var mask =bernoulli(x.length, 0.2, {
153
-
'dtype':'uint8'
154
-
});
155
-
console.log(mask);
156
-
157
-
var v =nanmskmin(x.length, x, 1, mask, 1);
158
-
console.log( v );
106
+
var uniform =require("@stdlib/random/array/uniform");
107
+
var bernoulli =require("@stdlib/random/array/bernoulli");
108
+
var nanmskmin =require("@stdlib/stats/base/nanmskmin");
109
+
110
+
var x =uniform(10, -50.0, 50.0, {
111
+
dtype:"float64",
112
+
});
113
+
console.log(x);
114
+
115
+
var mask =bernoulli(x.length, 0.2, {
116
+
dtype:"uint8",
117
+
});
118
+
console.log(mask);
119
+
120
+
var v =nanmskmin(x.length, x, 1, mask, 1);
121
+
console.log(v);
159
122
```
160
123
161
124
</section>
162
125
163
126
<!-- /.examples -->
164
127
165
-
<!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. -->
166
-
167
128
<sectionclass="related">
168
129
169
-
* * *
130
+
---
170
131
171
132
## See Also
172
133
173
-
- <spanclass="package-name">[`@stdlib/stats/base/dnanmskmin`][@stdlib/stats/base/dnanmskmin]</span><spanclass="delimiter">: </span><spanclass="description">calculate the minimum value of a double-precision floating-point strided array according to a mask, ignoring NaN values.</span>
174
-
- <spanclass="package-name">[`@stdlib/stats/base/mskmin`][@stdlib/stats/base/mskmin]</span><spanclass="delimiter">: </span><spanclass="description">calculate the minimum value of a strided array according to a mask.</span>
175
-
- <spanclass="package-name">[`@stdlib/stats/base/nanmin`][@stdlib/stats/base/nanmin]</span><spanclass="delimiter">: </span><spanclass="description">calculate the minimum value of a strided array, ignoring NaN values.</span>
176
-
- <spanclass="package-name">[`@stdlib/stats/base/nanmskmax`][@stdlib/stats/base/nanmskmax]</span><spanclass="delimiter">: </span><spanclass="description">calculate the maximum value of a strided array according to a mask, ignoring NaN values.</span>
177
-
- <spanclass="package-name">[`@stdlib/stats/base/snanmskmin`][@stdlib/stats/base/snanmskmin]</span><spanclass="delimiter">: </span><spanclass="description">calculate the minimum value of a single-precision floating-point strided array according to a mask, ignoring NaN values.</span>
0 commit comments