/programs/develop/libraries/newlib/math/ldexpl.c |
---|
0,0 → 1,19 |
#include <math.h> |
#include <errno.h> |
long double ldexpl(long double x, int expn) |
{ |
long double res; |
if (!isfinite (x) || x == 0.0L) |
return x; |
__asm__ ("fscale" |
: "=t" (res) |
: "0" (x), "u" ((long double) expn)); |
if (!isfinite (res) || res == 0.0L) |
errno = ERANGE; |
return res; |
} |