glibc/sysdeps/i386
Carlos O'Donell aba5e333d4 libm-test.inc: Fix tests where cos(PI/2) != 0.
The value of PI is never exactly PI in any floating point representation,
and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l)
to return 0, instead it will return an answer that is  non-zero because
M_PI_2l doesn't round to exactly PI/2 in the type used.

That is to say that the correct answer is to do the following:
* Take PI or PI/2.
* Round to the floating point representation.
* Take the rounded value and compute an infinite precision cos or sin.
* Use the rounded result of the infinite precision cos or sin as the
  answer to the test.

I used printf to do the type rounding, and Wolfram's Alpha to do the
infinite precision cos calculations.

The following changes bring x86-64 and x86 to 1/2 ulp for two tests.
It shows that the x86 cos implementation is quite good, and that
our test are flawed.

Unfortunately given that the rounding errors are type dependent we
need to fix this for each type. No regressions on x86-64 or x86.

---

2013-04-11  Carlos O'Donell  <carlos@redhat.com>

	* math/libm-test.inc (cos_test): Fix PI/2 test.
	(sincos_test): Likewise.
	* sysdeps/x86_64/fpu/libm-test-ulps: Regenerate.
	* sysdeps/i386/fpu/libm-test-ulps: Regenerate.
2013-04-11 08:52:18 -04:00
..
fpu libm-test.inc: Fix tests where cos(PI/2) != 0. 2013-04-11 08:52:18 -04:00
i486 Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
i586 Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
i686 Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
i786 Also applying directories. 1999-01-24 10:39:22 +00:00
sys Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
____longjmp_chk.S Add sigstack handling to Linux ____longjmp_chk on i386. 2009-07-30 21:50:14 -07:00
__longjmp.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
abort-instr.h update from main archive 961220 1996-12-21 04:13:58 +00:00
add_n.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
addmul_1.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
asm-syntax.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
backtrace.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bsd-_setjmp.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
bsd-setjmp.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
bzero.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
configure i386: Fail at configure time for i386 builds. 2013-04-06 12:00:35 -04:00
configure.in i386: Fail at configure time for i386 builds. 2013-04-06 12:00:35 -04:00
crti.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
crtn.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-irel.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-lookupcfg.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-machine.h Remove miscellaneous bounded-pointers relics in C code. 2013-02-15 00:51:53 +00:00
dl-procinfo.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-procinfo.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-tls.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-tlsdesc.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-tlsdesc.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-trampoline.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ffs.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
gccframe.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
gmp-mparam.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
htonl.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
htons.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
i386-mcount.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Implies Use x86-64 bits/byteswap.h for both i386 and x86_64 2012-05-30 14:13:18 -07:00
jmpbuf-offsets.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
jmpbuf-unwind.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ldbl2mpn.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ldsodefs.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
lshift.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
machine-gmon.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Makefile Support crti.S and crtn.S provided directly by architectures. 2012-02-08 01:45:26 +00:00
memchr.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
memcmp.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
memcopy.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memset.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memusage.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
mp_clz_tab.c Update. 2002-03-14 20:48:50 +00:00
mul_1.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
rawmemchr.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
rshift.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
setfpucw.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
setjmp.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
stackguard-macros.h Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00:00
stackinfo.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
start.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
stpcpy.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
stpncpy.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strchr.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strchrnul.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strcspn.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
string-inlines.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strlen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strpbrk.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strrchr.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strspn.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strtok_r.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
strtok.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
sub_n.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
submul_1.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
sysdep.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tls-macros.h Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
tlsdesc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tlsdesc.sym Introduce TLS descriptors for i386 and x86_64. 2008-05-13 05:41:30 +00:00
tst-audit.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-stack-align.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Versions Merge sysdeps/i386/elf/Versions into sysdeps/i386/Versions. 2012-03-19 21:02:40 +01:00