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