Skip to content

Commit 65d7e76

Browse files
committed
refactor: simplify implementation
--- 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: na - task: lint_javascript_src status: passed - 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: passed - 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 ---
1 parent 584cf93 commit 65d7e76

File tree

3 files changed

+11
-38
lines changed

3 files changed

+11
-38
lines changed

lib/node_modules/@stdlib/blas/ext/base/sapxsumors/lib/ndarray.js

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020

2121
// MODULES //
2222

23-
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
23+
var f32 = require( '@stdlib/number/float64/base/to-float32' );
24+
var ssumors = require( '@stdlib/blas/ext/base/ssumors' ).ndarray;
2425

2526

2627
// MAIN //
@@ -44,23 +45,7 @@ var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
4445
* // returns 25.0
4546
*/
4647
function sapxsumors( N, alpha, x, strideX, offsetX ) {
47-
var sum;
48-
var ix;
49-
var i;
50-
51-
if ( N <= 0 ) {
52-
return 0.0;
53-
}
54-
ix = offsetX;
55-
if ( strideX === 0 ) {
56-
return float64ToFloat32( N * float64ToFloat32( alpha + x[ ix ] ) );
57-
}
58-
sum = 0.0;
59-
for ( i = 0; i < N; i++ ) {
60-
sum = float64ToFloat32( sum + float64ToFloat32( alpha+x[ ix ] ) );
61-
ix += strideX;
62-
}
63-
return sum;
48+
return f32( f32( N * alpha ) + ssumors( N, x, strideX, offsetX ) );
6449
}
6550

6651

lib/node_modules/@stdlib/blas/ext/base/sapxsumors/manifest.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
"@stdlib/napi/argv-strided-float32array",
4444
"@stdlib/napi/create-double",
4545
"@stdlib/strided/base/stride2offset",
46-
"@stdlib/blas/base/shared"
46+
"@stdlib/blas/base/shared",
47+
"@stdlib/blas/ext/base/ssumors"
4748
]
4849
},
4950
{
@@ -58,7 +59,8 @@
5859
"libpath": [],
5960
"dependencies": [
6061
"@stdlib/strided/base/stride2offset",
61-
"@stdlib/blas/base/shared"
62+
"@stdlib/blas/base/shared",
63+
"@stdlib/blas/ext/base/ssumors"
6264
]
6365
},
6466
{
@@ -73,7 +75,8 @@
7375
"libpath": [],
7476
"dependencies": [
7577
"@stdlib/strided/base/stride2offset",
76-
"@stdlib/blas/base/shared"
78+
"@stdlib/blas/base/shared",
79+
"@stdlib/blas/ext/base/ssumors"
7780
]
7881
}
7982
]

lib/node_modules/@stdlib/blas/ext/base/sapxsumors/src/main.c

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "stdlib/blas/ext/base/sapxsumors.h"
2020
#include "stdlib/blas/base/shared.h"
2121
#include "stdlib/strided/base/stride2offset.h"
22+
#include "stdlib/blas/ext/base/ssumors.h"
2223

2324
/**
2425
* Adds a scalar constant to each single-precision floating-point strided array element and computes the sum using ordinary recursive summation.
@@ -45,21 +46,5 @@ float API_SUFFIX(stdlib_strided_sapxsumors)( const CBLAS_INT N, const float alph
4546
* @return output value
4647
*/
4748
float API_SUFFIX(stdlib_strided_sapxsumors_ndarray)( const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT strideX, const CBLAS_INT offsetX ) {
48-
CBLAS_INT ix;
49-
CBLAS_INT i;
50-
float sum;
51-
52-
if ( N <= 0 ) {
53-
return 0.0f;
54-
}
55-
ix = offsetX;
56-
if ( strideX == 0 ) {
57-
return N * ( alpha + X[ ix ] );
58-
}
59-
sum = 0.0f;
60-
for ( i = 0; i < N; i++ ) {
61-
sum += alpha + X[ ix ];
62-
ix += strideX;
63-
}
64-
return sum;
49+
return ( N * alpha ) + API_SUFFIX(stdlib_strided_ssumors_ndarray)( N, X, strideX, offsetX );
6550
}

0 commit comments

Comments
 (0)