mirror of git://sourceware.org/git/glibc.git
Fix accuracy problem in generic sin
This commit is contained in:
parent
09e1869773
commit
cb95113e30
|
@ -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>
|
2011-10-29 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
[BZ #13337]
|
[BZ #13337]
|
||||||
|
|
8
NEWS
8
NEWS
|
@ -9,10 +9,10 @@ Version 2.15
|
||||||
|
|
||||||
* The following bugs are resolved with this release:
|
* The following bugs are resolved with this release:
|
||||||
|
|
||||||
6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892,
|
6779, 6783, 9696, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 12885,
|
||||||
12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114,
|
12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092,
|
||||||
13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291, 13335,
|
13114, 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291,
|
||||||
13337, 13344
|
13335, 13337, 13344
|
||||||
|
|
||||||
* New program pldd to list loaded object of a process
|
* New program pldd to list loaded object of a process
|
||||||
Implemented by Ulrich Drepper.
|
Implemented by Ulrich Drepper.
|
||||||
|
|
|
@ -5642,6 +5642,7 @@ sin_test (void)
|
||||||
|
|
||||||
#ifdef TEST_DOUBLE
|
#ifdef TEST_DOUBLE
|
||||||
TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868);
|
TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868);
|
||||||
|
TEST_f_f (sin, 2.522464e-1, 2.4957989804940911e-1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
END (sin);
|
END (sin);
|
||||||
|
|
|
@ -138,7 +138,7 @@ __sin(double x){
|
||||||
cor=(ssn+s*ccs-sn*c)+cs*s;
|
cor=(ssn+s*ccs-sn*c)+cs*s;
|
||||||
res=sn+cor;
|
res=sn+cor;
|
||||||
cor=(sn-res)+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) */
|
} /* else if (k < 0x3feb6000) */
|
||||||
|
|
||||||
/*----------------------- 0.855469 <|x|<2.426265 ----------------------*/
|
/*----------------------- 0.855469 <|x|<2.426265 ----------------------*/
|
||||||
|
|
Loading…
Reference in New Issue