|
20 | 20 |
|
21 | 21 | // MODULES // |
22 | 22 |
|
23 | | -var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); |
| 23 | +var f32 = require( '@stdlib/number/float64/base/to-float32' ); |
24 | 24 | var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); |
25 | 25 | var absf = require( '@stdlib/math/base/special/absf' ); |
26 | 26 |
|
@@ -71,33 +71,33 @@ function snansumkbn2( N, x, strideX, offsetX ) { |
71 | 71 | if ( isnanf( x[ ix ] ) ) { |
72 | 72 | return 0.0; |
73 | 73 | } |
74 | | - return float64ToFloat32( N * x[ ix ] ); |
| 74 | + return f32( N * x[ ix ] ); |
75 | 75 | } |
76 | 76 | sum = 0.0; |
77 | 77 | ccs = 0.0; // second order correction term for lost low order bits |
78 | 78 | cs = 0.0; // first order correction term for lost low order bits |
79 | 79 | for ( i = 0; i < N; i++ ) { |
80 | 80 | v = x[ ix ]; |
81 | 81 | if ( isnanf( v ) === false ) { |
82 | | - t = float64ToFloat32( sum + v ); |
| 82 | + t = f32( sum + v ); |
83 | 83 | if ( absf( sum ) >= absf( v ) ) { |
84 | | - c = float64ToFloat32( float64ToFloat32( sum-t ) + v ); |
| 84 | + c = f32( f32( sum-t ) + v ); |
85 | 85 | } else { |
86 | | - c = float64ToFloat32( float64ToFloat32( v-t ) + sum ); |
| 86 | + c = f32( f32( v-t ) + sum ); |
87 | 87 | } |
88 | 88 | sum = t; |
89 | | - t = float64ToFloat32( cs + c ); |
| 89 | + t = f32( cs + c ); |
90 | 90 | if ( absf( cs ) >= absf( c ) ) { |
91 | | - cc = float64ToFloat32( float64ToFloat32( cs-t ) + c ); |
| 91 | + cc = f32( f32( cs-t ) + c ); |
92 | 92 | } else { |
93 | | - cc = float64ToFloat32( float64ToFloat32( c-t ) + cs ); |
| 93 | + cc = f32( f32( c-t ) + cs ); |
94 | 94 | } |
95 | 95 | cs = t; |
96 | | - ccs = float64ToFloat32( ccs + cc ); |
| 96 | + ccs = f32( ccs + cc ); |
97 | 97 | } |
98 | 98 | ix += strideX; |
99 | 99 | } |
100 | | - return float64ToFloat32( sum + float64ToFloat32( cs + ccs ) ); |
| 100 | + return f32( sum + f32( cs + ccs ) ); |
101 | 101 | } |
102 | 102 |
|
103 | 103 |
|
|
0 commit comments