diff options
Diffstat (limited to 'newlib/libm/mathfp/s_frexp.c')
-rw-r--r-- | newlib/libm/mathfp/s_frexp.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/newlib/libm/mathfp/s_frexp.c b/newlib/libm/mathfp/s_frexp.c index 54fa336c8..08611e9a7 100644 --- a/newlib/libm/mathfp/s_frexp.c +++ b/newlib/libm/mathfp/s_frexp.c @@ -82,17 +82,6 @@ double frexp (double d, int *exp) double f; __uint32_t hd, ld, hf, lf; - /* Check for special values. */ - switch (numtest (d)) - { - case NAN: - case INF: - errno = EDOM; - case 0: - *exp = 0; - return (d); - } - EXTRACT_WORDS (hd, ld, d); /* Get the exponent. */ @@ -105,6 +94,16 @@ double frexp (double d, int *exp) INSERT_WORDS (f, hf, lf); + /* Check for special values. */ + switch (numtest (f)) + { + case NAN: + case INF: + errno = EDOM; + *exp = 0; + return (f); + } + return (f); } |