This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Jakub your change:
2007-05-03 Jakub Jelinek <jakub@redhat.com>
* soft-fp/op-common.h (FP_TRUNC): Replace raising of FP_EX_INEXACT
with setting the sticky bit.
* math/test-misc.c (main): Add more truncation tests.
Is causing failures on powerpc. The denomal rounding test you added
assume that __LDBL_DENORM_MIN__ is less than __DBL_DENORM_MIN__ by at
least 4 bits which is not true for IBM128 long double.
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
This is implicit in the statement:
volatile long double ld5 = nextafter (0.0, 1.0) / 16.0L;
This will always return 0.0L for IBM128.
So we could just disable this part of the test for IBM128 with for example
#if LDBL_MANT_DIG != 106
or replace each usage of "nextafter (0.0, 1.0)" with LDBL_MIN
#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
In IBM128 LDBL_MIN is the where the low order double can be subnormal
but as the high and low double can not overlap, the high order double
must be >= 0x1.0p-969
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |