From 32fe431727c3a791331589193f7c202c0783da8f Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 12:47:14 +0000 Subject: [PATCH 01/10] 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: --- --- 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/gcusum/README.md | 41 ++++++------------- .../ext/base/gcusum/benchmark/benchmark.js | 22 +++++----- .../gcusum/benchmark/benchmark.ndarray.js | 22 +++++----- .../blas/ext/base/gcusum/docs/repl.txt | 28 ++++++------- .../ext/base/gcusum/docs/types/index.d.ts | 12 +++--- .../blas/ext/base/gcusum/examples/index.js | 16 +++----- .../@stdlib/blas/ext/base/gcusum/lib/index.js | 3 +- .../@stdlib/blas/ext/base/gcusum/lib/main.js | 11 +++-- .../blas/ext/base/gcusum/lib/ndarray.js | 9 ++-- 9 files changed, 69 insertions(+), 95 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md index 072bdd52f4e9..6093f8a4a9ff 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 = gcusum( N, 0.0, x, 2, y, 1 ); +var v = gcusum( 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 ); - -gcusum( N, 0.0, x1, -2, y1, 1 ); +gcusum( 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 ); - -gcusum.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 ); +gcusum.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 @@ gcusum.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 gcusum = require( '@stdlib/blas/ext/base/gcusum' ); -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/gcusum/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js index 77506e349178..f1d0574c7a53 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 gcusum = require( './../lib/main.js' ); +// VARIABLES // + +var options = { + 'dtype': 'float64' +}; + + // FUNCTIONS // /** @@ -39,16 +47,8 @@ var gcusum = 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/gcusum/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.ndarray.js index 17fa4ebd3cd0..512e47ff05a1 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 gcusum = require( './../lib/ndarray.js' ); +// VARIABLES // + +var options = { + 'dtype': 'float64' +}; + + // FUNCTIONS // /** @@ -39,16 +47,8 @@ var gcusum = 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/gcusum/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt index 4de7e9c5c4b5..fd93125822e3 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt @@ -2,8 +2,8 @@ {{alias}}( N, sum, x, strideX, y, strideY ) Computes the cumulative sum of strided array elements. - 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. @@ -22,13 +22,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 ------- @@ -43,11 +43,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: @@ -55,19 +54,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 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 support indexing semantics based on starting + indices. Parameters ---------- @@ -81,7 +80,7 @@ Input array. strideX: integer - Index increment for `x`. + Stride length for `x`. offsetX: integer Starting index for `x`. @@ -90,7 +89,7 @@ Output array. strideY: integer - Index increment for `y`. + Stride length for `y`. offsetY: integer Starting index for `y`. @@ -111,8 +110,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/gcusum/docs/types/index.d.ts b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/types/index.d.ts index 9e7eedcd66d1..4cac18e67988 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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/gcusum/examples/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js index 06a3950f14e8..b7a6d20a3945 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 gcusum = 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/gcusum/lib/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/index.js index f0d62888ee69..0771fda9a67c 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/index.js @@ -38,9 +38,8 @@ * * 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 ); * -* gcusum.ndarray( N, 0.0, x, 2, 1, y, 1, 0 ); +* gcusum.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/gcusum/lib/main.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/main.js index 1f51cd6bca57..d5ef736a75d1 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/main.js @@ -20,7 +20,8 @@ // MODULES // -var gcusumkbn = require( '@stdlib/blas/ext/base/gcusumkbn' ); +var stride2offset = require( '@stdlib/strided/base/stride2offset' ); +var ndarray = require( './ndarray.js' ); // MAIN // @@ -31,9 +32,9 @@ var gcusumkbn = require( '@stdlib/blas/ext/base/gcusumkbn' ); * @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 @@ -44,7 +45,9 @@ var gcusumkbn = require( '@stdlib/blas/ext/base/gcusumkbn' ); * // returns [ 1.0, -1.0, 1.0 ] */ function gcusum( N, sum, x, strideX, y, strideY ) { - return gcusumkbn( N, sum, x, strideX, y, strideY ); + 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/gcusum/lib/ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/ndarray.js index 3e2f15ba2b57..e9dad6d1f71a 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/lib/ndarray.js @@ -31,21 +31,18 @@ var gcusumkbn = require( '@stdlib/blas/ext/base/gcusumkbn' ).ndarray; * @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 ); * -* gcusum( N, 0.0, x, 2, 1, y, 1, 0 ); +* gcusum( 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 gcusum( N, sum, x, strideX, offsetX, y, strideY, offsetY ) { From e7ca79d803673993ab92df0342760c396bb35453 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 14:30:38 +0000 Subject: [PATCH 02/10] 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/gcusum/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md index 6093f8a4a9ff..df4e2af93e0b 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 923f3d1c0d4c5c4424e095617a37bb322b0df15f Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Tue, 31 Dec 2024 15:47:40 +0000 Subject: [PATCH 03/10] 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 --- --- lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt index fd93125822e3..39364d25c78c 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt @@ -2,8 +2,8 @@ {{alias}}( N, sum, x, strideX, y, strideY ) Computes the cumulative sum of strided array elements. - 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 ac483e03777d9c1cc12e2af54c15ffccfe984f4d Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:01:11 +0500 Subject: [PATCH 04/10] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md index df4e2af93e0b..adbc2f6c37fc 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md @@ -145,7 +145,7 @@ var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusum = require( '@stdlib/blas/ext/base/gcusum' ); -var x = discreteUniform( 10.0, -100, 100, { +var x = discreteUniform( 10, -100, 100, { 'dtype': 'float64' }); var y = new Float64Array( x.length ); From 7bad5dcd5b61dbcb3d4e97d612f405f749511730 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:01:22 +0500 Subject: [PATCH 05/10] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md b/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md index adbc2f6c37fc..407f8da6f29a 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 bc9d8fa95f26236345c95631a7b3e50543d8eafd Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:01:31 +0500 Subject: [PATCH 06/10] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt index 39364d25c78c..b24624b76498 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt @@ -65,7 +65,7 @@ indexing semantics. While typed array views mandate a view offset based on the underlying - buffer, the offset parameter support indexing semantics based on starting + buffer, the offset parameters support indexing semantics based on starting indices. Parameters From cab566bb351c6e4e11c3d6268f00477cff976b44 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:01:40 +0500 Subject: [PATCH 07/10] fix: apply review suggestions Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js index b7a6d20a3945..f7af9b58d875 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/examples/index.js @@ -22,7 +22,7 @@ var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var gcusum = require( './../lib' ); -var x = discreteUniform( 10.0, -100, 100, { +var x = discreteUniform( 10, -100, 100, { 'dtype': 'float64' }); var y = new Float64Array( x.length ); From 1624e5a48f597a901846c4e0d8517f7034a02d0d Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sun, 5 Jan 2025 07:17:50 +0000 Subject: [PATCH 08/10] fix: 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 --- --- lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt index b24624b76498..269232641429 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/docs/repl.txt @@ -105,13 +105,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 fa44c5a16af943c7e44d93129a696ba90a22c05b Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 18 Jan 2025 16:02:16 +0500 Subject: [PATCH 09/10] refactor: apply suggestions from code review Co-authored-by: Athan Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js index f1d0574c7a53..afbae7937d09 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 gcusum = require( './../lib/main.js' ); @@ -33,7 +33,7 @@ var gcusum = require( './../lib/main.js' ); // VARIABLES // var options = { - 'dtype': 'float64' + 'dtype': 'generic' }; @@ -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 ) { From 8661fa01614e5c8594d9ea41a56cfbb601e00a36 Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 18 Jan 2025 16:04:57 +0500 Subject: [PATCH 10/10] refactor: apply review suggestion Signed-off-by: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> --- .../blas/ext/base/gcusum/benchmark/benchmark.ndarray.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.ndarray.js index 512e47ff05a1..0f3d84c1d643 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcusum/benchmark/benchmark.ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcusum/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 gcusum = require( './../lib/ndarray.js' ); @@ -33,7 +33,7 @@ var gcusum = require( './../lib/ndarray.js' ); // VARIABLES // var options = { - 'dtype': 'float64' + 'dtype': 'generic' }; @@ -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 ) {