mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-26 23:10:06 +00:00
1998-03-01 19:05 H.J. Lu (hjl@gnu.org) * sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Use __isinf. Changed type of TWO43, TWO52 from float to double. * sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Use __isinff. * sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): Use __isinf. Changed type of TWO43 from float to double. * sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): Fix a typo. Use __isinff.
1998-03-01 19:05 H.J. Lu (hjl@gnu.org) * sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Use __isinf. Changed type of TWO43, TWO52 from float to double. * sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Use __isinff. * sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): Use __isinf. Changed type of TWO43 from float to double. * sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): Fix a typo. Use __isinff.
This commit is contained in:
parent
6356e13123
commit
c2e3af6ee6
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
1998-03-01 19:05 H.J. Lu (hjl@gnu.org)
|
||||||
|
|
||||||
|
* sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Use __isinf.
|
||||||
|
Changed type of TWO43, TWO52 from float to double.
|
||||||
|
* sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Use __isinff.
|
||||||
|
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): Use __isinf.
|
||||||
|
Changed type of TWO43 from float to double.
|
||||||
|
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): Fix a typo.
|
||||||
|
Use __isinff.
|
||||||
|
|
||||||
1998-03-01 18:52 H.J. Lu (hjl@gnu.org)
|
1998-03-01 18:52 H.J. Lu (hjl@gnu.org)
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/alpha/syscalls.list (osf_settimeofday,
|
* sysdeps/unix/sysv/linux/alpha/syscalls.list (osf_settimeofday,
|
||||||
|
@ -71,14 +71,13 @@ static const volatile double TWOM1000 = 9.3326361850321887899e-302;
|
|||||||
double
|
double
|
||||||
__ieee754_exp (double x)
|
__ieee754_exp (double x)
|
||||||
{
|
{
|
||||||
static const uint32_t a_minf = 0xff800000;
|
|
||||||
static const double himark = 709.7827128933840868;
|
static const double himark = 709.7827128933840868;
|
||||||
static const double lomark = -745.1332191019412221;
|
static const double lomark = -745.1332191019412221;
|
||||||
/* Check for usual case. */
|
/* Check for usual case. */
|
||||||
if (isless (x, himark) && isgreater (x, lomark))
|
if (isless (x, himark) && isgreater (x, lomark))
|
||||||
{
|
{
|
||||||
static const float TWO43 = 8796093022208.0;
|
static const double TWO43 = 8796093022208.0;
|
||||||
static const float TWO52 = 4503599627370496.0;
|
static const double TWO52 = 4503599627370496.0;
|
||||||
/* 1/ln(2). */
|
/* 1/ln(2). */
|
||||||
static const double M_1_LN2 = 1.442695040888963387;
|
static const double M_1_LN2 = 1.442695040888963387;
|
||||||
/* ln(2), part 1 */
|
/* ln(2), part 1 */
|
||||||
@ -166,7 +165,7 @@ __ieee754_exp (double x)
|
|||||||
/* Exceptional cases: */
|
/* Exceptional cases: */
|
||||||
else if (isless (x, himark))
|
else if (isless (x, himark))
|
||||||
{
|
{
|
||||||
if (x == *(const float *) &a_minf)
|
if (__isinf (x))
|
||||||
/* e^-inf == 0, with no error. */
|
/* e^-inf == 0, with no error. */
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
|
@ -66,7 +66,6 @@ static const volatile float TWO127 = 1.7014118346e+38;
|
|||||||
float
|
float
|
||||||
__ieee754_expf (float x)
|
__ieee754_expf (float x)
|
||||||
{
|
{
|
||||||
static const uint32_t a_minf = 0xff800000;
|
|
||||||
static const float himark = 88.72283935546875;
|
static const float himark = 88.72283935546875;
|
||||||
static const float lomark = -103.972084045410;
|
static const float lomark = -103.972084045410;
|
||||||
/* Check for usual case. */
|
/* Check for usual case. */
|
||||||
@ -144,7 +143,7 @@ __ieee754_expf (float x)
|
|||||||
/* Exceptional cases: */
|
/* Exceptional cases: */
|
||||||
else if (isless (x, himark))
|
else if (isless (x, himark))
|
||||||
{
|
{
|
||||||
if (x == *(const float *) &a_minf)
|
if (__isinff (x))
|
||||||
/* e^-inf == 0, with no error. */
|
/* e^-inf == 0, with no error. */
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
|
@ -42,14 +42,13 @@ static const volatile double TWOM1000 = 9.3326361850321887899e-302;
|
|||||||
double
|
double
|
||||||
__ieee754_exp2 (double x)
|
__ieee754_exp2 (double x)
|
||||||
{
|
{
|
||||||
static const uint32_t a_minf = 0xff800000;
|
|
||||||
static const double himark = (double) DBL_MAX_EXP;
|
static const double himark = (double) DBL_MAX_EXP;
|
||||||
static const double lomark = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1) - 1.0;
|
static const double lomark = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1) - 1.0;
|
||||||
|
|
||||||
/* Check for usual case. */
|
/* Check for usual case. */
|
||||||
if (isless (x, himark) && isgreater (x, lomark))
|
if (isless (x, himark) && isgreater (x, lomark))
|
||||||
{
|
{
|
||||||
static const float TWO43 = 8796093022208.0;
|
static const double TWO43 = 8796093022208.0;
|
||||||
int tval, unsafe;
|
int tval, unsafe;
|
||||||
double rx, x22, result;
|
double rx, x22, result;
|
||||||
union ieee754_double ex2_u, scale_u;
|
union ieee754_double ex2_u, scale_u;
|
||||||
@ -125,7 +124,7 @@ __ieee754_exp2 (double x)
|
|||||||
/* Exceptional cases: */
|
/* Exceptional cases: */
|
||||||
else if (isless (x, himark))
|
else if (isless (x, himark))
|
||||||
{
|
{
|
||||||
if (x == *(const float *) &a_minf)
|
if (__isinf (x))
|
||||||
/* e^-inf == 0, with no error. */
|
/* e^-inf == 0, with no error. */
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
|
@ -43,7 +43,6 @@ static const volatile float TWO127 = 1.7014118346e+38;
|
|||||||
float
|
float
|
||||||
__ieee754_exp2f (float x)
|
__ieee754_exp2f (float x)
|
||||||
{
|
{
|
||||||
static const uint32_t a_minf = 0xff800000;
|
|
||||||
static const float himark = (float) FLT_MAX_EXP;
|
static const float himark = (float) FLT_MAX_EXP;
|
||||||
static const float lomark = (float) (FLT_MIN_EXP - FLT_MANT_DIG - 1) - 1.0;
|
static const float lomark = (float) (FLT_MIN_EXP - FLT_MANT_DIG - 1) - 1.0;
|
||||||
|
|
||||||
@ -76,7 +75,7 @@ __ieee754_exp2f (float x)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
rx = x - TWO15;
|
rx = x - TWO15;
|
||||||
+ rx += TWO15;
|
rx += TWO15;
|
||||||
}
|
}
|
||||||
x -= rx; /* Compute x=x1. */
|
x -= rx; /* Compute x=x1. */
|
||||||
/* Compute tval = (ex*256 + t)+128.
|
/* Compute tval = (ex*256 + t)+128.
|
||||||
@ -123,7 +122,7 @@ __ieee754_exp2f (float x)
|
|||||||
/* Exceptional cases: */
|
/* Exceptional cases: */
|
||||||
else if (isless (x, himark))
|
else if (isless (x, himark))
|
||||||
{
|
{
|
||||||
if (x == *(const float *) &a_minf)
|
if (__isinff (x))
|
||||||
/* e^-inf == 0, with no error. */
|
/* e^-inf == 0, with no error. */
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user