FastMath toRadian and toDegree don't handle large double numbers well
---------------------------------------------------------------------
Key: MATH-486
URL: https://issues.apache.org/jira/browse/MATH-486
Project: Commons Math
Issue Type: Bug
Affects Versions: 2.2, 3.0
Reporter: Sebb
FastMath toRadian and toDegree don't handle very large double numbers well.
For example, toDegrees(Double.MAX_VALUE) => NaN, but it should be INFINITY
and toRadian(Double.MAX_VALUE) => NaN instead of the proper value
This is because of the lines:
{code}
double temp = x * 1073741824.0; // == 0x40 00 00 00
double xa = x + temp - temp; // => NaN for x large enough
{code}
This seems to be an attempt to split x into a large and a small part, but fails
when x >= MAX_VALUE / 1073741824.0
Not sure how to fix this
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.