Skip to content

Commit de3ba9d

Browse files
committed
feat: add blas/ext/base/ndarray/gsumpw
1 parent e1c4435 commit de3ba9d

File tree

9 files changed

+49
-48
lines changed

9 files changed

+49
-48
lines changed

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/benchmark/benchmark.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pow = require( '@stdlib/math/base/special/pow' );
2727
var ndarray = require( '@stdlib/ndarray/base/ctor' );
2828
var pkg = require( './../package.json' ).name;
29-
var gsumors = require( './../lib' );
29+
var gsumpw = require( './../lib' );
3030

3131

3232
// VARIABLES //
@@ -60,7 +60,7 @@ function createBenchmark( len ) {
6060

6161
b.tic();
6262
for ( i = 0; i < b.iterations; i++ ) {
63-
v = gsumors( [ x ] );
63+
v = gsumpw( [ x ] );
6464
if ( isnan( v ) ) {
6565
b.fail( 'should not return NaN' );
6666
}

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/docs/repl.txt

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

22
{{alias}}( arrays )
3-
Computes the sum of all elements in a one-dimensional ndarray using ordinary
4-
recursive summation.
3+
Computes the sum of all elements in a one-dimensional ndarray using pairwise
4+
summation.
55

66
If provided an empty ndarray, the function returns `0.0`.
77

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/docs/types/index.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import { typedndarray } from '@stdlib/types/ndarray';
2424

2525
/**
26-
* Computes the sum of all elements in a one-dimensional ndarray using ordinary recursive summation.
26+
* Computes the sum of all elements in a one-dimensional ndarray using pairwise summation.
2727
*
2828
* @param arrays - array-like object containing an input ndarray
2929
* @returns sum
@@ -34,12 +34,12 @@ import { typedndarray } from '@stdlib/types/ndarray';
3434
* var xbuf = [ 1.0, 3.0, 4.0, 2.0 ];
3535
* var x = new ndarray( 'generic', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
3636
*
37-
* var v = gsumors( [ x ] );
37+
* var v = gsumpw( [ x ] );
3838
* // returns 10.0
3939
*/
40-
declare function gsumors<T extends typedndarray<number> = typedndarray<number>>( arrays: [ T ] ): number;
40+
declare function gsumpw<T extends typedndarray<number> = typedndarray<number>>( arrays: [ T ] ): number;
4141

4242

4343
// EXPORTS //
4444

45-
export = gsumors;
45+
export = gsumpw;

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/docs/types/test.ts

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

2121
import zeros = require( '@stdlib/ndarray/zeros' );
22-
import gsumors = require( './index' );
22+
import gsumpw = require( './index' );
2323

2424

2525
// TESTS //
@@ -30,20 +30,20 @@ import gsumors = require( './index' );
3030
'dtype': 'float64'
3131
});
3232

33-
gsumors( [ x ] ); // $ExpectType number
33+
gsumpw( [ x ] ); // $ExpectType number
3434
}
3535

3636
// The compiler throws an error if the function is provided a first argument which is not an array of ndarrays...
3737
{
38-
gsumors( '10' ); // $ExpectError
39-
gsumors( 10 ); // $ExpectError
40-
gsumors( true ); // $ExpectError
41-
gsumors( false ); // $ExpectError
42-
gsumors( null ); // $ExpectError
43-
gsumors( undefined ); // $ExpectError
44-
gsumors( [] ); // $ExpectError
45-
gsumors( {} ); // $ExpectError
46-
gsumors( ( x: number ): number => x ); // $ExpectError
38+
gsumpw( '10' ); // $ExpectError
39+
gsumpw( 10 ); // $ExpectError
40+
gsumpw( true ); // $ExpectError
41+
gsumpw( false ); // $ExpectError
42+
gsumpw( null ); // $ExpectError
43+
gsumpw( undefined ); // $ExpectError
44+
gsumpw( [] ); // $ExpectError
45+
gsumpw( {} ); // $ExpectError
46+
gsumpw( ( x: number ): number => x ); // $ExpectError
4747
}
4848

4949
// The compiler throws an error if the function is provided an unsupported number of arguments...
@@ -52,6 +52,6 @@ import gsumors = require( './index' );
5252
'dtype': 'float64'
5353
});
5454

55-
gsumors(); // $ExpectError
56-
gsumors( [ x ], {} ); // $ExpectError
55+
gsumpw(); // $ExpectError
56+
gsumpw( [ x ], {} ); // $ExpectError
5757
}

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/examples/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2222
var ndarray = require( '@stdlib/ndarray/base/ctor' );
2323
var ndarray2array = require( '@stdlib/ndarray/to-array' );
24-
var gsumors = require( './../lib' );
24+
var gsumpw = require( './../lib' );
2525

2626
var xbuf = discreteUniform( 10, -50, 50, {
2727
'dtype': 'generic'
2828
});
2929
var x = new ndarray( 'generic', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
3030
console.log( ndarray2array( x ) );
3131

32-
var v = gsumors( [ x ] );
32+
var v = gsumpw( [ x ] );
3333
console.log( v );

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/lib/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@
1919
'use strict';
2020

2121
/**
22-
* Compute the sum of all elements in a one-dimensional ndarray using ordinary recursive summation.
22+
* Compute the sum of all elements in a one-dimensional ndarray using pairwise summation.
2323
*
24-
* @module @stdlib/blas/ext/base/ndarray/gsumors
24+
* @module @stdlib/blas/ext/base/ndarray/gsumpw
2525
*
2626
* @example
2727
* var ndarray = require( '@stdlib/ndarray/base/ctor' );
28-
* var gsumors = require( '@stdlib/blas/ext/base/ndarray/gsumors' );
28+
* var gsumpw = require( '@stdlib/blas/ext/base/ndarray/gsumpw' );
2929
*
3030
* var xbuf = [ 1.0, 3.0, 4.0, 2.0 ];
3131
* var x = new ndarray( 'generic', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
3232
*
33-
* var v = gsumors( [ x ] );
33+
* var v = gsumpw( [ x ] );
3434
* // returns 10.0
3535
*/
3636

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/lib/main.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ 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/gsumors' ).ndarray;
27+
var strided = require( '@stdlib/blas/ext/base/gsumpw' ).ndarray;
2828

2929

3030
// MAIN //
3131

3232
/**
33-
* Computes the sum of all elements in a one-dimensional ndarray using ordinary recursive summation.
33+
* Computes the sum of all elements in a one-dimensional ndarray using pairwise summation.
3434
*
3535
* @param {ArrayLikeObject<Object>} arrays - array-like object containing an input ndarray
3636
* @returns {number} sum
@@ -41,15 +41,15 @@ var strided = require( '@stdlib/blas/ext/base/gsumors' ).ndarray;
4141
* var xbuf = [ 1.0, 3.0, 4.0, 2.0 ];
4242
* var x = new ndarray( 'generic', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
4343
*
44-
* var v = gsumors( [ x ] );
44+
* var v = gsumpw( [ x ] );
4545
* // returns 10.0
4646
*/
47-
function gsumors( arrays ) {
47+
function gsumpw( arrays ) {
4848
var x = arrays[ 0 ];
4949
return strided( numelDimension( x, 0 ), getData( x ), getStride( x, 0 ), getOffset( x ) ); // eslint-disable-line max-len
5050
}
5151

5252

5353
// EXPORTS //
5454

55-
module.exports = gsumors;
55+
module.exports = gsumpw;

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "@stdlib/blas/ext/base/ndarray/gsumors",
2+
"name": "@stdlib/blas/ext/base/ndarray/gsumpw",
33
"version": "0.0.0",
4-
"description": "Compute the sum of all elements in a one-dimensional ndarray using ordinary recursive summation.",
4+
"description": "Compute the sum of all elements in a one-dimensional ndarray using pairwise summation.",
55
"license": "Apache-2.0",
66
"author": {
77
"name": "The Stdlib Authors",
@@ -59,6 +59,7 @@
5959
"extended",
6060
"sum",
6161
"total",
62+
"pairwise",
6263
"summation",
6364
"ndarray"
6465
],

lib/node_modules/@stdlib/blas/ext/base/ndarray/gsumpw/test/test.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ var tape = require( 'tape' );
2424
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2525
var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' );
2626
var ndarray = require( '@stdlib/ndarray/base/ctor' );
27-
var gsumors = require( './../lib' );
27+
var gsumpw = require( './../lib' );
2828

2929

3030
// FUNCTIONS //
@@ -48,37 +48,37 @@ function vector( buffer, length, stride, offset ) {
4848

4949
tape( 'main export is a function', function test( t ) {
5050
t.ok( true, __filename );
51-
t.strictEqual( typeof gsumors, 'function', 'main export is a function' );
51+
t.strictEqual( typeof gsumpw, 'function', 'main export is a function' );
5252
t.end();
5353
});
5454

5555
tape( 'the function has an arity of 1', function test( t ) {
56-
t.strictEqual( gsumors.length, 1, 'has expected arity' );
56+
t.strictEqual( gsumpw.length, 1, 'has expected arity' );
5757
t.end();
5858
});
5959

60-
tape( 'the function computes the sum of all elements in a one-dimensional ndarray using ordinary recursive summation', function test( t ) {
60+
tape( 'the function computes the sum of all elements in a one-dimensional ndarray using pairwise summation.', function test( t ) {
6161
var x;
6262
var v;
6363

6464
x = [ 1.0, -2.0, -4.0, 5.0, 0.0, 3.0 ];
65-
v = gsumors( [ vector( x, 6, 1, 0 ) ] );
65+
v = gsumpw( [ vector( x, 6, 1, 0 ) ] );
6666
t.strictEqual( v, 3.0, 'returns expected value' );
6767

6868
x = [ -4.0, -5.0 ];
69-
v = gsumors( [ vector( x, 2, 1, 0 ) ] );
69+
v = gsumpw( [ vector( x, 2, 1, 0 ) ] );
7070
t.strictEqual( v, -9.0, 'returns expected value' );
7171

7272
x = [ -0.0, 0.0, -0.0 ];
73-
v = gsumors( [ vector( x, 3, 1, 0 ) ] );
73+
v = gsumpw( [ vector( x, 3, 1, 0 ) ] );
7474
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
7575

7676
x = [ NaN ];
77-
v = gsumors( [ vector( x, 1, 1, 0 ) ] );
77+
v = gsumpw( [ vector( x, 1, 1, 0 ) ] );
7878
t.strictEqual( isnan( v ), true, 'returns expected value' );
7979

8080
x = [ NaN, NaN ];
81-
v = gsumors( [ vector( x, 2, 1, 0 ) ] );
81+
v = gsumpw( [ vector( x, 2, 1, 0 ) ] );
8282
t.strictEqual( isnan( v ), true, 'returns expected value' );
8383

8484
t.end();
@@ -90,7 +90,7 @@ tape( 'if provided an empty ndarray, the function returns `0.0`', function test(
9090

9191
x = [];
9292

93-
v = gsumors( [ vector( x, 0, 1, 0 ) ] );
93+
v = gsumpw( [ vector( x, 0, 1, 0 ) ] );
9494
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
9595

9696
t.end();
@@ -102,7 +102,7 @@ tape( 'if provided a ndarray containing a single element, the function returns t
102102

103103
x = [ 1.0 ];
104104

105-
v = gsumors( [ vector( x, 1, 1, 0 ) ] );
105+
v = gsumpw( [ vector( x, 1, 1, 0 ) ] );
106106
t.strictEqual( v, 1.0, 'returns expected value' );
107107

108108
t.end();
@@ -123,7 +123,7 @@ tape( 'the function supports one-dimensional ndarrays having non-unit strides',
123123
2.0
124124
];
125125

126-
v = gsumors( [ vector( x, 4, 2, 0 ) ] );
126+
v = gsumpw( [ vector( x, 4, 2, 0 ) ] );
127127

128128
t.strictEqual( v, 5.0, 'returns expected value' );
129129
t.end();
@@ -144,7 +144,7 @@ tape( 'the function supports one-dimensional ndarrays having negative strides',
144144
2.0
145145
];
146146

147-
v = gsumors( [ vector( x, 4, -2, 6 ) ] );
147+
v = gsumpw( [ vector( x, 4, -2, 6 ) ] );
148148

149149
t.strictEqual( v, 5.0, 'returns expected value' );
150150
t.end();
@@ -165,7 +165,7 @@ tape( 'the function supports one-dimensional ndarrays having non-zero offsets',
165165
4.0 // 3
166166
];
167167

168-
v = gsumors( [ vector( x, 4, 2, 1 ) ] );
168+
v = gsumpw( [ vector( x, 4, 2, 1 ) ] );
169169
t.strictEqual( v, 5.0, 'returns expected value' );
170170

171171
t.end();

0 commit comments

Comments
 (0)