[ 
https://issues.apache.org/jira/browse/MATH-486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12983676#action_12983676
 ] 

Sebb commented on MATH-486:
---------------------------

I wrote that toDegrees(Double.MAX_VALUE) should be INFINITY because that is how 
the Sun/Oracle Math.toDegrees() method behaves.

[Sorry, my bad - the methods are both plural in the code - only the JIRA is 
inconsistent]


> 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.

Reply via email to