[ 
https://issues.apache.org/jira/browse/MATH-486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sebb resolved MATH-486.
-----------------------

       Resolution: Fixed
    Fix Version/s: 3.0
                   2.2

Fixed by setting temp =0 for very large input.

> 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
>             Fix For: 2.2, 3.0
>
>
> 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.

Reply via email to