From ee59feb581b74035c3a265574fdefb1350db50af Mon Sep 17 00:00:00 2001 From: Muhammad Haris <101793258+headlessNode@users.noreply.github.com> Date: Sat, 16 Aug 2025 07:33:54 +0000 Subject: [PATCH] refactor: fix fromIndex handling --- 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: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - 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 --- --- .../blas/ext/base/ndarray/dlast-index-of/README.md | 6 +++--- .../base/ndarray/dlast-index-of/benchmark/benchmark.js | 2 +- .../base/ndarray/dlast-index-of/docs/types/index.d.ts | 2 +- .../ext/base/ndarray/dlast-index-of/examples/index.js | 2 +- .../blas/ext/base/ndarray/dlast-index-of/lib/index.js | 4 ++-- .../blas/ext/base/ndarray/dlast-index-of/lib/main.js | 9 +++------ .../blas/ext/base/ndarray/dlast-index-of/test/test.js | 8 ++++---- 7 files changed, 15 insertions(+), 18 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/README.md b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/README.md index a0872f8e5373..71e50439dcf1 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/README.md +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/README.md @@ -52,7 +52,7 @@ var searchElement = scalar2ndarray( 2.0, { 'dtype': 'float64' }); -var fromIndex = scalar2ndarray( 0, { +var fromIndex = scalar2ndarray( 3, { 'dtype': 'generic' }); @@ -78,7 +78,7 @@ var ndarray = require( '@stdlib/ndarray/base/ctor' ); var xbuf = new Float64Array( [ 1.0, 2.0, 4.0, 2.0 ] ); var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' ); -var searchElement = scalar2ndarray( 10.0, { +var searchElement = scalar2ndarray( 2.0, { 'dtype': 'float64' }); @@ -129,7 +129,7 @@ var searchElement = scalar2ndarray( 80.0, { }); console.log( 'Search Element:', ndarraylike2scalar( searchElement ) ); -var fromIndex = scalar2ndarray( 0, { +var fromIndex = scalar2ndarray( -1, { 'dtype': 'generic' }); console.log( 'From Index:', ndarraylike2scalar( fromIndex ) ); diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/benchmark/benchmark.js b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/benchmark/benchmark.js index 2441955e3b1d..bc282a03145a 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/benchmark/benchmark.js @@ -58,7 +58,7 @@ function createBenchmark( len ) { searchElement = scalar2ndarray( -10.0, { 'dtype': 'float64' }); - fromIndex = scalar2ndarray( 0, { + fromIndex = scalar2ndarray( -1, { 'dtype': 'generic' }); diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/docs/types/index.d.ts b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/docs/types/index.d.ts index 3e74608e0edd..e601c246844f 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/docs/types/index.d.ts @@ -41,7 +41,7 @@ import { float64ndarray, typedndarray } from '@stdlib/types/ndarray'; * 'dtype': 'float64' * }); * -* var fromIndex = scalar2ndarray( 0, { +* var fromIndex = scalar2ndarray( 3, { * 'dtype': 'generic' * }); * diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/examples/index.js b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/examples/index.js index 3f820d90fbbc..b0270b885bc9 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/examples/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/examples/index.js @@ -36,7 +36,7 @@ var searchElement = scalar2ndarray( 80.0, { }); console.log( 'Search Element:', ndarraylike2scalar( searchElement ) ); -var fromIndex = scalar2ndarray( 0, { +var fromIndex = scalar2ndarray( -1, { 'dtype': 'generic' }); console.log( 'From Index:', ndarraylike2scalar( fromIndex ) ); diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/index.js b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/index.js index 28a83336abcd..641db79333d5 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/index.js +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/index.js @@ -29,14 +29,14 @@ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' ); * var dlastIndexOf = require( '@stdlib/blas/ext/base/ndarray/dlast-index-of' ); * -* var xbuf = new Float64Array( [ 1.0, 3.0, 4.0, 2.0 ] ); +* var xbuf = new Float64Array( [ 1.0, 2.0, 4.0, 2.0 ] ); * var x = new ndarray( 'float64', xbuf, [ 4 ], [ 1 ], 0, 'row-major' ); * * var searchElement = scalar2ndarray( 2.0, { * 'dtype': 'float64' * }); * -* var fromIndex = scalar2ndarray( 0, { +* var fromIndex = scalar2ndarray( 3, { * 'dtype': 'generic' * }); * diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/main.js b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/main.js index 02dea2b50c68..469fbde70641 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/lib/main.js @@ -49,7 +49,7 @@ var ndarraylike2scalar = require( '@stdlib/ndarray/base/ndarraylike2scalar' ); * 'dtype': 'float64' * }); * -* var fromIndex = scalar2ndarray( 0, { +* var fromIndex = scalar2ndarray( 3, { * 'dtype': 'generic' * }); * @@ -78,14 +78,11 @@ function dlastIndexOf( arrays ) { } else if ( fromIndex >= N ) { return -1; } - N -= fromIndex; + N = fromIndex + 1; stride = getStride( x, 0 ); - offset = getOffset( x ) + ( stride*fromIndex ); + offset = getOffset( x ); idx = strided( N, searchElement, getData( x ), stride, offset ); - if ( idx >= 0 ) { - idx += fromIndex; - } return idx; } diff --git a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/test/test.js b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/test/test.js index 395a9ab3eca6..d5c966999bad 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/test/test.js +++ b/lib/node_modules/@stdlib/blas/ext/base/ndarray/dlast-index-of/test/test.js @@ -64,7 +64,7 @@ tape( 'the function returns the last index of an element which equals a provided searchElement = scalar2ndarray( 1.0, { 'dtype': 'float64' }); - fromIndex = scalar2ndarray( 0, { + fromIndex = scalar2ndarray( 5, { 'dtype': 'generic' }); actual = dlastIndexOf( [ x, searchElement, fromIndex ] ); @@ -73,7 +73,7 @@ tape( 'the function returns the last index of an element which equals a provided searchElement = scalar2ndarray( 2.0, { 'dtype': 'float64' }); - fromIndex = scalar2ndarray( 0, { + fromIndex = scalar2ndarray( 5, { 'dtype': 'generic' }); actual = dlastIndexOf( [ x, searchElement, fromIndex ] ); @@ -114,7 +114,7 @@ tape( 'the function returns the last index of an element which equals a provided 'dtype': 'generic' }); actual = dlastIndexOf( [ x, searchElement, fromIndex ] ); - t.strictEqual( actual, 5, 'returns expected value' ); + t.strictEqual( actual, 4, 'returns expected value' ); searchElement = scalar2ndarray( 2.0, { 'dtype': 'float64' @@ -132,7 +132,7 @@ tape( 'the function returns the last index of an element which equals a provided 'dtype': 'generic' }); actual = dlastIndexOf( [ x, searchElement, fromIndex ] ); - t.strictEqual( actual, 3, 'returns expected value' ); + t.strictEqual( actual, -1, 'returns expected value' ); t.end(); });