Fix accuracy problem in generic sin

This commit is contained in:
Ulrich Drepper 2011-10-29 14:08:56 -04:00
parent 09e1869773
commit cb95113e30
4 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2011-07-03 Andreas Jaeger <aj@suse.de>
[BZ #10709]
* sysdeps/ieee754/dbl-64/s_sin.c (__sin): Fix incorrect rounding
of sin. Patch suggested by Paul Zimmermann <zimmerma+gcc@loria.fr>.
* math/libm-test.inc (sin_test): Add test case.
2011-10-29 Ulrich Drepper <drepper@gmail.com>
[BZ #13337]

8
NEWS
View File

@ -9,10 +9,10 @@ Version 2.15
* The following bugs are resolved with this release:
6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892,
12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114,
13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291, 13335,
13337, 13344
6779, 6783, 9696, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 12885,
12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092,
13114, 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291,
13335, 13337, 13344
* New program pldd to list loaded object of a process
Implemented by Ulrich Drepper.

View File

@ -5642,6 +5642,7 @@ sin_test (void)
#ifdef TEST_DOUBLE
TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868);
TEST_f_f (sin, 2.522464e-1, 2.4957989804940911e-1);
#endif
END (sin);

View File

@ -138,7 +138,7 @@ __sin(double x){
cor=(ssn+s*ccs-sn*c)+cs*s;
res=sn+cor;
cor=(sn-res)+cor;
return (res==res+1.025*cor)? res : slow1(x);
return (res==res+1.096*cor)? res : slow1(x);
} /* else if (k < 0x3feb6000) */
/*----------------------- 0.855469 <|x|<2.426265 ----------------------*/