commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] Updated: (MATH-494) FastMath atan2 does not agree with StrictMath for special cases
Date Mon, 24 Jan 2011 13:00:50 GMT

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

Sebb updated MATH-494:
----------------------

    Affects Version/s: 3.0
                       2.2

> FastMath atan2 does not agree with StrictMath for special cases
> ---------------------------------------------------------------
>
>                 Key: MATH-494
>                 URL: https://issues.apache.org/jira/browse/MATH-494
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 2.2, 3.0
>            Reporter: Sebb
>             Fix For: 2.2, 3.0
>
>
> FastMath atan2 does not agree with StrictMath for special cases.
> There are two sign problems:
> atan2(double -0.0, double -Infinity) expected -3.141592653589793 actual 3.141592653589793
entries [1, 4]
> atan2(double -0.0, double Infinity) expected -0.0 actual 0.0 entries [1, 5]
> A lot of NaNs where there should be a valid return:
> atan2(double -1.7976931348623157E308, double -1.7976931348623157E308) expected -2.356194490192345
actual NaN entries [6, 6]
> atan2(double -1.7976931348623157E308, double 1.7976931348623157E308) expected -0.7853981633974483
actual NaN entries [6, 7]
> atan2(double -1.7976931348623157E308, double -1.1102230246251565E-16) expected -1.5707963267948968
actual NaN entries [6, 8]
> atan2(double -1.7976931348623157E308, double 1.1102230246251565E-16) expected -1.5707963267948966
actual NaN entries [6, 9]
> atan2(double -1.7976931348623157E308, double -2.2250738585072014E-308) expected -1.5707963267948968
actual NaN entries [6, 10]
> atan2(double -1.7976931348623157E308, double 2.2250738585072014E-308) expected -1.5707963267948966
actual NaN entries [6, 11]
> atan2(double -1.7976931348623157E308, double -4.9E-324) expected -1.5707963267948968
actual NaN entries [6, 12]
> atan2(double -1.7976931348623157E308, double 4.9E-324) expected -1.5707963267948966 actual
NaN entries [6, 13]
> atan2(double 1.7976931348623157E308, double -1.7976931348623157E308) expected 2.356194490192345
actual NaN entries [7, 6]
> atan2(double 1.7976931348623157E308, double 1.7976931348623157E308) expected 0.7853981633974483
actual NaN entries [7, 7]
> atan2(double 1.7976931348623157E308, double -1.1102230246251565E-16) expected 1.5707963267948968
actual NaN entries [7, 8]
> atan2(double 1.7976931348623157E308, double 1.1102230246251565E-16) expected 1.5707963267948966
actual NaN entries [7, 9]
> atan2(double 1.7976931348623157E308, double -2.2250738585072014E-308) expected 1.5707963267948968
actual NaN entries [7, 10]
> atan2(double 1.7976931348623157E308, double 2.2250738585072014E-308) expected 1.5707963267948966
actual NaN entries [7, 11]
> atan2(double 1.7976931348623157E308, double -4.9E-324) expected 1.5707963267948968 actual
NaN entries [7, 12]
> atan2(double 1.7976931348623157E308, double 4.9E-324) expected 1.5707963267948966 actual
NaN entries [7, 13]
> atan2(double -1.1102230246251565E-16, double -1.7976931348623157E308) expected -3.141592653589793
actual NaN entries [8, 6]
> atan2(double -1.1102230246251565E-16, double 1.7976931348623157E308) expected -0.0 actual
NaN entries [8, 7]
> atan2(double -1.1102230246251565E-16, double -4.9E-324) expected -1.5707963267948968
actual NaN entries [8, 12]
> atan2(double -1.1102230246251565E-16, double 4.9E-324) expected -1.5707963267948966 actual
NaN entries [8, 13]
> atan2(double 1.1102230246251565E-16, double -1.7976931348623157E308) expected 3.141592653589793
actual NaN entries [9, 6]
> atan2(double 1.1102230246251565E-16, double 1.7976931348623157E308) expected 0.0 actual
NaN entries [9, 7]
> atan2(double 1.1102230246251565E-16, double -4.9E-324) expected 1.5707963267948968 actual
NaN entries [9, 12]
> atan2(double 1.1102230246251565E-16, double 4.9E-324) expected 1.5707963267948966 actual
NaN entries [9, 13]
> atan2(double -2.2250738585072014E-308, double -1.7976931348623157E308) expected -3.141592653589793
actual NaN entries [10, 6]
> atan2(double -2.2250738585072014E-308, double 1.7976931348623157E308) expected -0.0 actual
NaN entries [10, 7]
> atan2(double 2.2250738585072014E-308, double -1.7976931348623157E308) expected 3.141592653589793
actual NaN entries [11, 6]
> atan2(double 2.2250738585072014E-308, double 1.7976931348623157E308) expected 0.0 actual
NaN entries [11, 7]
> atan2(double -4.9E-324, double -1.7976931348623157E308) expected -3.141592653589793 actual
NaN entries [12, 6]
> atan2(double -4.9E-324, double 1.7976931348623157E308) expected -0.0 actual NaN entries
[12, 7]
> atan2(double 4.9E-324, double -1.7976931348623157E308) expected 3.141592653589793 actual
NaN entries [13, 6]
> atan2(double 4.9E-324, double 1.7976931348623157E308) expected 0.0 actual NaN entries
[13, 7]
> There are also some spurious errors, which are due to a bug in the test case - expecting
the values to be exactly the same as StrictMath
> atan2(double 2.2250738585072014E-308, double -4.9E-324) expected 1.570796326794897 actual
1.5707963267948968 entries [11, 12]
> atan2(double -2.2250738585072014E-308, double -4.9E-324) expected -1.570796326794897
actual -1.5707963267948968 entries [10, 12]
> atan2(double 1.1102230246251565E-16, double -2.2250738585072014E-308) expected 1.5707963267948968
actual 1.5707963267948966 entries [9, 10]
> atan2(double -1.1102230246251565E-16, double -2.2250738585072014E-308) expected -1.5707963267948968
actual -1.5707963267948966 entries [8, 10]

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