File tree Expand file tree Collapse file tree 3 files changed +28
-24
lines changed
lib/node_modules/@stdlib/math/base/special/powf Expand file tree Collapse file tree 3 files changed +28
-24
lines changed Original file line number Diff line number Diff line change @@ -264,18 +264,6 @@ function powf( x, y ) {
264
264
z = f32 ( lp + hp ) ;
265
265
j = toWordf ( z ) | 0 ; // asm type annotation
266
266
267
- // z < -150
268
- if ( ( j & ABS_MASK ) > Z_UNF_WORD ) {
269
- // Signal underflow...
270
- return f32 ( f32 ( sn * TINY ) * TINY ) ;
271
- }
272
- // z == -150
273
- if ( j === Z_NEG_UNF_WORD ) {
274
- if ( lp <= f32 ( z - hp ) ) {
275
- // Signal underflow...
276
- return f32 ( f32 ( sn * TINY ) * TINY ) ;
277
- }
278
- }
279
267
// z > 128
280
268
if ( j > Z_OVF_WORD ) {
281
269
// Signal overflow...
@@ -288,6 +276,18 @@ function powf( x, y ) {
288
276
return f32 ( f32 ( sn * HUGE ) * HUGE ) ;
289
277
}
290
278
}
279
+ // z < -150
280
+ if ( ( j & ABS_MASK ) > Z_UNF_WORD ) {
281
+ // Signal underflow...
282
+ return f32 ( f32 ( sn * TINY ) * TINY ) ;
283
+ }
284
+ // z == -150
285
+ if ( j === Z_NEG_UNF_WORD ) {
286
+ if ( lp <= f32 ( z - hp ) ) {
287
+ // Signal underflow...
288
+ return f32 ( f32 ( sn * TINY ) * TINY ) ;
289
+ }
290
+ }
291
291
// Compute `2^(hp+lp)`...
292
292
z = pow2f ( j , hp , lp ) ;
293
293
Original file line number Diff line number Diff line change @@ -624,18 +624,6 @@ float stdlib_base_powf( const float x, const float y ) {
624
624
stdlib_base_float32_to_word ( z , & j );
625
625
jc = (int32_t )j ;
626
626
627
- // z < -150
628
- if ( (jc & STDLIB_CONSTANT_FLOAT32_ABS_MASK ) > Z_UNF_WORD ) {
629
- // Signal underflow...
630
- return sn * TINY_VALUE * TINY_VALUE ;
631
- }
632
- // z == -150
633
- if ( jc == Z_NEG_UNF_WORD ) {
634
- if ( lp <= ( z - hp ) ) {
635
- // Signal underflow...
636
- return sn * TINY_VALUE * TINY_VALUE ;
637
- }
638
- }
639
627
// z > 128
640
628
if ( jc > Z_OVF_WORD ) {
641
629
// Signal overflow...
@@ -648,6 +636,18 @@ float stdlib_base_powf( const float x, const float y ) {
648
636
return sn * HUGE_VALUE * HUGE_VALUE ;
649
637
}
650
638
}
639
+ // z < -150
640
+ if ( (jc & STDLIB_CONSTANT_FLOAT32_ABS_MASK ) > Z_UNF_WORD ) {
641
+ // Signal underflow...
642
+ return sn * TINY_VALUE * TINY_VALUE ;
643
+ }
644
+ // z == -150
645
+ if ( jc == Z_NEG_UNF_WORD ) { // cppcheck-suppress knownConditionTrueFalse
646
+ if ( lp <= ( z - hp ) ) {
647
+ // Signal underflow...
648
+ return sn * TINY_VALUE * TINY_VALUE ;
649
+ }
650
+ }
651
651
// Compute `2^(hp+lp)`...
652
652
z = pow2f ( j , hp , lp );
653
653
return sn * z ;
Original file line number Diff line number Diff line change @@ -36,6 +36,10 @@ var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
36
36
var isPositiveZerof = require ( '@stdlib/math/base/assert/is-positive-zerof' ) ;
37
37
var isNegativeZerof = require ( '@stdlib/math/base/assert/is-negative-zerof' ) ;
38
38
var tryRequire = require ( '@stdlib/utils/try-require' ) ;
39
+
40
+
41
+ // FIXTURES //
42
+
39
43
var squaredSmall = require ( './fixtures/julia/squared_small.json' ) ;
40
44
var squaredLarge = require ( './fixtures/julia/squared_large.json' ) ;
41
45
var cubedSmall = require ( './fixtures/julia/cubed_small.json' ) ;
You can’t perform that action at this time.
0 commit comments