Skip to content

Commit 4a709fb

Browse files
committed
feat: add blas/ext/base/ndarray/snansumors
1 parent 27e9be8 commit 4a709fb

10 files changed

Lines changed: 106 additions & 110 deletions

File tree

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/README.md renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ limitations under the License.
1818
1919
-->
2020

21-
# dnansumors
21+
# snansumors
2222

23-
> Compute the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
23+
> Compute the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
2424
2525
<section class="intro">
2626

@@ -33,21 +33,21 @@ limitations under the License.
3333
## Usage
3434

3535
```javascript
36-
var dnansumors = require( '@stdlib/blas/ext/base/ndarray/dnansumors' );
36+
var snansumors = require( '@stdlib/blas/ext/base/ndarray/snansumors' );
3737
```
3838

39-
#### dnansumors( arrays )
39+
#### snansumors( arrays )
4040

41-
Computes the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
41+
Computes the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
4242

4343
```javascript
44-
var Float64Array = require( '@stdlib/array/float64' );
44+
var Float32Array = require( '@stdlib/array/float32' );
4545
var ndarray = require( '@stdlib/ndarray/base/ctor' );
4646

47-
var xbuf = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
48-
var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
47+
var xbuf = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
48+
var x = new ndarray( 'float32', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
4949

50-
var v = dnansumors( [ x ] );
50+
var v = snansumors( [ x ] );
5151
// returns 1.0
5252
```
5353

@@ -82,7 +82,7 @@ var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
8282
var filledarrayBy = require( '@stdlib/array/filled-by' );
8383
var ndarray = require( '@stdlib/ndarray/base/ctor' );
8484
var ndarray2array = require( '@stdlib/ndarray/to-array' );
85-
var dnansumors = require( '@stdlib/blas/ext/base/ndarray/dnansumors' );
85+
var snansumors = require( '@stdlib/blas/ext/base/ndarray/snansumors' );
8686

8787
function clbk() {
8888
if ( bernoulli( 0.7 ) > 0 ) {
@@ -91,11 +91,11 @@ function clbk() {
9191
return NaN;
9292
}
9393

94-
var xbuf = filledarrayBy( 10, 'float64', clbk );
95-
var x = new ndarray( 'float64', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
94+
var xbuf = filledarrayBy( 10, 'float32', clbk );
95+
var x = new ndarray( 'float32', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
9696
console.log( ndarray2array( x ) );
9797

98-
var v = dnansumors( [ x ] );
98+
var v = snansumors( [ x ] );
9999
console.log( v );
100100
```
101101

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/benchmark/benchmark.js renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/benchmark/benchmark.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,16 @@ var bench = require( '@stdlib/bench' );
2424
var uniform = require( '@stdlib/random/base/uniform' );
2525
var bernoulli = require( '@stdlib/random/base/bernoulli' );
2626
var filledarrayBy = require( '@stdlib/array/filled-by' );
27-
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2828
var pow = require( '@stdlib/math/base/special/pow' );
2929
var ndarray = require( '@stdlib/ndarray/base/ctor' );
3030
var pkg = require( './../package.json' ).name;
31-
var dnansumors = require( './../lib' );
32-
31+
var snansumors = require( './../lib' );
3332

3433
// VARIABLES //
3534

3635
var options = {
37-
'dtype': 'float64'
36+
'dtype': 'float32'
3837
};
3938

4039

@@ -75,13 +74,13 @@ function createBenchmark( len ) {
7574

7675
b.tic();
7776
for ( i = 0; i < b.iterations; i++ ) {
78-
v = dnansumors( [ x ] );
79-
if ( isnan( v ) ) {
77+
v = snansumors( [ x ] );
78+
if ( isnanf( v ) ) {
8079
b.fail( 'should not return NaN' );
8180
}
8281
}
8382
b.toc();
84-
if ( isnan( v ) ) {
83+
if ( isnanf( v ) ) {
8584
b.fail( 'should not return NaN' );
8685
}
8786
b.pass( 'benchmark finished' );

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/docs/repl.txt renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/docs/repl.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
{{alias}}( arrays )
3-
Computes the sum of a one-dimensional double-precision floating-point
3+
Computes the sum of a one-dimensional single-precision floating-point
44
ndarray, ignoring `NaN` values and using ordinary recursive summation.
55

66
If provided an empty ndarray, the function returns `0.0`.
@@ -17,8 +17,8 @@
1717

1818
Examples
1919
--------
20-
> var xbuf = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, NaN, 2.0 ] );
21-
> var dt = 'float64';
20+
> var xbuf = new {{alias:@stdlib/array/float32}}( [ 1.0, -2.0, NaN, 2.0 ] );
21+
> var dt = 'float32';
2222
> var sh = [ xbuf.length ];
2323
> var sx = [ 1 ];
2424
> var ox = 0;

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/docs/types/index.d.ts renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/docs/types/index.d.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,27 @@
2020

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

23-
import { float64ndarray } from '@stdlib/types/ndarray';
23+
import { float32ndarray } from '@stdlib/types/ndarray';
2424

2525
/**
26-
* Computes the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
26+
* Computes the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
2727
*
2828
* @param arrays - array-like object containing an input ndarray
2929
* @returns sum
3030
*
3131
* @example
32-
* var Float64Array = require( '@stdlib/array/float64' );
32+
* var Float32Array = require( '@stdlib/array/float32' );
3333
* var ndarray = require( '@stdlib/ndarray/base/ctor' );
3434
*
35-
* var xbuf = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
36-
* var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
35+
* var xbuf = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
36+
* var x = new ndarray( 'float32', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
3737
*
38-
* var v = dnansumors( [ x ] );
38+
* var v = snansumors( [ x ] );
3939
* // returns 1.0
4040
*/
41-
declare function dnansumors( arrays: [ float64ndarray ] ): number;
41+
declare function snansumors( arrays: [ float32ndarray ] ): number;
4242

4343

4444
// EXPORTS //
4545

46-
export = dnansumors;
46+
export = snansumors;

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/docs/types/test.ts renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/docs/types/test.ts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,39 +19,38 @@
1919
/* eslint-disable space-in-parens */
2020

2121
import zeros = require( '@stdlib/ndarray/zeros' );
22-
import dnansumors = require( './index' );
23-
22+
import snansumors = require( './index' );
2423

2524
// TESTS //
2625

2726
// The function returns a number...
2827
{
2928
const x = zeros( [ 10 ], {
30-
'dtype': 'float64'
29+
'dtype': 'float32'
3130
});
3231

33-
dnansumors( [ x ] ); // $ExpectType number
32+
snansumors( [ x ] ); // $ExpectType number
3433
}
3534

3635
// The compiler throws an error if the function is provided a first argument which is not an array of ndarrays...
3736
{
38-
dnansumors( '10' ); // $ExpectError
39-
dnansumors( 10 ); // $ExpectError
40-
dnansumors( true ); // $ExpectError
41-
dnansumors( false ); // $ExpectError
42-
dnansumors( null ); // $ExpectError
43-
dnansumors( undefined ); // $ExpectError
44-
dnansumors( [] ); // $ExpectError
45-
dnansumors( {} ); // $ExpectError
46-
dnansumors( ( x: number ): number => x ); // $ExpectError
37+
snansumors( '10' ); // $ExpectError
38+
snansumors( 10 ); // $ExpectError
39+
snansumors( true ); // $ExpectError
40+
snansumors( false ); // $ExpectError
41+
snansumors( null ); // $ExpectError
42+
snansumors( undefined ); // $ExpectError
43+
snansumors( [] ); // $ExpectError
44+
snansumors( {} ); // $ExpectError
45+
snansumors( ( x: number ): number => x ); // $ExpectError
4746
}
4847

4948
// The compiler throws an error if the function is provided an unsupported number of arguments...
5049
{
5150
const x = zeros( [ 10 ], {
52-
'dtype': 'float64'
51+
'dtype': 'float32'
5352
});
5453

55-
dnansumors(); // $ExpectError
56-
dnansumors( [ x ], {} ); // $ExpectError
54+
snansumors(); // $ExpectError
55+
snansumors( [ x ], {} ); // $ExpectError
5756
}

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/examples/index.js renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/examples/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
2323
var filledarrayBy = require( '@stdlib/array/filled-by' );
2424
var ndarray = require( '@stdlib/ndarray/base/ctor' );
2525
var ndarray2array = require( '@stdlib/ndarray/to-array' );
26-
var dnansumors = require( './../lib' );
26+
var snansumors = require( './../lib' );
2727

2828
function clbk() {
2929
if ( bernoulli( 0.7 ) > 0 ) {
@@ -32,9 +32,9 @@ function clbk() {
3232
return NaN;
3333
}
3434

35-
var xbuf = filledarrayBy( 10, 'float64', clbk );
36-
var x = new ndarray( 'float64', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
35+
var xbuf = filledarrayBy( 10, 'float32', clbk );
36+
var x = new ndarray( 'float32', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
3737
console.log( ndarray2array( x ) );
3838

39-
var v = dnansumors( [ x ] );
39+
var v = snansumors( [ x ] );
4040
console.log( v );

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/lib/index.js renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/lib/index.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,26 @@
1919
'use strict';
2020

2121
/**
22-
* Compute the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
22+
* Compute the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
2323
*
24-
* @module @stdlib/blas/ext/base/ndarray/dnansumors
24+
* @module @stdlib/blas/ext/base/ndarray/snansumors
2525
*
2626
* @example
27-
* var Float64Array = require( '@stdlib/array/float64' );
27+
* var Float32Array = require( '@stdlib/array/float32' );
2828
* var ndarray = require( '@stdlib/ndarray/base/ctor' );
29-
* var dnansumors = require( '@stdlib/blas/ext/base/ndarray/dnansumors' );
29+
* var snansumors = require( '@stdlib/blas/ext/base/ndarray/snansumors' );
3030
*
31-
* var xbuf = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
32-
* var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
31+
* var xbuf = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
32+
* var x = new ndarray( 'float32', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
3333
*
34-
* var v = dnansumors( [ x ] );
34+
* var v = snansumors( [ x ] );
3535
* // returns 1.0
3636
*/
3737

3838
// MODULES //
3939

4040
var main = require( './main.js' );
4141

42-
4342
// EXPORTS //
4443

4544
module.exports = main;

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/lib/main.js renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/lib/main.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,33 @@ var numelDimension = require( '@stdlib/ndarray/base/numel-dimension' );
2424
var getStride = require( '@stdlib/ndarray/base/stride' );
2525
var getOffset = require( '@stdlib/ndarray/base/offset' );
2626
var getData = require( '@stdlib/ndarray/base/data-buffer' );
27-
var strided = require( '@stdlib/blas/ext/base/dnansumors' ).ndarray;
27+
var strided = require( '@stdlib/blas/ext/base/snansumors' ).ndarray;
2828

2929

3030
// MAIN //
3131

3232
/**
33-
* Computes the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
33+
* Computes the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.
3434
*
3535
* @param {ArrayLikeObject<Object>} arrays - array-like object containing an input ndarray
3636
* @returns {number} sum
3737
*
3838
* @example
39-
* var Float64Array = require( '@stdlib/array/float64' );
39+
* var Float32Array = require( '@stdlib/array/float32' );
4040
* var ndarray = require( '@stdlib/ndarray/base/ctor' );
4141
*
42-
* var xbuf = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
43-
* var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
42+
* var xbuf = new Float32Array( [ 1.0, -2.0, NaN, 2.0 ] );
43+
* var x = new ndarray( 'float32', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
4444
*
45-
* var v = dnansumors( [ x ] );
45+
* var v = snansumors( [ x ] );
4646
* // returns 1.0
4747
*/
48-
function dnansumors( arrays ) {
48+
function snansumors( arrays ) {
4949
var x = arrays[ 0 ];
5050
return strided( numelDimension( x, 0 ), getData( x ), getStride( x, 0 ), getOffset( x ) ); // eslint-disable-line max-len
5151
}
5252

5353

5454
// EXPORTS //
5555

56-
module.exports = dnansumors;
56+
module.exports = snansumors;

lib/node_modules/@stdlib/blas/ext/base/ndarray/dnansumors/package.json renamed to lib/node_modules/@stdlib/blas/ext/base/ndarray/snansumors/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "@stdlib/blas/ext/base/ndarray/dnansumors",
2+
"name": "@stdlib/blas/ext/base/ndarray/snansumors",
33
"version": "0.0.0",
4-
"description": "Compute the sum of a one-dimensional double-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.",
4+
"description": "Compute the sum of a one-dimensional single-precision floating-point ndarray, ignoring `NaN` values and using ordinary recursive summation.",
55
"license": "Apache-2.0",
66
"author": {
77
"name": "The Stdlib Authors",
@@ -64,9 +64,9 @@
6464
"ordinary",
6565
"recursive",
6666
"ndarray",
67-
"float64",
68-
"double",
69-
"float64array"
67+
"float32",
68+
"single",
69+
"float32array"
7070
],
7171
"__stdlib__": {}
7272
}

0 commit comments

Comments
 (0)