commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Maisonobe <Luc.Maison...@free.fr>
Subject Re: [MATH] FastMath evaluation discrepancies
Date Mon, 24 Jan 2011 19:19:00 GMT
Hi Sebb,

Le 24/01/2011 18:59, sebb a écrit :
> I've now fixed the reflection-based tests.

Great.
I didn't knew about this way to use junit.

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

This should be fixed in subversion now (r1062928 and r1062929)

thanks,
Luc

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


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


Mime
View raw message