Skip to content

Commit 3b1f946

Browse files
authored
refactor: use the single-precision abs function
Signed-off-by: Athan <[email protected]>
1 parent 6f7bf0f commit 3b1f946

File tree

1 file changed

+20
-20
lines changed
  • lib/node_modules/@stdlib/blas/ext/base/sasumpw/lib

1 file changed

+20
-20
lines changed

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

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
2424
var floor = require( '@stdlib/math/base/special/floor' );
25-
var abs = require( '@stdlib/math/base/special/abs' );
25+
var absf = require( '@stdlib/math/base/special/absf' );
2626

2727

2828
// VARIABLES //
@@ -78,47 +78,47 @@ function sasumpw( N, x, strideX, offsetX ) {
7878
}
7979
ix = offsetX;
8080
if ( strideX === 0 ) {
81-
return float64ToFloat32( N * abs( x[ ix ] ) );
81+
return float64ToFloat32( N * absf( x[ ix ] ) );
8282
}
8383
if ( N < 8 ) {
8484
// Use simple summation...
8585
s = 0.0;
8686
for ( i = 0; i < N; i++ ) {
87-
s = float64ToFloat32( s + abs( x[ ix ] ) );
87+
s = float64ToFloat32( s + absf( x[ ix ] ) );
8888
ix += strideX;
8989
}
9090
return s;
9191
}
9292
if ( N <= BLOCKSIZE ) {
9393
// Sum a block with 8 accumulators (by loop unrolling, we lower the effective blocksize to 16)...
94-
s0 = abs( x[ ix ] );
95-
s1 = abs( x[ ix+strideX ] );
96-
s2 = abs( x[ ix+(2*strideX) ] );
97-
s3 = abs( x[ ix+(3*strideX) ] );
98-
s4 = abs( x[ ix+(4*strideX) ] );
99-
s5 = abs( x[ ix+(5*strideX) ] );
100-
s6 = abs( x[ ix+(6*strideX) ] );
101-
s7 = abs( x[ ix+(7*strideX) ] );
94+
s0 = absf( x[ ix ] );
95+
s1 = absf( x[ ix+strideX ] );
96+
s2 = absf( x[ ix+(2*strideX) ] );
97+
s3 = absf( x[ ix+(3*strideX) ] );
98+
s4 = absf( x[ ix+(4*strideX) ] );
99+
s5 = absf( x[ ix+(5*strideX) ] );
100+
s6 = absf( x[ ix+(6*strideX) ] );
101+
s7 = absf( x[ ix+(7*strideX) ] );
102102
ix += 8 * strideX;
103103

104104
M = N % 8;
105105
for ( i = 8; i < N-M; i += 8 ) {
106-
s0 = float64ToFloat32( s0 + abs( x[ ix ] ) );
107-
s1 = float64ToFloat32( s1 + abs( x[ ix+strideX ] ) );
108-
s2 = float64ToFloat32( s2 + abs( x[ ix+(2*strideX) ] ) );
109-
s3 = float64ToFloat32( s3 + abs( x[ ix+(3*strideX) ] ) );
110-
s4 = float64ToFloat32( s4 + abs( x[ ix+(4*strideX) ] ) );
111-
s5 = float64ToFloat32( s5 + abs( x[ ix+(5*strideX) ] ) );
112-
s6 = float64ToFloat32( s6 + abs( x[ ix+(6*strideX) ] ) );
113-
s7 = float64ToFloat32( s7 + abs( x[ ix+(7*strideX) ] ) );
106+
s0 = float64ToFloat32( s0 + absf( x[ ix ] ) );
107+
s1 = float64ToFloat32( s1 + absf( x[ ix+strideX ] ) );
108+
s2 = float64ToFloat32( s2 + absf( x[ ix+(2*strideX) ] ) );
109+
s3 = float64ToFloat32( s3 + absf( x[ ix+(3*strideX) ] ) );
110+
s4 = float64ToFloat32( s4 + absf( x[ ix+(4*strideX) ] ) );
111+
s5 = float64ToFloat32( s5 + absf( x[ ix+(5*strideX) ] ) );
112+
s6 = float64ToFloat32( s6 + absf( x[ ix+(6*strideX) ] ) );
113+
s7 = float64ToFloat32( s7 + absf( x[ ix+(7*strideX) ] ) );
114114
ix += 8 * strideX;
115115
}
116116
// Pairwise sum the accumulators:
117117
s = float64ToFloat32( float64ToFloat32( float64ToFloat32(s0+s1) + float64ToFloat32(s2+s3) ) + float64ToFloat32( float64ToFloat32(s4+s5) + float64ToFloat32(s6+s7) ) ); // eslint-disable-line max-len
118118

119119
// Clean-up loop...
120120
for ( i; i < N; i++ ) {
121-
s = float64ToFloat32( s + abs( x[ ix ] ) );
121+
s = float64ToFloat32( s + absf( x[ ix ] ) );
122122
ix += strideX;
123123
}
124124
return s;

0 commit comments

Comments
 (0)