[AArch64] update libm-test-ulps

Message ID 5523BAB1.5020700@arm.com
State Superseded
Headers

Commit Message

Szabolcs Nagy April 7, 2015, 11:08 a.m. UTC
  Regenerated libm-test-ulps for AArch64 using 'make regen-ulps'.

There are some minor differences compared to x86_64
float, ifloat, double and idouble ulps, is that OK?

I also have

Function: "pow_tonearest":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1

but no other function has _tonearest, is that OK?
  

Comments

Adhemerval Zanella April 7, 2015, 11:50 a.m. UTC | #1
Hi,

This is ok, small ulps for some function is expected, you need to 
watch out only if the precision cross a higher threshold (like the 
some for IBM long double) or if your are seeing precision issues
in function that are *not* suppose show any.


On 07-04-2015 08:08, Szabolcs Nagy wrote:
> Regenerated libm-test-ulps for AArch64 using 'make regen-ulps'.
>
> There are some minor differences compared to x86_64
> float, ifloat, double and idouble ulps, is that OK?
>
> I also have
>
> Function: "pow_tonearest":
> float: 1
> ifloat: 1
> ildouble: 1
> ldouble: 1
>
> but no other function has _tonearest, is that OK?
>
>
>
  
Joseph Myers April 7, 2015, 4:55 p.m. UTC | #2
On Tue, 7 Apr 2015, Szabolcs Nagy wrote:

> Regenerated libm-test-ulps for AArch64 using 'make regen-ulps'.
> 
> There are some minor differences compared to x86_64
> float, ifloat, double and idouble ulps, is that OK?
> 
> I also have
> 
> Function: "pow_tonearest":
> float: 1
> ifloat: 1
> ildouble: 1
> ldouble: 1
> 
> but no other function has _tonearest, is that OK?

See what I said in 
<https://sourceware.org/ml/libc-alpha/2015-03/msg00756.html>.  You need to 
regenerate *from scratch* every so often (say every release cycle) and the 
presence of *_tonearest entries indicates that the last such from-scratch 
regeneration was a long time ago.
  

Patch

diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps
index f5c479a..7bb127f 100644
--- a/sysdeps/aarch64/libm-test-ulps
+++ b/sysdeps/aarch64/libm-test-ulps
@@ -1,6 +1,10 @@ 
 # Begin of automatic generation
 
 # Maximal error of functions:
+Function: "acos":
+float: 1
+ifloat: 1
+
 Function: "acos_downward":
 float: 1
 ifloat: 1
@@ -8,30 +12,56 @@  ildouble: 1
 ldouble: 1
 
 Function: "acos_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "acos_upward":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: "acosh":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+ildouble: 1
 ldouble: 1
 
 Function: "acosh_downward":
+double: 1
 float: 1
-ldouble: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
 
 Function: "acosh_towardzero":
+double: 1
 float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
 ldouble: 1
 
 Function: "acosh_upward":
 double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: "asin":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -60,33 +90,34 @@  ldouble: 1
 Function: "asinh":
 double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "asinh_downward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
 
 Function: "asinh_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: "asinh_upward":
-double: 2
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
 
 Function: "atan":
 double: 1
@@ -147,12 +178,6 @@  ildouble: 1
 ldouble: 1
 
 Function: "atanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh_downward":
 double: 1
 float: 1
 idouble: 1
@@ -160,19 +185,29 @@  ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "atanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+Function: "atanh_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
 
-Function: "atanh_upward":
+Function: "atanh_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+ifloat: 2
+ildouble: 2
+ldouble: 2
+
+Function: "atanh_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 3
+ldouble: 3
 
 Function: Real part of "cacos":
 double: 1
@@ -1425,22 +1460,24 @@  double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
 
 Function: "expm1_towardzero":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
 
 Function: "expm1_upward":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
 
 Function: "gamma":
 double: 1
@@ -1669,29 +1706,33 @@  idouble: 1
 ifloat: 1
 
 Function: "log2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
 Function: "log2_downward":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
 ildouble: 1
 ldouble: 1
 
 Function: "log2_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 
 Function: "log2_upward":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 ildouble: 1
 ldouble: 1
@@ -1834,25 +1875,37 @@  ifloat: 1
 ildouble: 2
 ldouble: 2
 
-Function: "sinh_downward":
+Function: "sinh":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: "sinh_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 2
+ldouble: 2
+
 Function: "sinh_towardzero":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
 
 Function: "sinh_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 2
+ldouble: 2
 
 Function: "tan_downward":
 double: 1