commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [MATH] FastMath evaluation discrepancies
Date Mon, 24 Jan 2011 19:16:33 GMT
On 24 January 2011 17:59, sebb <sebbaz@gmail.com> wrote:
> I've now fixed the reflection-based tests.
>
> Rather than ignoring results which are within one ULP of the expected
> value, these are treated as errors at present.
> If double or float numbers differ, these are now shown in hex, rather
> than floating-point as many of the routines use bit operations anyway.
>
> The results are currently:
>
> double atan2(-1.7976931348623157E308, -1.1102230246251565E-16)
> expected bff921fb54442d19 actual bff921fb54442d18 entries [6, 8]
> double atan2(-1.7976931348623157E308, -2.2250738585072014E-308)
> expected bff921fb54442d19 actual bff921fb54442d18 entries [6, 10]
> double atan2(-1.7976931348623157E308, -4.9E-324) expected
> bff921fb54442d19 actual bff921fb54442d18 entries [6, 12]
> double atan2(1.7976931348623157E308, -1.1102230246251565E-16) expected
> 3ff921fb54442d19 actual 3ff921fb54442d18 entries [7, 8]
> double atan2(1.7976931348623157E308, -2.2250738585072014E-308)
> expected 3ff921fb54442d19 actual 3ff921fb54442d18 entries [7, 10]
> double atan2(1.7976931348623157E308, -4.9E-324) expected
> 3ff921fb54442d19 actual 3ff921fb54442d18 entries [7, 12]
> double atan2(-1.1102230246251565E-16, -2.2250738585072014E-308)
> expected bff921fb54442d19 actual bff921fb54442d18 entries [8, 10]
> double atan2(-1.1102230246251565E-16, -4.9E-324) expected
> bff921fb54442d19 actual bff921fb54442d18 entries [8, 12]
> double atan2(1.1102230246251565E-16, -2.2250738585072014E-308)
> expected 3ff921fb54442d19 actual 3ff921fb54442d18 entries [9, 10]
> double atan2(1.1102230246251565E-16, -4.9E-324) expected
> 3ff921fb54442d19 actual 3ff921fb54442d18 entries [9, 12]
> double atan2(-2.2250738585072014E-308, -4.9E-324) expected
> bff921fb54442d1a actual bff921fb54442d19 entries [10, 12]
> double atan2(2.2250738585072014E-308, -4.9E-324) expected
> 3ff921fb54442d1a actual 3ff921fb54442d19 entries [11, 12]
>
> double scalb(-1.7976931348623157E308, 2147483647) expected -Infinity
> actual -8.988465674311579E307 entries [6, 5]
> double scalb(1.7976931348623157E308, 2147483647) expected Infinity
> actual 8.988465674311579E307 entries [7, 5]
> double scalb(-1.1102230246251565E-16, 2147483647) expected -Infinity
> actual -5.551115123125783E-17 entries [8, 5]
> double scalb(1.1102230246251565E-16, 2147483647) expected Infinity
> actual 5.551115123125783E-17 entries [9, 5]
> double scalb(-2.2250738585072014E-308, 2147483647) expected -Infinity
> actual -0.0 entries [10, 5]
> double scalb(2.2250738585072014E-308, 2147483647) expected Infinity
> actual 0.0 entries [11, 5]
>
> float scalb(3.4028235E38, 2147483647) expected Infinity actual
> 1.7014117E38 entries [7, 5]
> float scalb(-3.4028235E38, 2147483647) expected -Infinity actual
> -1.7014117E38 entries [9, 5]
>
> double toRadians(-1.7976931348623157E308) expected ff91df46a2529d38
> actual ff91df46a2529d39 entries [6]
> double toRadians(1.7976931348623157E308) expected 7f91df46a2529d38
> actual 7f91df46a2529d39 entries [7]
>
> I think the atan2() and toRadians() differences are OK, because they
> are within one ULP, the values have the same sign, and are very small.
> I just need to work out how to suppress those safely.
>
> The scalb() differences may be genuine errors.

They are - I've raised a JIRA.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message