Eitan Adler
f5ce166436
msun: signed overflow in atan2
...
As a component of atan2(y, x), the case of x == 1.0 is farmed out to
atan(y). The current implementation of this comparison is vulnerable
to signed integer underflow (that is, undefined behavior), and it's
performed in a somewhat more complicated way than it need be. Change
it to not be quite so cute, rather directly comparing the high/low
bits of x to the specific IEEE-754 bit pattern that encodes 1.0.
Note that while there are three different e_atan* files in the
relevant directory, only this one needs fixing. e_atan2f.c already
compares against the full bit pattern encoding 1.0f, while
e_atan2l.cuses bitwise-ands/ors/nots and so doesn't require a change.
Closes #130
Submitted by: Jeff Walden (@jswalden github PR #130 )
Reviewed by: bde
MFC After: 1 month
2018-02-14 07:59:30 +00:00
..
2017-12-27 03:23:41 +00:00
2017-11-26 02:00:33 +00:00
2017-08-29 22:32:29 +00:00
2017-04-23 22:31:12 +00:00
2018-02-14 07:59:30 +00:00
2016-09-30 20:20:07 +00:00
2016-09-04 12:01:32 +00:00
2015-05-17 16:27:06 +00:00
2015-05-17 16:27:06 +00:00
2015-05-17 16:27:06 +00:00
2015-05-17 16:27:06 +00:00
2015-03-10 17:10:54 +00:00
2015-03-10 17:10:54 +00:00
2016-10-05 17:04:58 +00:00
2017-12-03 01:56:03 +00:00
2017-11-26 02:00:33 +00:00
2016-09-30 20:20:07 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2016-05-01 19:37:33 +00:00
2017-05-28 06:13:38 +00:00
2017-05-28 06:13:38 +00:00
2017-05-28 06:13:38 +00:00
2017-08-12 18:28:02 +00:00
2017-05-28 06:13:38 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2016-05-01 19:37:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2016-09-28 14:48:34 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2016-09-28 14:48:34 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2016-09-28 14:48:34 +00:00
2016-09-28 14:48:34 +00:00
2016-09-28 14:48:34 +00:00
2017-11-26 02:00:33 +00:00
2017-05-28 06:13:38 +00:00
2017-05-28 06:13:38 +00:00
2017-05-28 06:13:38 +00:00
2017-11-26 02:00:33 +00:00
2016-09-30 20:20:07 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00