diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/docs/types/test.ts b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/docs/types/test.ts index 4fd74484a6b8..5e0e7da8485c 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/docs/types/test.ts +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/docs/types/test.ts @@ -28,7 +28,7 @@ import gcusumkbn = require( './index' ); const y = new Float64Array( 10 ); gcusumkbn( x.length, 0.0, x, 1, y, 1 ); // $ExpectType Float64Array - gcusumkbn( x.length, 0.0, new AccessorArray( x ), 1, new AccessorArray( y ), 1 ); // $ExpectType AccessorArray + gcusumkbn( x.length, 0.0, new AccessorArray( x ), 1, new AccessorArray( y ), 1 ); // $ExpectType AccessorArray } // The compiler throws an error if the function is provided a first argument which is not a number... @@ -142,7 +142,7 @@ import gcusumkbn = require( './index' ); const y = new Float64Array( 10 ); gcusumkbn.ndarray( x.length, 0.0, x, 1, 0, y, 1, 0 ); // $ExpectType Float64Array - gcusumkbn.ndarray( x.length, 0.0, new AccessorArray( x ), 1, 0, new AccessorArray( y ), 1, 0 ); // $ExpectType AccessorArray + gcusumkbn.ndarray( x.length, 0.0, new AccessorArray( x ), 1, 0, new AccessorArray( y ), 1, 0 ); // $ExpectType AccessorArray } // The compiler throws an error if the `ndarray` method is provided a first argument which is not a number... diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/accessors.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/accessors.js index e5df6589da45..9a1711d0d78c 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/accessors.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/accessors.js @@ -55,10 +55,11 @@ var abs = require( '@stdlib/math/base/special/abs' ); * var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' ); * var arraylike2object = require( '@stdlib/array/base/arraylike2object' ); * -* var x = toAccessorArray( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] ); -* var y = toAccessorArray( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] ); +* var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ]; +* var y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]; * -* gcusumkbn( 4, 0.0, arraylike2object( x ), 2, 1, arraylike2object( y ), 1, 0 ); +* gcusumkbn( 4, 0.0, arraylike2object( toAccessorArray( x ) ), 2, 1, arraylike2object( toAccessorArray( y ) ), 1, 0 ); +* // y => [ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ] */ function gcusumkbn( N, sum, x, strideX, offsetX, y, strideY, offsetY ) { var xbuf; diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/ndarray.js index e685435af0ce..e564dfc3c0a4 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/lib/ndarray.js @@ -72,7 +72,8 @@ function gcusumkbn( N, sum, x, strideX, offsetX, y, strideY, offsetY ) { ox = arraylike2object( x ); oy = arraylike2object( y ); if ( ox.accessorProtocol || oy.accessorProtocol ) { - return accessors( N, sum, ox, strideX, offsetX, oy, strideY, offsetY ); + accessors( N, sum, ox, strideX, offsetX, oy, strideY, offsetY ); + return y; } ix = offsetX; iy = offsetY; diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.main.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.main.js index 637e53c8e985..c7b33a5906f6 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.main.js @@ -230,6 +230,20 @@ tape( 'the function returns a reference to the output array', function test( t ) t.end(); }); +tape( 'the function returns a reference to the output array (accessors)', function test( t ) { + var out; + var x; + var y; + + x = toAccessorArray( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] ); + y = toAccessorArray( [ 0.0, 0.0, 0.0, 0.0, 0.0 ] ); + + out = gcusumkbn( x.length, 0.0, x, 1, y, 1 ); + + t.strictEqual( out, y, 'same reference' ); + t.end(); +}); + tape( 'if provided an `N` parameter less than or equal to `0`, the function returns `y` unchanged', function test( t ) { var expected; var x; diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.ndarray.js index 570f5d7961eb..56314dcf6348 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn/test/test.ndarray.js @@ -227,6 +227,20 @@ tape( 'the function returns a reference to the output array', function test( t ) t.end(); }); +tape( 'the function returns a reference to the output array (accessors)', function test( t ) { + var out; + var x; + var y; + + x = toAccessorArray( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] ); + y = toAccessorArray( [ 0.0, 0.0, 0.0, 0.0, 0.0 ] ); + + out = gcusumkbn( x.length, 0.0, x, 1, 0, y, 1, 0 ); + + t.strictEqual( out, y, 'same reference' ); + t.end(); +}); + tape( 'if provided an `N` parameter less than or equal to `0`, the function returns `y` unchanged', function test( t ) { var expected; var x;