mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
PowerPC: fix hypot/hypotf check for -INF
This commit is contained in:
parent
2848b10585
commit
13d3b41a36
@ -1,3 +1,9 @@
|
|||||||
|
2013-05-17 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* sysdeps/powerpc/fpu/e_hypot.c (GET_TWO_FLOAT_WORD): Fix test for
|
||||||
|
negative infinity on POWER6 or lower.
|
||||||
|
* sysdeps/powerpc/fpu/e_hypotf.c (GET_TWO_FLOAT_WORD): Likewise.
|
||||||
|
|
||||||
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
|
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
[BZ #15442]
|
[BZ #15442]
|
||||||
|
@ -54,13 +54,13 @@ static const double pdnum = 2.225073858507201e-308;
|
|||||||
ieee_double_shape_type gh_u2; \
|
ieee_double_shape_type gh_u2; \
|
||||||
gh_u1.value = (d1); \
|
gh_u1.value = (d1); \
|
||||||
gh_u2.value = (d2); \
|
gh_u2.value = (d2); \
|
||||||
(i1) = gh_u1.parts.msw; \
|
(i1) = gh_u1.parts.msw & 0x7fffffff; \
|
||||||
(i2) = gh_u2.parts.msw; \
|
(i2) = gh_u2.parts.msw & 0x7fffffff; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
# define TEST_INF_NAN(x, y) \
|
# define TEST_INF_NAN(x, y) \
|
||||||
do { \
|
do { \
|
||||||
int32_t hx, hy; \
|
uint32_t hx, hy; \
|
||||||
GET_TW0_HIGH_WORD(x, y, hx, hy); \
|
GET_TW0_HIGH_WORD(x, y, hx, hy); \
|
||||||
if (hy > hx) { \
|
if (hy > hx) { \
|
||||||
uint32_t ht = hx; hx = hy; hy = ht; \
|
uint32_t ht = hx; hx = hy; hy = ht; \
|
||||||
|
@ -46,13 +46,13 @@ static const float two30 = 1.0737418e09;
|
|||||||
ieee_float_shape_type gf_u2; \
|
ieee_float_shape_type gf_u2; \
|
||||||
gf_u1.value = (f1); \
|
gf_u1.value = (f1); \
|
||||||
gf_u2.value = (f2); \
|
gf_u2.value = (f2); \
|
||||||
(i1) = gf_u1.word; \
|
(i1) = gf_u1.word & 0x7fffffff; \
|
||||||
(i2) = gf_u2.word; \
|
(i2) = gf_u2.word & 0x7fffffff; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
# define TEST_INF_NAN(x, y) \
|
# define TEST_INF_NAN(x, y) \
|
||||||
do { \
|
do { \
|
||||||
int32_t hx, hy; \
|
uint32_t hx, hy; \
|
||||||
GET_TWO_FLOAT_WORD(x, y, hx, hy); \
|
GET_TWO_FLOAT_WORD(x, y, hx, hy); \
|
||||||
if (hy > hx) { \
|
if (hy > hx) { \
|
||||||
uint32_t ht = hx; hx = hy; hy = ht; \
|
uint32_t ht = hx; hx = hy; hy = ht; \
|
||||||
|
Loading…
Reference in New Issue
Block a user