From f53046767669257f98a14b5312b7ae9b4b43dea8 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 13:17:12 +0000 Subject: [PATCH 01/11] refactor: update to follow current project conventions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../blas/ext/base/gcusumkbn2/README.md | 41 ++++--------- .../base/gcusumkbn2/benchmark/benchmark.js | 22 +++---- .../gcusumkbn2/benchmark/benchmark.ndarray.js | 22 +++---- .../blas/ext/base/gcusumkbn2/docs/repl.txt | 28 +++++---- .../ext/base/gcusumkbn2/docs/types/index.d.ts | 12 ++-- .../ext/base/gcusumkbn2/examples/index.js | 16 ++--- .../blas/ext/base/gcusumkbn2/lib/index.js | 4 +- .../blas/ext/base/gcusumkbn2/lib/main.js | 58 +++---------------- .../blas/ext/base/gcusumkbn2/lib/ndarray.js | 9 +-- 9 files changed, 69 insertions(+), 143 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md index 7a662798cd91..3b631100bd21 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md @@ -59,21 +59,17 @@ The function has the following parameters: - **N**: number of indexed elements. - **sum**: initial sum. - **x**: input [`Array`][mdn-array] or [`typed array`][mdn-typed-array]. -- **strideX**: index increment for `x`. +- **strideX**: stride length for `x`. - **y**: output [`Array`][mdn-array] or [`typed array`][mdn-typed-array]. -- **strideY**: index increment for `y`. +- **strideY**: stride length for `y`. -The `N` and `stride` parameters determine which elements in `x` and `y` are accessed at runtime. For example, to compute the cumulative sum of every other element in `x`, +The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the cumulative sum of every other element in the strided input array: ```javascript -var floor = require( '@stdlib/math/base/special/floor' ); - var x = [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0 ]; var y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]; -var N = floor( x.length / 2 ); - -var v = gcusumkbn2( N, 0.0, x, 2, y, 1 ); +var v = gcusumkbn2( 4, 0.0, x, 2, y, 1 ); // y => [ 1.0, 3.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ] ``` @@ -83,7 +79,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [ ```javascript var Float64Array = require( '@stdlib/array/float64' ); -var floor = require( '@stdlib/math/base/special/floor' ); // Initial arrays... var x0 = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] ); @@ -93,9 +88,7 @@ var y0 = new Float64Array( x0.length ); var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element var y1 = new Float64Array( y0.buffer, y0.BYTES_PER_ELEMENT*3 ); // start at 4th element -var N = floor( x0.length / 2 ); - -gcusumkbn2( N, 0.0, x1, -2, y1, 1 ); +gcusumkbn2( 4, 0.0, x1, -2, y1, 1 ); // y0 => [ 0.0, 0.0, 0.0, 4.0, 6.0, 4.0, 5.0, 0.0 ] ``` @@ -116,17 +109,13 @@ The function has the following additional parameters: - **offsetX**: starting index for `x`. - **offsetY**: starting index for `y`. -While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, `offsetX` and `offsetY` parameters support indexing semantics based on a starting indices. For example, to calculate the cumulative sum of every other value in `x` starting from the second value and to store in the last `N` elements of `y` starting from the last element +While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, offsetX and offsetY parameters support indexing semantics based on starting indices. For example, to calculate the cumulative sum of every other element in the strided input array starting from the second element and to store in the last `N` elements of the strided output array starting from the last element: ```javascript -var floor = require( '@stdlib/math/base/special/floor' ); - 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 ]; -var N = floor( x.length / 2 ); - -gcusumkbn2.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 ); +gcusumkbn2.ndarray( 4, 0.0, x, 2, 1, y, -1, y.length-1 ); // y => [ 0.0, 0.0, 0.0, 0.0, 5.0, 1.0, -1.0, 1.0 ] ``` @@ -152,20 +141,14 @@ gcusumkbn2.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 ); ```javascript -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusumkbn2 = require( '@stdlib/blas/ext/base/gcusumkbn2' ); -var y; -var x; -var i; - -x = new Float64Array( 10 ); -y = new Float64Array( x.length ); -for ( i = 0; i < x.length; i++ ) { - x[ i ] = round( randu()*100.0 ); -} +var x = discreteUniform( 10.0, -100, 100, { + 'dtype': 'float64' +}); +var y = new Float64Array( x.length ); console.log( x ); console.log( y ); diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js index f2df7232bb92..234a4face6a5 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js @@ -21,14 +21,22 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var gfill = require( '@stdlib/blas/ext/base/gfill' ); +var Float64Array = require( '@stdlib/array/float64' ); var pkg = require( './../package.json' ).name; var gcusumkbn2 = require( './../lib/main.js' ); +// VARIABLES // + +var options = { + 'dtype': 'float64' +}; + + // FUNCTIONS // /** @@ -39,16 +47,8 @@ var gcusumkbn2 = require( './../lib/main.js' ); * @returns {Function} benchmark function */ function createBenchmark( len ) { - var y; - var x; - var i; - - x = []; - y = []; - for ( i = 0; i < len; i++ ) { - x.push( ( randu()*20.0 ) - 10.0 ); - y.push( 0.0 ); - } + var x = uniform( len, -100, 100, options ); + var y = new Float64Array( len ); return benchmark; function benchmark( b ) { diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js index b1d8df7fedfa..f867ff9ba3d7 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js @@ -21,14 +21,22 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var gfill = require( '@stdlib/blas/ext/base/gfill' ); +var Float64Array = require( '@stdlib/array/float64' ); var pkg = require( './../package.json' ).name; var gcusumkbn2 = require( './../lib/ndarray.js' ); +// VARIABLES // + +var options = { + 'dtype': 'float64' +}; + + // FUNCTIONS // /** @@ -39,16 +47,8 @@ var gcusumkbn2 = require( './../lib/ndarray.js' ); * @returns {Function} benchmark function */ function createBenchmark( len ) { - var x; - var y; - var i; - - x = []; - y = []; - for ( i = 0; i < len; i++ ) { - x.push( ( randu()*20.0 ) - 10.0 ); - y.push( 0.0 ); - } + var x = uniform( len, -100, 100, options ); + var y = new Float64Array( len ); return benchmark; function benchmark( b ) { diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt index cb80f70df98a..d60dc4d43d60 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt @@ -3,8 +3,8 @@ Computes the cumulative sum of strided array elements using a second-order iterative Kahan–Babuška algorithm. - The `N` and `stride` parameters determine which elements in `x` and `y` are - accessed at runtime. + The `N` and stride parameters determine which elements in the strided + arrays are accessed at runtime. Indexing is relative to the first index. To introduce an offset, use a typed array view. @@ -23,13 +23,13 @@ Input array. strideX: integer - Index increment for `x`. + Stride length for `x`. y: Array|TypedArray Output array. strideY: integer - Index increment for `y`. + Stride length for `y`. Returns ------- @@ -44,11 +44,10 @@ > {{alias}}( x.length, 0.0, x, 1, y, 1 ) [ 1.0, -1.0, 1.0 ] - // Using `N` and `stride` parameters: + // Using `N` and stride parameters: > x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ]; > y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]; - > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); - > {{alias}}( N, 0.0, x, 2, y, 2 ) + > {{alias}}( 3, 0.0, x, 2, y, 2 ) [ -2.0, 0.0, -1.0, 0.0, 1.0, 0.0 ] // Using view offsets: @@ -56,19 +55,19 @@ > var y0 = new {{alias:@stdlib/array/float64}}( x0.length ); > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*3 ); - > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); - > {{alias}}( N, 0.0, x1, 2, y1, 1 ) + > {{alias}}( 3, 0.0, x1, 2, y1, 1 ) [ -2.0, 0.0, -1.0 ] > y0 [ 0.0, 0.0, 0.0, -2.0, 0.0, -1.0 ] + {{alias}}.ndarray( N, sum, x, strideX, offsetX, y, strideY, offsetY ) Computes the cumulative sum of strided array elements using a second-order iterative Kahan–Babuška algorithm and alternative indexing semantics. While typed array views mandate a view offset based on the underlying - buffer, the `offset` parameter supports indexing semantics based on a - starting index. + buffer, the offset parameter supports indexing semantics based on starting + indices. Parameters ---------- @@ -82,7 +81,7 @@ Input array. strideX: integer - Index increment for `x`. + Stride length for `x`. offsetX: integer Starting index for `x`. @@ -91,7 +90,7 @@ Output array. strideY: integer - Index increment for `y`. + Stride length for `y`. offsetY: integer Starting index for `y`. @@ -112,8 +111,7 @@ // Advanced indexing: > x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ]; > y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]; - > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); - > {{alias}}.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 ) + > {{alias}}.ndarray( 3, 0.0, x, 2, 1, y, -1, y.length-1 ) [ 0.0, 0.0, 0.0, -1.0, 0.0, -2.0 ] See Also diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/types/index.d.ts b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/types/index.d.ts index 773d9f71b0f0..d295706b2420 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/types/index.d.ts @@ -32,9 +32,9 @@ interface Routine { * @param N - number of indexed elements * @param sum - initial sum * @param x - input array - * @param strideX - `x` stride length + * @param strideX - stride length for `x` * @param y - output array - * @param strideY - `y` stride length + * @param strideY - stride length for `y` * @returns output array * * @example @@ -52,10 +52,10 @@ interface Routine { * @param N - number of indexed elements * @param sum - initial sum * @param x - input array - * @param strideX - `x` stride length + * @param strideX - stride length for `x` * @param offsetX - starting index for `x` * @param y - output array - * @param strideY - `y` stride length + * @param strideY - stride length for `y` * @param offsetY - starting index for `y` * @returns output array * @@ -75,9 +75,9 @@ interface Routine { * @param N - number of indexed elements * @param sum - initial sum * @param x - input array -* @param strideX - `x` stride length +* @param strideX - stride length for `x` * @param y - output array -* @param strideY - `y` stride length +* @param strideY - stride length for `y` * @returns output array * * @example diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js index cd0693af2302..74d708a3361e 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js @@ -18,20 +18,14 @@ 'use strict'; -var randu = require( '@stdlib/random/base/randu' ); -var round = require( '@stdlib/math/base/special/round' ); +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusumkbn2 = require( './../lib' ); -var y; -var x; -var i; - -x = new Float64Array( 10 ); -y = new Float64Array( x.length ); -for ( i = 0; i < x.length; i++ ) { - x[ i ] = round( randu()*100.0 ); -} +var x = discreteUniform( 10.0, -100, 100, { + 'dtype': 'float64' +}); +var y = new Float64Array( x.length ); console.log( x ); console.log( y ); diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/index.js index 8c841ac321b8..d7bb8be5eb8a 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/index.js @@ -33,14 +33,12 @@ * // y => [ 1.0, -1.0, 1.0 ] * * @example -* var floor = require( '@stdlib/math/base/special/floor' ); * var gcusumkbn2 = require( '@stdlib/blas/ext/base/gcusumkbn2' ); * * 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 ]; -* var N = floor( x.length / 2 ); * -* gcusumkbn2.ndarray( N, 0.0, x, 2, 1, y, 1, 0 ); +* gcusumkbn2.ndarray( 4, 0.0, x, 2, 1, y, 1, 0 ); * // y => [ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ] */ diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/main.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/main.js index e2ef6a26c249..2ba2615da8f8 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/main.js @@ -20,7 +20,8 @@ // MODULES // -var abs = require( '@stdlib/math/base/special/abs' ); +var stride2offset = require( '@stdlib/strided/base/stride2offset' ); +var ndarray = require( './ndarray.js' ); // MAIN // @@ -39,9 +40,9 @@ var abs = require( '@stdlib/math/base/special/abs' ); * @param {PositiveInteger} N - number of indexed elements * @param {number} sum - initial sum * @param {NumericArray} x - input array -* @param {integer} strideX - `x` stride length +* @param {integer} strideX - stride length for `x` * @param {NumericArray} y - output array -* @param {integer} strideY - `y` stride length +* @param {integer} strideY - stride length for `y` * @returns {NumericArray} output array * * @example @@ -52,54 +53,9 @@ var abs = require( '@stdlib/math/base/special/abs' ); * // returns [ 1.0, -1.0, 1.0 ] */ function gcusumkbn2( N, sum, x, strideX, y, strideY ) { - var ccs; - var ix; - var iy; - var cs; - var cc; - var v; - var t; - var c; - var i; - - if ( N <= 0 ) { - return y; - } - if ( strideX < 0 ) { - ix = (1-N) * strideX; - } else { - ix = 0; - } - if ( strideY < 0 ) { - iy = (1-N) * strideY; - } else { - iy = 0; - } - ccs = 0.0; // second order correction term for lost low order bits - cs = 0.0; // first order correction term for lost low order bits - for ( i = 0; i < N; i++ ) { - v = x[ ix ]; - t = sum + v; - if ( abs( sum ) >= abs( v ) ) { - c = (sum-t) + v; - } else { - c = (v-t) + sum; - } - sum = t; - t = cs + c; - if ( abs( cs ) >= abs( c ) ) { - cc = (cs-t) + c; - } else { - cc = (c-t) + cs; - } - cs = t; - ccs += cc; - - y[ iy ] = sum + cs + ccs; - ix += strideX; - iy += strideY; - } - return y; + var ox = stride2offset( N, strideX ); + var oy = stride2offset( N, strideY ); + return ndarray( N, sum, x, strideX, ox, y, strideY, oy ); } diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/ndarray.js index d027b1a83ac2..762d2127c58b 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/lib/ndarray.js @@ -39,21 +39,18 @@ var abs = require( '@stdlib/math/base/special/abs' ); * @param {PositiveInteger} N - number of indexed elements * @param {number} sum - initial sum * @param {NumericArray} x - input array -* @param {integer} strideX - `x` stride length +* @param {integer} strideX - stride length for `x` * @param {NonNegativeInteger} offsetX - starting index for `x` * @param {NumericArray} y - output array -* @param {integer} strideY - `y` stride length +* @param {integer} strideY - stride length for `y` * @param {NonNegativeInteger} offsetY - starting index for `y` * @returns {NumericArray} output array * * @example -* var floor = require( '@stdlib/math/base/special/floor' ); -* * 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 ]; -* var N = floor( x.length / 2 ); * -* gcusumkbn2( N, 0.0, x, 2, 1, y, 1, 0 ); +* gcusumkbn2( 4, 0.0, x, 2, 1, y, 1, 0 ); * // y => [ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ] */ function gcusumkbn2( N, sum, x, strideX, offsetX, y, strideY, offsetY ) { From 9c745069fb8b23da7beceedf8cb08eebff7fba35 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 14:32:58 +0000 Subject: [PATCH 02/11] docs: apply code review suggestion --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md index 3b631100bd21..821c9f4d3837 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md @@ -63,7 +63,7 @@ The function has the following parameters: - **y**: output [`Array`][mdn-array] or [`typed array`][mdn-typed-array]. - **strideY**: stride length for `y`. -The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the cumulative sum of every other element in the strided input array: +The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the cumulative sum of every other element: ```javascript var x = [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0 ]; From 7d2796e1396d98bb8c5e5d5db2f3ee98615be3a9 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 15:49:38 +0000 Subject: [PATCH 03/11] docs: apply code review suggestion --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt index d60dc4d43d60..633240517336 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt @@ -3,8 +3,8 @@ Computes the cumulative sum of strided array elements using a second-order iterative Kahan–Babuška algorithm. - The `N` and stride parameters determine which elements in the strided - arrays are accessed at runtime. + The `N` and stride parameters determine which elements in the strided arrays + are accessed at runtime. Indexing is relative to the first index. To introduce an offset, use a typed array view. From 842064ab83e1c07dcf0b2d20dc5e789c43459d47 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:04:22 +0500 Subject: [PATCH 04/11] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md index 821c9f4d3837..f2b2acd7e309 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md @@ -109,7 +109,7 @@ The function has the following additional parameters: - **offsetX**: starting index for `x`. - **offsetY**: starting index for `y`. -While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, offsetX and offsetY parameters support indexing semantics based on starting indices. For example, to calculate the cumulative sum of every other element in the strided input array starting from the second element and to store in the last `N` elements of the strided output array starting from the last element: +While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, offset parameters support indexing semantics based on starting indices. For example, to calculate the cumulative sum of every other element in the strided input array starting from the second element and to store in the last `N` elements of the strided output array starting from the last element: ```javascript var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ]; From 402865d4a2d2e433501c2a8504c768927238aab4 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:04:31 +0500 Subject: [PATCH 05/11] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md index f2b2acd7e309..d91a5a5af5e2 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/README.md @@ -145,7 +145,7 @@ var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusumkbn2 = require( '@stdlib/blas/ext/base/gcusumkbn2' ); -var x = discreteUniform( 10.0, -100, 100, { +var x = discreteUniform( 10, -100, 100, { 'dtype': 'float64' }); var y = new Float64Array( x.length ); From fa568859557f831b5ec1af5ee00c0099be0b84aa Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:04:39 +0500 Subject: [PATCH 06/11] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt index 633240517336..a9d832aa5fa0 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt @@ -66,7 +66,7 @@ iterative Kahan–Babuška algorithm and alternative indexing semantics. While typed array views mandate a view offset based on the underlying - buffer, the offset parameter supports indexing semantics based on starting + buffer, the offset parameters support indexing semantics based on starting indices. Parameters From f04b83294bc97377b653ee1c4608b4f44b3c84e9 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:04:55 +0500 Subject: [PATCH 07/11] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../@stdlib/blas/ext/base/gcusumkbn2/examples/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js index 74d708a3361e..96a82104dc63 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/examples/index.js @@ -22,7 +22,7 @@ var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusumkbn2 = require( './../lib' ); -var x = discreteUniform( 10.0, -100, 100, { +var x = discreteUniform( 10, -100, 100, { 'dtype': 'float64' }); var y = new Float64Array( x.length ); From 83e6cb799187b1c0a9d840f3a85567e841708eca Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 07:15:02 +0000 Subject: [PATCH 08/11] fix: apply review suggestion --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt index a9d832aa5fa0..2b273b222e27 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/docs/repl.txt @@ -106,13 +106,13 @@ > var x = [ 1.0, -2.0, 2.0 ]; > var y = [ 0.0, 0.0, 0.0 ]; > {{alias}}.ndarray( x.length, 0.0, x, 1, 0, y, 1, 0 ) - [ 1.0, -1.0, 1.0 ] + [ 1.0, -1.0, 1.0 ] // Advanced indexing: > x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ]; > y = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]; > {{alias}}.ndarray( 3, 0.0, x, 2, 1, y, -1, y.length-1 ) - [ 0.0, 0.0, 0.0, -1.0, 0.0, -2.0 ] + [ 0.0, 0.0, 0.0, -1.0, 0.0, -2.0 ] See Also -------- From d6120d43ce9f0eb595843b874d29d40d4fb4eaac Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:55:08 +0500 Subject: [PATCH 09/11] Update lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js index 234a4face6a5..9ed0f0ae93e4 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js @@ -33,7 +33,7 @@ var gcusumkbn2 = require( './../lib/main.js' ); // VARIABLES // var options = { - 'dtype': 'float64' + 'dtype': 'generic' }; From b2ca054c80771fda8b3453f01956f1c0c5f124de Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:55:18 +0500 Subject: [PATCH 10/11] Update lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js index f867ff9ba3d7..e342dfa681a1 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js @@ -33,7 +33,7 @@ var gcusumkbn2 = require( './../lib/ndarray.js' ); // VARIABLES // var options = { - 'dtype': 'float64' + 'dtype': 'generic' }; From fcd4d00263ac4c29da3782f65369195336c3fcb7 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 18 Jan 2025 16:12:35 +0500 Subject: [PATCH 11/11] refactor: apply review suggestion Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js | 4 ++-- .../blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js index 9ed0f0ae93e4..ea7e0232ceaa 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.js @@ -25,7 +25,7 @@ var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var gfill = require( '@stdlib/blas/ext/base/gfill' ); -var Float64Array = require( '@stdlib/array/float64' ); +var zeros = require( '@stdlib/array/zeros' ); var pkg = require( './../package.json' ).name; var gcusumkbn2 = require( './../lib/main.js' ); @@ -48,7 +48,7 @@ var options = { */ function createBenchmark( len ) { var x = uniform( len, -100, 100, options ); - var y = new Float64Array( len ); + var y = zeros( len, options.dtype ); return benchmark; function benchmark( b ) { diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js index e342dfa681a1..f13401fd9831 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusumkbn2/benchmark/benchmark.ndarray.js @@ -25,7 +25,7 @@ var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var gfill = require( '@stdlib/blas/ext/base/gfill' ); -var Float64Array = require( '@stdlib/array/float64' ); +var zeros = require( '@stdlib/array/zeros' ); var pkg = require( './../package.json' ).name; var gcusumkbn2 = require( './../lib/ndarray.js' ); @@ -48,7 +48,7 @@ var options = { */ function createBenchmark( len ) { var x = uniform( len, -100, 100, options ); - var y = new Float64Array( len ); + var y = zeros( len, options.dtype ); return benchmark; function benchmark( b ) {