Skip to content

Commit f96aa3c

Browse files
chore: minor clean up
1 parent 0546e72 commit f96aa3c

File tree

18 files changed

+173
-92
lines changed

18 files changed

+173
-92
lines changed

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

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -51,36 +51,33 @@ The [arithmetic mean][arithmetic-mean] is defined as
5151
var dsnanmean = require( '@stdlib/stats/base/dsnanmean' );
5252
```
5353

54-
#### dsnanmean( N, x, stride )
54+
#### dsnanmean( N, x, strideX )
5555

5656
Computes the [arithmetic mean][arithmetic-mean] of a single-precision floating-point strided array `x`, ignoring `NaN` values, using extended accumulation, and returning an extended precision result.
5757

5858
```javascript
5959
var Float32Array = require( '@stdlib/array/float32' );
6060

6161
var x = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
62-
var N = x.length;
6362

64-
var v = dsnanmean( N, x, 1 );
63+
var v = dsnanmean( x.length, x, 1 );
6564
// returns ~0.3333
6665
```
6766

6867
The function has the following parameters:
6968

7069
- **N**: number of indexed elements.
7170
- **x**: input [`Float32Array`][@stdlib/array/float32].
72-
- **stride**: index increment for `x`.
71+
- **strideX**: index increment for `x`.
7372

74-
The `N` and `stride` parameters determine which elements in `x` are accessed at runtime. For example, to compute the [arithmetic mean][arithmetic-mean] of every other element in `x`,
73+
The `N` and stride parameters determine which elements in the strided array are accessed at runtime. For example, to compute the [arithmetic mean][arithmetic-mean] of every other element in `x`,
7574

7675
```javascript
7776
var Float32Array = require( '@stdlib/array/float32' );
78-
var floor = require( '@stdlib/math/base/special/floor' );
7977

8078
var x = new Float32Array( [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0, NaN ] );
81-
var N = floor( x.length / 2 );
8279

83-
var v = dsnanmean( N, x, 2 );
80+
var v = dsnanmean( 4, x, 2 );
8481
// returns 1.25
8582
```
8683

@@ -95,40 +92,35 @@ var floor = require( '@stdlib/math/base/special/floor' );
9592
var x0 = new Float32Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN ] );
9693
var x1 = new Float32Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
9794

98-
var N = floor( x0.length / 2 );
99-
100-
var v = dsnanmean( N, x1, 2 );
95+
var v = dsnanmean( 4, x1, 2 );
10196
// returns 1.25
10297
```
10398

104-
#### dsnanmean.ndarray( N, x, stride, offset )
99+
#### dsnanmean.ndarray( N, x, strideX, offsetX )
105100

106101
Computes the [arithmetic mean][arithmetic-mean] of a single-precision floating-point strided array, ignoring `NaN` values and using extended accumulation and alternative indexing semantics.
107102

108103
```javascript
109104
var Float32Array = require( '@stdlib/array/float32' );
110105

111106
var x = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
112-
var N = x.length;
113107

114-
var v = dsnanmean.ndarray( N, x, 1, 0 );
108+
var v = dsnanmean.ndarray( x.length, x, 1, 0 );
115109
// returns ~0.33333
116110
```
117111

118112
The function has the following additional parameters:
119113

120-
- **offset**: starting index for `x`.
114+
- **offsetX**: starting index for `x`.
121115

122-
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 [arithmetic mean][arithmetic-mean] for every other value in `x` starting from the second value
116+
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 [arithmetic mean][arithmetic-mean] for every other element in `x` starting from the second element
123117

124118
```javascript
125119
var Float32Array = require( '@stdlib/array/float32' );
126-
var floor = require( '@stdlib/math/base/special/floor' );
127120

128121
var x = new Float32Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN ] );
129-
var N = floor( x.length / 2 );
130122

131-
var v = dsnanmean.ndarray( N, x, 2, 1 );
123+
var v = dsnanmean.ndarray( 4, x, 2, 1 );
132124
// returns 1.25
133125
```
134126

@@ -193,12 +185,12 @@ console.log( v );
193185

194186
#### stdlib_strided_dsnanmean( N, \*X, strideX )
195187

196-
Calculate the Arithmetic Mean value of a double-precision floating-point strided array, ignoring `NaN` values.
188+
Computes the Arithmetic Mean of a single-precision floating-point strided array `x`, ignoring `NaN` values, using extended accumulation, and returning an extended precision result.
197189

198190
```c
199191
const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f };
200192

201-
double v = stdlib_strided_dsnanmean( 5, x, 2 );
193+
double v = stdlib_strided_dsnanmean( 6, x, 2 );
202194
// returns 1.25
203195
```
204196
@@ -214,12 +206,12 @@ double stdlib_strided_dsnanmean( const CBLAS_INT N, const float *X, const CBLAS_
214206

215207
#### stdlib_strided_dsnanmean_ndarray( N, \*X, strideX, offsetX )
216208

217-
Computes the Arithmetic Mean value of a double-precision floating-point strided array, ignoring `NaN` values and using alternative indexing semantics.
209+
Computes the arithmetic mean of a single-precision floating-point strided array, ignoring `NaN` values and using extended accumulation and alternative indexing semantics.
218210

219211
```c
220212
const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f };
221213

222-
double v = stdlib_strided_dsnanmean_ndarray( 5, x, 2, 0 );
214+
double v = stdlib_strided_dsnanmean_ndarray( 6, x, 2, 0 );
223215
// returns 1.25
224216
```
225217
@@ -258,7 +250,7 @@ double stdlib_strided_dsnanmean_ndarray( const CBLAS_INT N, const float *X, cons
258250

259251
int main( void ) {
260252
// Create a strided array:
261-
const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f };
253+
const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f };
262254

263255
// Specify the number of elements:
264256
const int N = 6;

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

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,29 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2527
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2628
var pow = require( '@stdlib/math/base/special/pow' );
2729
var pkg = require( './../package.json' ).name;
2830
var dsnanmean = require( './../lib/dsnanmean.js' );
2931

3032

31-
// VARIABLES //
32-
33-
var options = {
34-
'dtype': 'float32'
35-
};
36-
37-
3833
// FUNCTIONS //
3934

35+
/**
36+
* Returns a random value or `NaN`.
37+
*
38+
* @returns {number} random number or `NaN`
39+
*/
40+
function rand() {
41+
if ( bernoulli( 0.2 ) ) {
42+
return NaN;
43+
}
44+
return uniform( -10.0, 10.0 );
45+
}
46+
4047
/**
4148
* Creates a benchmark function.
4249
*
@@ -45,7 +52,7 @@ var options = {
4552
* @returns {Function} benchmark function
4653
*/
4754
function createBenchmark( len ) {
48-
var x = uniform( len, -10.0, 10.0, options );
55+
var x = filledarrayBy( len, 'float32', rand );
4956
return benchmark;
5057

5158
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/dsnanmean/benchmark/benchmark.native.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var uniform = require( '@stdlib/random/array/uniform' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
26+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
27+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2628
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2729
var pow = require( '@stdlib/math/base/special/pow' );
2830
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -35,13 +37,22 @@ var dsnanmean = tryRequire( resolve( __dirname, './../lib/dsnanmean.native.js' )
3537
var opts = {
3638
'skip': ( dsnanmean instanceof Error )
3739
};
38-
var options = {
39-
'dtype': 'float32'
40-
};
4140

4241

4342
// FUNCTIONS //
4443

44+
/**
45+
* Returns a random value or `NaN`.
46+
*
47+
* @returns {number} random number or `NaN`
48+
*/
49+
function rand() {
50+
if ( bernoulli( 0.2 ) ) {
51+
return NaN;
52+
}
53+
return uniform( -10.0, 10.0 );
54+
}
55+
4556
/**
4657
* Creates a benchmark function.
4758
*
@@ -50,7 +61,7 @@ var options = {
5061
* @returns {Function} benchmark function
5162
*/
5263
function createBenchmark( len ) {
53-
var x = uniform( len, -10.0, 10.0, options );
64+
var x = filledarrayBy( len, 'float32', rand );
5465
return benchmark;
5566

5667
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/dsnanmean/benchmark/benchmark.ndarray.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,29 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2527
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2628
var pow = require( '@stdlib/math/base/special/pow' );
2729
var pkg = require( './../package.json' ).name;
2830
var dsnanmean = require( './../lib/ndarray.js' );
2931

3032

31-
// VARIABLES //
32-
33-
var options = {
34-
'dtype': 'float32'
35-
};
36-
37-
3833
// FUNCTIONS //
3934

35+
/**
36+
* Returns a random value or `NaN`.
37+
*
38+
* @returns {number} random number or `NaN`
39+
*/
40+
function rand() {
41+
if ( bernoulli( 0.2 ) ) {
42+
return NaN;
43+
}
44+
return uniform( -10.0, 10.0 );
45+
}
46+
4047
/**
4148
* Creates a benchmark function.
4249
*
@@ -45,7 +52,7 @@ var options = {
4552
* @returns {Function} benchmark function
4653
*/
4754
function createBenchmark( len ) {
48-
var x = uniform( len, -10.0, 10.0, options );
55+
var x = filledarrayBy( len, 'float32', rand );
4956
return benchmark;
5057

5158
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/dsnanmean/benchmark/benchmark.ndarray.native.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var uniform = require( '@stdlib/random/array/uniform' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
26+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
27+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2628
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2729
var pow = require( '@stdlib/math/base/special/pow' );
2830
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -35,13 +37,22 @@ var dsnanmean = tryRequire( resolve( __dirname, './../lib/ndarray.native.js' ) )
3537
var opts = {
3638
'skip': ( dsnanmean instanceof Error )
3739
};
38-
var options = {
39-
'dtype': 'float32'
40-
};
4140

4241

4342
// FUNCTIONS //
4443

44+
/**
45+
* Returns a random value or `NaN`.
46+
*
47+
* @returns {number} random number or `NaN`
48+
*/
49+
function rand() {
50+
if ( bernoulli( 0.2 ) ) {
51+
return NaN;
52+
}
53+
return uniform( -10.0, 10.0 );
54+
}
55+
4556
/**
4657
* Creates a benchmark function.
4758
*
@@ -50,7 +61,7 @@ var options = {
5061
* @returns {Function} benchmark function
5162
*/
5263
function createBenchmark( len ) {
53-
var x = uniform( len, -10.0, 10.0, options );
64+
var x = filledarrayBy( len, 'float32', rand );
5465
return benchmark;
5566

5667
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/dsnanmean/benchmark/c/benchmark.length.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,14 @@ static float rand_float( void ) {
9797
static double benchmark1( int iterations, int len ) {
9898
double elapsed;
9999
float x[ len ];
100-
float v;
100+
double v;
101101
double t;
102102
int i;
103103

104104
for ( i = 0; i < len; i++ ) {
105105
x[ i ] = ( rand_float()*20000.0f ) - 10000.0f;
106106
}
107-
v = 0.0f;
107+
v = 0.0;
108108
t = tic();
109109
for ( i = 0; i < iterations; i++ ) {
110110
// cppcheck-suppress uninitvar
@@ -131,14 +131,14 @@ static double benchmark1( int iterations, int len ) {
131131
static double benchmark2( int iterations, int len ) {
132132
double elapsed;
133133
float x[ len ];
134-
float v;
134+
double v;
135135
double t;
136136
int i;
137137

138138
for ( i = 0; i < len; i++ ) {
139139
x[ i ] = ( rand_float()*20000.0f ) - 10000.0f;
140140
}
141-
v = 0.0f;
141+
v = 0.0;
142142
t = tic();
143143
for ( i = 0; i < iterations; i++ ) {
144144
// cppcheck-suppress uninitvar

0 commit comments

Comments
 (0)