Skip to content

Commit e6a5aef

Browse files
committed
fix: revert stats/base changes
1 parent 0e9372f commit e6a5aef

File tree

37 files changed

+874
-971
lines changed

37 files changed

+874
-971
lines changed

lib/node_modules/@stdlib/stats/base/nanrange-by/README.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ The [**range**][range] is defined as the difference between the maximum and mini
3838
var nanrangeBy = require( '@stdlib/stats/base/nanrange-by' );
3939
```
4040

41-
#### nanrangeBy( N, x, strideX, clbk\[, thisArg] )
41+
#### nanrangeBy( N, x, stride, clbk\[, thisArg] )
4242

43-
Computes the [range][range] of a strided array via a callback function, ignoring `NaN` values.
43+
Calculates the [range][range] of strided array `x` via a callback function, ignoring `NaN` values.
4444

4545
```javascript
4646
function accessor( v ) {
@@ -57,7 +57,7 @@ The function has the following parameters:
5757

5858
- **N**: number of indexed elements.
5959
- **x**: input [`Array`][mdn-array], [`typed array`][mdn-typed-array], or an array-like object (excluding strings and functions).
60-
- **strideX**: stride length.
60+
- **stride**: index increment.
6161
- **clbk**: callback function.
6262
- **thisArg**: execution context (_optional_).
6363

@@ -89,23 +89,27 @@ var cnt = context.count;
8989
// returns 10
9090
```
9191

92-
The `N` and stride parameters determine which elements in the strided array are accessed at runtime. For example, to access every other element
92+
The `N` and `stride` parameters determine which elements in `x` are accessed at runtime. For example, to access every other element
9393

9494
```javascript
95+
var floor = require( '@stdlib/math/base/special/floor' );
96+
9597
function accessor( v ) {
9698
return v * 2.0;
9799
}
98100

99101
var x = [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0, NaN, NaN ];
102+
var N = floor( x.length / 2 );
100103

101-
var v = nanrangeBy( 5, x, 2, accessor );
104+
var v = nanrangeBy( N, x, 2, accessor );
102105
// returns 12.0
103106
```
104107

105108
Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
106109

107110
```javascript
108111
var Float64Array = require( '@stdlib/array/float64' );
112+
var floor = require( '@stdlib/math/base/special/floor' );
109113

110114
function accessor( v ) {
111115
return v * 2.0;
@@ -116,15 +120,16 @@ var x0 = new Float64Array( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );
116120

117121
// Create an offset view...
118122
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
123+
var N = floor( x0.length/2 );
119124

120125
// Access every other element...
121-
var v = nanrangeBy( 3, x1, 2, accessor );
126+
var v = nanrangeBy( N, x1, 2, accessor );
122127
// returns 8.0
123128
```
124129

125-
#### nanrangeBy.ndarray( N, x, strideX, offsetX, clbk\[, thisArg] )
130+
#### nanrangeBy.ndarray( N, x, stride, offset, clbk\[, thisArg] )
126131

127-
Computes the [range][range] of a strided array via a callback function, ignoring `NaN` values and using alternative indexing semantics.
132+
Calculates the [range][range] of strided array `x` via a callback function, ignoring `NaN` values and using alternative indexing semantics.
128133

129134
```javascript
130135
function accessor( v ) {
@@ -139,9 +144,9 @@ var v = nanrangeBy.ndarray( x.length, x, 1, 0, accessor );
139144

140145
The function has the following additional parameters:
141146

142-
- **offsetX**: starting index.
147+
- **offset**: starting index.
143148

144-
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 access only the last three elements of `x`
149+
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 access only the last three elements of `x`
145150

146151
```javascript
147152
function accessor( v ) {
@@ -166,7 +171,6 @@ var v = nanrangeBy.ndarray( 3, x, 1, x.length-3, accessor );
166171
- A provided callback function should return a numeric value.
167172
- If a provided callback function returns `NaN`, the value is ignored.
168173
- If a provided callback function does not return any value (or equivalently, explicitly returns `undefined`), the value is ignored.
169-
- 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]).
170174
- When possible, prefer using [`dnanrange`][@stdlib/stats/strided/dnanrange], [`snanrange`][@stdlib/stats/strided/snanrange], and/or [`nanrange`][@stdlib/stats/base/nanrange], as, depending on the environment, these interfaces are likely to be significantly more performant.
171175

172176
</section>
@@ -180,23 +184,23 @@ var v = nanrangeBy.ndarray( 3, x, 1, x.length-3, accessor );
180184
<!-- eslint no-undef: "error" -->
181185

182186
```javascript
183-
var uniform = require( '@stdlib/random/base/uniform' );
187+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
188+
var randu = require( '@stdlib/random/base/randu' );
184189
var filledarrayBy = require( '@stdlib/array/filled-by' );
185-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
186190
var nanrangeBy = require( '@stdlib/stats/base/nanrange-by' );
187191

188-
function rand() {
189-
if ( bernoulli( 0.8 ) < 0.2 ) {
192+
function fill() {
193+
if ( randu() < 0.2 ) {
190194
return NaN;
191195
}
192-
return uniform( -50.0, 50.0 );
196+
return discreteUniform( -50, 50 );
193197
}
194198

195199
function accessor( v ) {
196200
return v * 2.0;
197201
}
198202

199-
var x = filledarrayBy( 10, 'float64', rand );
203+
var x = filledarrayBy( 10, 'float64', fill );
200204
console.log( x );
201205

202206
var v = nanrangeBy( x.length, x, 1, accessor );
@@ -236,8 +240,6 @@ console.log( v );
236240

237241
[mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
238242

239-
[@stdlib/array/base/accessor]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base/accessor
240-
241243
<!-- <related-links> -->
242244

243245
[@stdlib/stats/strided/dnanrange]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/strided/dnanrange

lib/node_modules/@stdlib/stats/base/nanrange-by/benchmark/benchmark.js

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/base/uniform' );
25-
var filledarrayBy = require( '@stdlib/array/filled-by' );
26-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
24+
var randu = require( '@stdlib/random/base/randu' );
2725
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2826
var pow = require( '@stdlib/math/base/special/pow' );
2927
var pkg = require( './../package.json' ).name;
30-
var nanrangeBy = require( './../lib/main.js' );
28+
var nanrangeBy = require( './../lib/nanrange_by.js' );
3129

3230

3331
// FUNCTIONS //
@@ -43,19 +41,6 @@ function accessor( value ) {
4341
return value * 2.0;
4442
}
4543

46-
/**
47-
* Returns a random number.
48-
*
49-
* @private
50-
* @returns {number} random number
51-
*/
52-
function rand() {
53-
if ( bernoulli( 0.8 ) < 1 ) {
54-
return NaN;
55-
}
56-
return uniform( -50.0, 50.0 );
57-
}
58-
5944
/**
6045
* Create a benchmark function.
6146
*
@@ -64,7 +49,17 @@ function rand() {
6449
* @returns {Function} benchmark function
6550
*/
6651
function createBenchmark( len ) {
67-
var x = filledarrayBy( len, 'generic', rand );
52+
var x;
53+
var i;
54+
55+
x = [];
56+
for ( i = 0; i < len; i++ ) {
57+
if ( randu() < 0.2 ) {
58+
x.push( NaN );
59+
} else {
60+
x.push( ( randu()*20.0 ) - 10.0 );
61+
}
62+
}
6863
return benchmark;
6964

7065
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/nanrange-by/benchmark/benchmark.ndarray.js

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/base/uniform' );
25-
var filledarrayBy = require( '@stdlib/array/filled-by' );
26-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
24+
var randu = require( '@stdlib/random/base/randu' );
2725
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2826
var pow = require( '@stdlib/math/base/special/pow' );
2927
var pkg = require( './../package.json' ).name;
@@ -43,19 +41,6 @@ function accessor( value ) {
4341
return value * 2.0;
4442
}
4543

46-
/**
47-
* Returns a random number.
48-
*
49-
* @private
50-
* @returns {number} random number
51-
*/
52-
function rand() {
53-
if ( bernoulli( 0.8 ) < 1 ) {
54-
return NaN;
55-
}
56-
return uniform( -50.0, 50.0 );
57-
}
58-
5944
/**
6045
* Create a benchmark function.
6146
*
@@ -64,7 +49,17 @@ function rand() {
6449
* @returns {Function} benchmark function
6550
*/
6651
function createBenchmark( len ) {
67-
var x = filledarrayBy( len, 'generic', rand );
52+
var x;
53+
var i;
54+
55+
x = [];
56+
for ( i = 0; i < len; i++ ) {
57+
if ( randu() < 0.2 ) {
58+
x.push( NaN );
59+
} else {
60+
x.push( ( randu()*20.0 ) - 10.0 );
61+
}
62+
}
6863
return benchmark;
6964

7065
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/nanrange-by/docs/repl.txt

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11

2-
{{alias}}( N, x, strideX, clbk[, thisArg] )
3-
Computes the range of a strided array via a callback function, ignoring
2+
{{alias}}( N, x, stride, clbk[, thisArg] )
3+
Calculates the range of a strided array via a callback function, ignoring
44
`NaN` values.
55

6-
The `N` and stride parameters determine which elements in the strided array
7-
are accessed at runtime.
6+
The `N` and `stride` parameters determine which elements in `x` are accessed
7+
at runtime.
88

99
Indexing is relative to the first index. To introduce an offset, use typed
1010
array views.
@@ -34,8 +34,8 @@
3434
Input array/collection. If provided an object, the object must be array-
3535
like (excluding strings and functions).
3636

37-
strideX: integer
38-
Stride length.
37+
stride: integer
38+
Index increment for `x`.
3939

4040
clbk: Function
4141
Callback function.
@@ -56,24 +56,25 @@
5656
> {{alias}}( x.length, x, 1, accessor )
5757
18.0
5858

59-
// Using `N` and stride parameters:
59+
// Using `N` and `stride` parameters:
6060
> x = [ -2.0, 1.0, 3.0, -5.0, 4.0, -1.0, -3.0, 1.0 ];
61-
> {{alias}}( 4, x, 2, accessor )
61+
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
62+
> {{alias}}( N, x, 2, accessor )
6263
14.0
6364

6465
// Using view offsets:
6566
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );
6667
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
67-
> {{alias}}( 3, x1, 2, accessor )
68+
> N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 );
69+
> {{alias}}( N, x1, 2, accessor )
6870
8.0
6971

70-
71-
{{alias}}.ndarray( N, x, strideX, offsetX, clbk[, thisArg] )
72+
{{alias}}.ndarray( N, x, stride, offset, clbk[, thisArg] )
7273
Calculates the range of a strided array via a callback function, ignoring
7374
`NaN` values and using alternative indexing semantics.
7475

7576
While typed array views mandate a view offset based on the underlying
76-
buffer, the offset parameter supports indexing semantics based on a
77+
buffer, the `offset` parameter supports indexing semantics based on a
7778
starting index.
7879

7980
Parameters
@@ -85,11 +86,11 @@
8586
Input array/collection. If provided an object, the object must be array-
8687
like (excluding strings and functions).
8788

88-
strideX: integer
89-
Stride length.
89+
stride: integer
90+
Index increment for `x`.
9091

91-
offsetX: integer
92-
Starting index.
92+
offset: integer
93+
Starting index of `x`.
9394

9495
clbk: Function
9596
Callback function.
@@ -112,7 +113,8 @@
112113

113114
// Using an index offset:
114115
> x = [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ];
115-
> {{alias}}.ndarray( 3, x, 2, 1, accessor )
116+
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
117+
> {{alias}}.ndarray( N, x, 2, 1, accessor )
116118
8.0
117119

118120
See Also

lib/node_modules/@stdlib/stats/base/nanrange-by/docs/types/index.d.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,7 @@
2020

2121
/// <reference types="@stdlib/types"/>
2222

23-
import { Collection, AccessorArrayLike } from '@stdlib/types/array';
24-
25-
/**
26-
* Input array.
27-
*/
28-
type InputArray<T> = Collection<T> | AccessorArrayLike<T>;
23+
import { Collection } from '@stdlib/types/array';
2924

3025
/**
3126
* Returns an accessed value.
@@ -88,7 +83,7 @@ type Callback<T, U> = Nullary<U> | Unary<T, U> | Binary<T, U> | Ternary<T, U> |
8883
*/
8984
interface Routine {
9085
/**
91-
* Computes the range of a strided array via a callback function, ignoring `NaN` values.
86+
* Calculates the range of a strided array via a callback function, ignoring `NaN` values.
9287
*
9388
* ## Notes
9489
*
@@ -107,7 +102,7 @@ interface Routine {
107102
*
108103
* @param N - number of indexed elements
109104
* @param x - input array
110-
* @param strideX - stride length
105+
* @param stride - stride length
111106
* @param clbk - callback
112107
* @param thisArg - execution context
113108
* @returns range
@@ -122,10 +117,10 @@ interface Routine {
122117
* var v = nanrangeBy( x.length, x, 1, accessor );
123118
* // returns 18.0
124119
*/
125-
<T = unknown, U = unknown>( N: number, x: InputArray<T>, strideX: number, clbk: Callback<T, U>, thisArg?: ThisParameterType<Callback<T, U>> ): number;
120+
<T = unknown, U = unknown>( N: number, x: Collection<T>, stride: number, clbk: Callback<T, U>, thisArg?: ThisParameterType<Callback<T, U>> ): number;
126121

127122
/**
128-
* Computes the range of a strided array via a callback function, ignoring `NaN` values and using alternative indexing semantics.
123+
* Calculates the range of a strided array via a callback function, ignoring `NaN` values and using alternative indexing semantics.
129124
*
130125
* ## Notes
131126
*
@@ -144,8 +139,8 @@ interface Routine {
144139
*
145140
* @param N - number of indexed elements
146141
* @param x - input array
147-
* @param strideX - stride length
148-
* @param offsetX - starting index
142+
* @param stride - stride length
143+
* @param offset - starting index
149144
* @param clbk - callback
150145
* @param thisArg - execution context
151146
* @returns range
@@ -160,11 +155,11 @@ interface Routine {
160155
* var v = nanrangeBy.ndarray( x.length, x, 1, 0, accessor );
161156
* // returns 18.0
162157
*/
163-
ndarray<T = unknown, U = unknown>( N: number, x: InputArray<T>, strideX: number, offsetX: number, clbk: Callback<T, U>, thisArg?: ThisParameterType<Callback<T, U>> ): number;
158+
ndarray<T = unknown, U = unknown>( N: number, x: Collection<T>, stride: number, offset: number, clbk: Callback<T, U>, thisArg?: ThisParameterType<Callback<T, U>> ): number;
164159
}
165160

166161
/**
167-
* Computes the range of a strided array via a callback function, ignoring `NaN` values.
162+
* Calculates the range of a strided array via a callback function, ignoring `NaN` values.
168163
*
169164
* ## Notes
170165
*
@@ -183,7 +178,7 @@ interface Routine {
183178
*
184179
* @param N - number of indexed elements
185180
* @param x - input array
186-
* @param strideX - stride length
181+
* @param stride - stride length
187182
* @param clbk - callback
188183
* @param thisArg - execution context
189184
* @returns range

0 commit comments

Comments
 (0)