commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] Created: (MATH-486) FastMath toRadian and toDegree don't handle large double numbers well
Date Wed, 19 Jan 2011 04:46:43 GMT
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.


Mime
View raw message