This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.18-675-g64a17f1


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  64a17f1adde4715bb6607f64decd73b2df9e6852 (commit)
      from  eb983568758d85506a348ff63836a114584458b1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=64a17f1adde4715bb6607f64decd73b2df9e6852

commit 64a17f1adde4715bb6607f64decd73b2df9e6852
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Dec 19 21:28:30 2013 +0000

    Move tests of cabs and carg from libm-test.inc to auto-libm-test-in.
    
    This patch moves tests of cabs and carg to auto-libm-test-in, adding
    the required support to gen-auto-libm-tests.
    
    Tested x86_64 and x86; no ulps updates needed.
    
    	* math/auto-libm-test-in: Add tests of cabs and carg.
    	* math/auto-libm-test-out: Regenerated.
    	* math/libm-test.inc (cabs_test_data): Use AUTO_TESTS_c_f.
    	(carg_test_data): Likewise.
    	* math/gen-auto-libm-tests.c (func_calc_method): Add value
    	mpc_c_f.
    	(func_calc_desc): Add mpc_c_f union field.
    	(test_functions): Add cabs and carg.
    	(calc_generic_results): Handle mpc_c_f.

diff --git a/ChangeLog b/ChangeLog
index fe6d523..9ebb675 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2013-12-19  Joseph Myers  <joseph@codesourcery.com>
 
+	* math/auto-libm-test-in: Add tests of cabs and carg.
+	* math/auto-libm-test-out: Regenerated.
+	* math/libm-test.inc (cabs_test_data): Use AUTO_TESTS_c_f.
+	(carg_test_data): Likewise.
+	* math/gen-auto-libm-tests.c (func_calc_method): Add value
+	mpc_c_f.
+	(func_calc_desc): Add mpc_c_f union field.
+	(test_functions): Add cabs and carg.
+	(calc_generic_results): Handle mpc_c_f.
+
 	* sysdeps/powerpc/powerpc32/libgcc-compat.S
 	[_SOFT_FLOAT || __NO_FPRS__] (__fixdfdi_v_glibc20): Do not define
 	as a macro and a compat symbol.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 49f6604..383fd01 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -105,6 +105,46 @@ atanh 0
 atanh -0
 atanh 0.75
 
+# cabs (x,y) == cabs (y,x).
+cabs 0.75 12.390625
+# cabs (x,y) == cabs (-x,y).
+cabs -12.390625 0.75
+# cabs (x,y) == cabs (-y,x).
+cabs -0.75 12.390625
+# cabs (x,y) == cabs (-x,-y).
+cabs -12.390625 -0.75
+# cabs (x,y) == cabs (-y,-x).
+cabs -0.75 -12.390625
+# cabs (x,0) == fabs (x).
+cabs -0.75 0
+cabs 0.75 0
+cabs -1.0 0
+cabs 1.0 0
+cabs -5.7e7 0
+cabs 5.7e7 0
+cabs 0.75 1.25
+
+# carg (x + i 0) == 0 for x > 0.
+carg 2.0 0
+# carg (x - i 0) == -0 for x > 0.
+carg 2.0 -0
+carg 0 0
+carg 0 -0
+# carg (x + i 0) == +pi for x < 0.
+carg -2.0 0
+# carg (x - i 0) == -pi for x < 0.
+carg -2.0 -0
+carg -0 0
+carg -0 -0
+# carg (+0 + i y) == pi/2 for y > 0.
+carg 0 2.0
+# carg (-0 + i y) == pi/2 for y > 0.
+carg -0 2.0
+# carg (+0 + i y) == -pi/2 for y < 0.
+carg 0 -2.0
+# carg (-0 + i y) == -pi/2 for y < 0.
+carg -0 -2.0
+
 cbrt 0.0
 cbrt -0
 cbrt -0.001
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 4df6101..54cfbde 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -4851,6 +4851,606 @@ atanh 0.75
 = atanh tonearest ldbl-128ibm 0xcp-4L : 0xf.913957192d2baa37b4a4b6793p-4L : inexact-ok
 = atanh towardzero ldbl-128ibm 0xcp-4L : 0xf.913957192d2baa37b4a4b6793p-4L : inexact-ok
 = atanh upward ldbl-128ibm 0xcp-4L : 0xf.913957192d2baa37b4a4b67934p-4L : inexact-ok
+cabs 0.75 12.390625
+= cabs downward flt-32 0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs tonearest flt-32 0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs towardzero flt-32 0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs upward flt-32 0xcp-4f 0xc.64p+0f : 0xc.69ce4p+0f : inexact-ok
+= cabs downward dbl-64 0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs tonearest dbl-64 0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs towardzero dbl-64 0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs upward dbl-64 0xcp-4 0xc.64p+0 : 0xc.69ce375a71e1p+0 : inexact-ok
+= cabs downward ldbl-96-intel 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-intel 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-intel 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-96-m68k 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-m68k 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-128 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs tonearest ldbl-128 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs towardzero ldbl-128 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs upward ldbl-128 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9fp+0L : inexact-ok
+= cabs downward ldbl-128ibm 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs upward ldbl-128ibm 0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830ccp+0L : inexact-ok
+cabs -12.390625 0.75
+= cabs downward flt-32 -0xc.64p+0f 0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs tonearest flt-32 -0xc.64p+0f 0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs towardzero flt-32 -0xc.64p+0f 0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs upward flt-32 -0xc.64p+0f 0xcp-4f : 0xc.69ce4p+0f : inexact-ok
+= cabs downward dbl-64 -0xc.64p+0 0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs tonearest dbl-64 -0xc.64p+0 0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs towardzero dbl-64 -0xc.64p+0 0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs upward dbl-64 -0xc.64p+0 0xcp-4 : 0xc.69ce375a71e1p+0 : inexact-ok
+= cabs downward ldbl-96-intel -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-intel -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-intel -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-96-m68k -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-m68k -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-128 -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs tonearest ldbl-128 -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs towardzero ldbl-128 -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs upward ldbl-128 -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c9fp+0L : inexact-ok
+= cabs downward ldbl-128ibm -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs upward ldbl-128ibm -0xc.64p+0L 0xcp-4L : 0xc.69ce375a71e09a9df3616830ccp+0L : inexact-ok
+cabs -0.75 12.390625
+= cabs downward flt-32 -0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs tonearest flt-32 -0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs towardzero flt-32 -0xcp-4f 0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs upward flt-32 -0xcp-4f 0xc.64p+0f : 0xc.69ce4p+0f : inexact-ok
+= cabs downward dbl-64 -0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs tonearest dbl-64 -0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs towardzero dbl-64 -0xcp-4 0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs upward dbl-64 -0xcp-4 0xc.64p+0 : 0xc.69ce375a71e1p+0 : inexact-ok
+= cabs downward ldbl-96-intel -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-intel -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-intel -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-96-m68k -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-m68k -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-128 -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs tonearest ldbl-128 -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs towardzero ldbl-128 -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs upward ldbl-128 -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9fp+0L : inexact-ok
+= cabs downward ldbl-128ibm -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs upward ldbl-128ibm -0xcp-4L 0xc.64p+0L : 0xc.69ce375a71e09a9df3616830ccp+0L : inexact-ok
+cabs -12.390625 -0.75
+= cabs downward flt-32 -0xc.64p+0f -0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs tonearest flt-32 -0xc.64p+0f -0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs towardzero flt-32 -0xc.64p+0f -0xcp-4f : 0xc.69ce3p+0f : inexact-ok
+= cabs upward flt-32 -0xc.64p+0f -0xcp-4f : 0xc.69ce4p+0f : inexact-ok
+= cabs downward dbl-64 -0xc.64p+0 -0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs tonearest dbl-64 -0xc.64p+0 -0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs towardzero dbl-64 -0xc.64p+0 -0xcp-4 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs upward dbl-64 -0xc.64p+0 -0xcp-4 : 0xc.69ce375a71e1p+0 : inexact-ok
+= cabs downward ldbl-96-intel -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-intel -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-intel -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-96-m68k -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-m68k -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-128 -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs tonearest ldbl-128 -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs towardzero ldbl-128 -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs upward ldbl-128 -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c9fp+0L : inexact-ok
+= cabs downward ldbl-128ibm -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs upward ldbl-128ibm -0xc.64p+0L -0xcp-4L : 0xc.69ce375a71e09a9df3616830ccp+0L : inexact-ok
+cabs -0.75 -12.390625
+= cabs downward flt-32 -0xcp-4f -0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs tonearest flt-32 -0xcp-4f -0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs towardzero flt-32 -0xcp-4f -0xc.64p+0f : 0xc.69ce3p+0f : inexact-ok
+= cabs upward flt-32 -0xcp-4f -0xc.64p+0f : 0xc.69ce4p+0f : inexact-ok
+= cabs downward dbl-64 -0xcp-4 -0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs tonearest dbl-64 -0xcp-4 -0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs towardzero dbl-64 -0xcp-4 -0xc.64p+0 : 0xc.69ce375a71e08p+0 : inexact-ok
+= cabs upward dbl-64 -0xcp-4 -0xc.64p+0 : 0xc.69ce375a71e1p+0 : inexact-ok
+= cabs downward ldbl-96-intel -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-intel -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-intel -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-96-m68k -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9p+0L : inexact-ok
+= cabs upward ldbl-96-m68k -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09aap+0L : inexact-ok
+= cabs downward ldbl-128 -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs tonearest ldbl-128 -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs towardzero ldbl-128 -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9e8p+0L : inexact-ok
+= cabs upward ldbl-128 -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c9fp+0L : inexact-ok
+= cabs downward ldbl-128ibm -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830c8p+0L : inexact-ok
+= cabs upward ldbl-128ibm -0xcp-4L -0xc.64p+0L : 0xc.69ce375a71e09a9df3616830ccp+0L : inexact-ok
+cabs -0.75 0
+= cabs downward flt-32 -0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs tonearest flt-32 -0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs towardzero flt-32 -0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs upward flt-32 -0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs downward dbl-64 -0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs tonearest dbl-64 -0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs towardzero dbl-64 -0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs upward dbl-64 -0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs downward ldbl-96-intel -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-96-intel -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-96-intel -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-96-intel -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-96-m68k -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-96-m68k -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-128 -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-128 -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-128 -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-128 -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-128ibm -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-128ibm -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-128ibm -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-128ibm -0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+cabs 0.75 0
+= cabs downward flt-32 0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs tonearest flt-32 0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs towardzero flt-32 0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs upward flt-32 0xcp-4f 0x0p+0f : 0xcp-4f : inexact-ok
+= cabs downward dbl-64 0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs tonearest dbl-64 0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs towardzero dbl-64 0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs upward dbl-64 0xcp-4 0x0p+0 : 0xcp-4 : inexact-ok
+= cabs downward ldbl-96-intel 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-96-intel 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-96-intel 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-96-intel 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-96-m68k 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-96-m68k 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-96-m68k 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-96-m68k 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-128 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-128 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-128 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-128 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs downward ldbl-128ibm 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs tonearest ldbl-128ibm 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs towardzero ldbl-128ibm 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+= cabs upward ldbl-128ibm 0xcp-4L 0x0p+0L : 0xcp-4L : inexact-ok
+cabs -1.0 0
+= cabs downward flt-32 -0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs tonearest flt-32 -0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs towardzero flt-32 -0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs upward flt-32 -0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs downward dbl-64 -0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs tonearest dbl-64 -0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs towardzero dbl-64 -0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs upward dbl-64 -0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs downward ldbl-96-intel -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-96-intel -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-96-intel -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-96-m68k -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-96-m68k -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-128 -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-128 -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-128 -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-128 -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-128ibm -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-128ibm -0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+cabs 1.0 0
+= cabs downward flt-32 0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs tonearest flt-32 0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs towardzero flt-32 0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs upward flt-32 0x1p+0f 0x0p+0f : 0x1p+0f : inexact-ok
+= cabs downward dbl-64 0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs tonearest dbl-64 0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs towardzero dbl-64 0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs upward dbl-64 0x1p+0 0x0p+0 : 0x1p+0 : inexact-ok
+= cabs downward ldbl-96-intel 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-96-intel 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-96-intel 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-96-intel 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-96-m68k 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-96-m68k 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-128 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-128 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-128 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-128 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs downward ldbl-128ibm 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+= cabs upward ldbl-128ibm 0x1p+0L 0x0p+0L : 0x1p+0L : inexact-ok
+cabs -5.7e7 0
+= cabs downward flt-32 -0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs tonearest flt-32 -0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs towardzero flt-32 -0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs upward flt-32 -0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs downward dbl-64 -0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs tonearest dbl-64 -0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs towardzero dbl-64 -0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs upward dbl-64 -0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs downward ldbl-96-intel -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-96-intel -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-96-intel -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-96-intel -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-96-m68k -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-96-m68k -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-96-m68k -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-96-m68k -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-128 -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-128 -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-128 -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-128 -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-128ibm -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-128ibm -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-128ibm -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-128ibm -0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+cabs 5.7e7 0
+= cabs downward flt-32 0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs tonearest flt-32 0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs towardzero flt-32 0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs upward flt-32 0x3.65c04p+24f 0x0p+0f : 0x3.65c04p+24f : inexact-ok
+= cabs downward dbl-64 0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs tonearest dbl-64 0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs towardzero dbl-64 0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs upward dbl-64 0x3.65c04p+24 0x0p+0 : 0x3.65c04p+24 : inexact-ok
+= cabs downward ldbl-96-intel 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-96-intel 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-96-intel 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-96-intel 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-96-m68k 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-96-m68k 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-96-m68k 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-96-m68k 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-128 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-128 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-128 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-128 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs downward ldbl-128ibm 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs tonearest ldbl-128ibm 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs towardzero ldbl-128ibm 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+= cabs upward ldbl-128ibm 0x3.65c04p+24L 0x0p+0L : 0x3.65c04p+24L : inexact-ok
+cabs 0.75 1.25
+= cabs downward flt-32 0xcp-4f 0x1.4p+0f : 0x1.752e5p+0f : inexact-ok
+= cabs tonearest flt-32 0xcp-4f 0x1.4p+0f : 0x1.752e5p+0f : inexact-ok
+= cabs towardzero flt-32 0xcp-4f 0x1.4p+0f : 0x1.752e5p+0f : inexact-ok
+= cabs upward flt-32 0xcp-4f 0x1.4p+0f : 0x1.752e52p+0f : inexact-ok
+= cabs downward dbl-64 0xcp-4 0x1.4p+0 : 0x1.752e50db3a3a1p+0 : inexact-ok
+= cabs tonearest dbl-64 0xcp-4 0x1.4p+0 : 0x1.752e50db3a3a2p+0 : inexact-ok
+= cabs towardzero dbl-64 0xcp-4 0x1.4p+0 : 0x1.752e50db3a3a1p+0 : inexact-ok
+= cabs upward dbl-64 0xcp-4 0x1.4p+0 : 0x1.752e50db3a3a2p+0 : inexact-ok
+= cabs downward ldbl-96-intel 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1ap+0L : inexact-ok
+= cabs tonearest ldbl-96-intel 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1cp+0L : inexact-ok
+= cabs towardzero ldbl-96-intel 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1ap+0L : inexact-ok
+= cabs upward ldbl-96-intel 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1cp+0L : inexact-ok
+= cabs downward ldbl-96-m68k 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1ap+0L : inexact-ok
+= cabs tonearest ldbl-96-m68k 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1cp+0L : inexact-ok
+= cabs towardzero ldbl-96-m68k 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1ap+0L : inexact-ok
+= cabs upward ldbl-96-m68k 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1cp+0L : inexact-ok
+= cabs downward ldbl-128 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1fbap+0L : inexact-ok
+= cabs tonearest ldbl-128 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1fbbp+0L : inexact-ok
+= cabs towardzero ldbl-128 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1fbap+0L : inexact-ok
+= cabs upward ldbl-128 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1fbbp+0L : inexact-ok
+= cabs downward ldbl-128ibm 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1f8p+0L : inexact-ok
+= cabs tonearest ldbl-128ibm 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1f8p+0L : inexact-ok
+= cabs towardzero ldbl-128ibm 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f1f8p+0L : inexact-ok
+= cabs upward ldbl-128ibm 0xcp-4L 0x1.4p+0L : 0x1.752e50db3a3a1b1b33b0456f2p+0L : inexact-ok
+carg 2.0 0
+= carg downward flt-32 0x2p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg tonearest flt-32 0x2p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg towardzero flt-32 0x2p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg upward flt-32 0x2p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg downward dbl-64 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg tonearest dbl-64 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg towardzero dbl-64 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg upward dbl-64 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-128 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-128 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-128 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-128 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x2p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+carg 2.0 -0
+= carg downward flt-32 0x2p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg tonearest flt-32 0x2p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg towardzero flt-32 0x2p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg upward flt-32 0x2p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg downward dbl-64 0x2p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg tonearest dbl-64 0x2p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg towardzero dbl-64 0x2p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg upward dbl-64 0x2p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-128 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-128 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-128 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-128 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x2p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+carg 0 0
+= carg downward flt-32 0x0p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg tonearest flt-32 0x0p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg towardzero flt-32 0x0p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg upward flt-32 0x0p+0f 0x0p+0f : 0x0p+0f : inexact-ok
+= carg downward dbl-64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg tonearest dbl-64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg towardzero dbl-64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg upward dbl-64 0x0p+0 0x0p+0 : 0x0p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-128 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-128 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-128 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-128 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x0p+0L 0x0p+0L : 0x0p+0L : inexact-ok
+carg 0 -0
+= carg downward flt-32 0x0p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg tonearest flt-32 0x0p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg towardzero flt-32 0x0p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg upward flt-32 0x0p+0f -0x0p+0f : -0x0p+0f : inexact-ok
+= carg downward dbl-64 0x0p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg tonearest dbl-64 0x0p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg towardzero dbl-64 0x0p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg upward dbl-64 0x0p+0 -0x0p+0 : -0x0p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-128 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-128 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-128 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-128 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x0p+0L -0x0p+0L : -0x0p+0L : inexact-ok
+carg -2.0 0
+= carg downward flt-32 -0x2p+0f 0x0p+0f : 0x3.243f68p+0f : inexact-ok
+= carg tonearest flt-32 -0x2p+0f 0x0p+0f : 0x3.243f6cp+0f : inexact-ok
+= carg towardzero flt-32 -0x2p+0f 0x0p+0f : 0x3.243f68p+0f : inexact-ok
+= carg upward flt-32 -0x2p+0f 0x0p+0f : 0x3.243f6cp+0f : inexact-ok
+= carg downward dbl-64 -0x2p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg tonearest dbl-64 -0x2p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg towardzero dbl-64 -0x2p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg upward dbl-64 -0x2p+0 0x0p+0 : 0x3.243f6a8885a32p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-intel -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg downward ldbl-128 -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg upward ldbl-128 -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e0372p+0L : inexact-ok
+= carg downward ldbl-128ibm -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x2p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e04p+0L : inexact-ok
+carg -2.0 -0
+= carg downward flt-32 -0x2p+0f -0x0p+0f : -0x3.243f6cp+0f : inexact-ok
+= carg tonearest flt-32 -0x2p+0f -0x0p+0f : -0x3.243f6cp+0f : inexact-ok
+= carg towardzero flt-32 -0x2p+0f -0x0p+0f : -0x3.243f68p+0f : inexact-ok
+= carg upward flt-32 -0x2p+0f -0x0p+0f : -0x3.243f68p+0f : inexact-ok
+= carg downward dbl-64 -0x2p+0 -0x0p+0 : -0x3.243f6a8885a32p+0 : inexact-ok
+= carg tonearest dbl-64 -0x2p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg towardzero dbl-64 -0x2p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg upward dbl-64 -0x2p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-intel -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg downward ldbl-128 -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e036ep+0L : inexact-ok
+= carg upward ldbl-128 -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e036ep+0L : inexact-ok
+= carg downward ldbl-128ibm -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e04p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x2p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+carg -0 0
+= carg downward flt-32 -0x0p+0f 0x0p+0f : 0x3.243f68p+0f : inexact-ok
+= carg tonearest flt-32 -0x0p+0f 0x0p+0f : 0x3.243f6cp+0f : inexact-ok
+= carg towardzero flt-32 -0x0p+0f 0x0p+0f : 0x3.243f68p+0f : inexact-ok
+= carg upward flt-32 -0x0p+0f 0x0p+0f : 0x3.243f6cp+0f : inexact-ok
+= carg downward dbl-64 -0x0p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg tonearest dbl-64 -0x0p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg towardzero dbl-64 -0x0p+0 0x0p+0 : 0x3.243f6a8885a3p+0 : inexact-ok
+= carg upward dbl-64 -0x0p+0 0x0p+0 : 0x3.243f6a8885a32p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-intel -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg downward ldbl-128 -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg upward ldbl-128 -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e0372p+0L : inexact-ok
+= carg downward ldbl-128ibm -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x0p+0L 0x0p+0L : 0x3.243f6a8885a308d313198a2e04p+0L : inexact-ok
+carg -0 -0
+= carg downward flt-32 -0x0p+0f -0x0p+0f : -0x3.243f6cp+0f : inexact-ok
+= carg tonearest flt-32 -0x0p+0f -0x0p+0f : -0x3.243f6cp+0f : inexact-ok
+= carg towardzero flt-32 -0x0p+0f -0x0p+0f : -0x3.243f68p+0f : inexact-ok
+= carg upward flt-32 -0x0p+0f -0x0p+0f : -0x3.243f68p+0f : inexact-ok
+= carg downward dbl-64 -0x0p+0 -0x0p+0 : -0x3.243f6a8885a32p+0 : inexact-ok
+= carg tonearest dbl-64 -0x0p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg towardzero dbl-64 -0x0p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg upward dbl-64 -0x0p+0 -0x0p+0 : -0x3.243f6a8885a3p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-intel -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d4p+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308dp+0L : inexact-ok
+= carg downward ldbl-128 -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e037p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e036ep+0L : inexact-ok
+= carg upward ldbl-128 -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e036ep+0L : inexact-ok
+= carg downward ldbl-128ibm -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e04p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x0p+0L -0x0p+0L : -0x3.243f6a8885a308d313198a2e03p+0L : inexact-ok
+carg 0 2.0
+= carg downward flt-32 0x0p+0f 0x2p+0f : 0x1.921fb4p+0f : inexact-ok
+= carg tonearest flt-32 0x0p+0f 0x2p+0f : 0x1.921fb6p+0f : inexact-ok
+= carg towardzero flt-32 0x0p+0f 0x2p+0f : 0x1.921fb4p+0f : inexact-ok
+= carg upward flt-32 0x0p+0f 0x2p+0f : 0x1.921fb6p+0f : inexact-ok
+= carg downward dbl-64 0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg tonearest dbl-64 0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg towardzero dbl-64 0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg upward dbl-64 0x0p+0 0x2p+0 : 0x1.921fb54442d19p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg downward ldbl-128 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg tonearest ldbl-128 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg towardzero ldbl-128 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg upward ldbl-128 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b9p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51702p+0L : inexact-ok
+carg -0 2.0
+= carg downward flt-32 -0x0p+0f 0x2p+0f : 0x1.921fb4p+0f : inexact-ok
+= carg tonearest flt-32 -0x0p+0f 0x2p+0f : 0x1.921fb6p+0f : inexact-ok
+= carg towardzero flt-32 -0x0p+0f 0x2p+0f : 0x1.921fb4p+0f : inexact-ok
+= carg upward flt-32 -0x0p+0f 0x2p+0f : 0x1.921fb6p+0f : inexact-ok
+= carg downward dbl-64 -0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg tonearest dbl-64 -0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg towardzero dbl-64 -0x0p+0 0x2p+0 : 0x1.921fb54442d18p+0 : inexact-ok
+= carg upward dbl-64 -0x0p+0 0x2p+0 : 0x1.921fb54442d19p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-intel -0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x0p+0L 0x2p+0L : 0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x0p+0L 0x2p+0L : 0x1.921fb54442d1846ap+0L : inexact-ok
+= carg downward ldbl-128 -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg upward ldbl-128 -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51701b9p+0L : inexact-ok
+= carg downward ldbl-128ibm -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x0p+0L 0x2p+0L : 0x1.921fb54442d18469898cc51702p+0L : inexact-ok
+carg 0 -2.0
+= carg downward flt-32 0x0p+0f -0x2p+0f : -0x1.921fb6p+0f : inexact-ok
+= carg tonearest flt-32 0x0p+0f -0x2p+0f : -0x1.921fb6p+0f : inexact-ok
+= carg towardzero flt-32 0x0p+0f -0x2p+0f : -0x1.921fb4p+0f : inexact-ok
+= carg upward flt-32 0x0p+0f -0x2p+0f : -0x1.921fb4p+0f : inexact-ok
+= carg downward dbl-64 0x0p+0 -0x2p+0 : -0x1.921fb54442d19p+0 : inexact-ok
+= carg tonearest dbl-64 0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg towardzero dbl-64 0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg upward dbl-64 0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg downward ldbl-96-intel 0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg tonearest ldbl-96-intel 0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-intel 0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-intel 0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg downward ldbl-96-m68k 0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg tonearest ldbl-96-m68k 0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-m68k 0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-m68k 0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg downward ldbl-128 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg tonearest ldbl-128 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg towardzero ldbl-128 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b7p+0L : inexact-ok
+= carg upward ldbl-128 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b7p+0L : inexact-ok
+= carg downward ldbl-128ibm 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51702p+0L : inexact-ok
+= carg tonearest ldbl-128ibm 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg towardzero ldbl-128ibm 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg upward ldbl-128ibm 0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+carg -0 -2.0
+= carg downward flt-32 -0x0p+0f -0x2p+0f : -0x1.921fb6p+0f : inexact-ok
+= carg tonearest flt-32 -0x0p+0f -0x2p+0f : -0x1.921fb6p+0f : inexact-ok
+= carg towardzero flt-32 -0x0p+0f -0x2p+0f : -0x1.921fb4p+0f : inexact-ok
+= carg upward flt-32 -0x0p+0f -0x2p+0f : -0x1.921fb4p+0f : inexact-ok
+= carg downward dbl-64 -0x0p+0 -0x2p+0 : -0x1.921fb54442d19p+0 : inexact-ok
+= carg tonearest dbl-64 -0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg towardzero dbl-64 -0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg upward dbl-64 -0x0p+0 -0x2p+0 : -0x1.921fb54442d18p+0 : inexact-ok
+= carg downward ldbl-96-intel -0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg tonearest ldbl-96-intel -0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-intel -0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-intel -0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg downward ldbl-96-m68k -0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg tonearest ldbl-96-m68k -0x0p+0L -0x2p+0L : -0x1.921fb54442d1846ap+0L : inexact-ok
+= carg towardzero ldbl-96-m68k -0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg upward ldbl-96-m68k -0x0p+0L -0x2p+0L : -0x1.921fb54442d18468p+0L : inexact-ok
+= carg downward ldbl-128 -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg tonearest ldbl-128 -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b8p+0L : inexact-ok
+= carg towardzero ldbl-128 -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b7p+0L : inexact-ok
+= carg upward ldbl-128 -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51701b7p+0L : inexact-ok
+= carg downward ldbl-128ibm -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc51702p+0L : inexact-ok
+= carg tonearest ldbl-128ibm -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg towardzero ldbl-128ibm -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
+= carg upward ldbl-128ibm -0x0p+0L -0x2p+0L : -0x1.921fb54442d18469898cc517018p+0L : inexact-ok
 cbrt 0.0
 = cbrt downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
 = cbrt tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok
diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c
index 9c8394e..0201b8a 100644
--- a/math/gen-auto-libm-tests.c
+++ b/math/gen-auto-libm-tests.c
@@ -403,6 +403,9 @@ typedef enum
     /* MPFR function with a single argument and two floating-point
        results.  */
     mpfr_f_11,
+    /* MPC function with a single complex argument and one real
+       result.  */
+    mpc_c_f,
   } func_calc_method;
 
 /* Description of how to calculate a function.  */
@@ -418,6 +421,7 @@ typedef struct
     int (*mpfr_f_f1) (mpfr_t, int *, const mpfr_t, mpfr_rnd_t);
     int (*mpfr_if_f) (mpfr_t, long, const mpfr_t, mpfr_rnd_t);
     int (*mpfr_f_11) (mpfr_t, mpfr_t, const mpfr_t, mpfr_rnd_t);
+    int (*mpc_c_f) (mpfr_t, const mpc_t, mpfr_rnd_t);
   } func;
 } func_calc_desc;
 
@@ -471,6 +475,9 @@ typedef struct
 #define FUNC_mpfr_if_f(NAME, MPFR_FUNC, EXACT)				\
   FUNC (NAME, ARGS2 (type_int, type_fp), RET1 (type_fp), EXACT, false,	\
 	CALC (mpfr_if_f, MPFR_FUNC))
+#define FUNC_mpc_c_f(NAME, MPFR_FUNC, EXACT)				\
+  FUNC (NAME, ARGS2 (type_fp, type_fp), RET1 (type_fp), EXACT, true,	\
+	CALC (mpc_c_f, MPFR_FUNC))
 
 /* List of functions handled by this program.  */
 static test_function test_functions[] =
@@ -482,6 +489,8 @@ static test_function test_functions[] =
     FUNC_mpfr_f_f ("atan", mpfr_atan, false),
     FUNC_mpfr_ff_f ("atan2", mpfr_atan2, false),
     FUNC_mpfr_f_f ("atanh", mpfr_atanh, false),
+    FUNC_mpc_c_f ("cabs", mpc_abs, false),
+    FUNC_mpc_c_f ("carg", mpc_arg, false),
     FUNC_mpfr_f_f ("cbrt", mpfr_cbrt, false),
     FUNC_mpfr_f_f ("cos", mpfr_cos, false),
     FUNC_mpfr_f_f ("cosh", mpfr_cosh, false),
@@ -1379,6 +1388,20 @@ calc_generic_results (generic_value *outputs, generic_value *inputs,
       adjust_real (outputs[1].value.f, (comb_ternary & 0xc) != 0);
       break;
 
+    case mpc_c_f:
+      assert (inputs[0].type == gtype_fp);
+      assert (inputs[1].type == gtype_fp);
+      outputs[0].type = gtype_fp;
+      mpfr_init (outputs[0].value.f);
+      mpc_t ci;
+      mpc_init2 (ci, internal_precision);
+      assert_exact (mpc_set_fr_fr (ci, inputs[0].value.f, inputs[1].value.f,
+				   MPC_RNDNN));
+      inexact = calc->func.mpc_c_f (outputs[0].value.f, ci, MPFR_RNDZ);
+      adjust_real (outputs[0].value.f, inexact);
+      mpc_clear (ci);
+      break;
+
     default:
       abort ();
     }
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 7ee4b82..c23696a 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -1917,25 +1917,7 @@ static const struct test_c_f_data cabs_test_data[] =
 
     TEST_c_f (cabs, qnan_value, qnan_value, qnan_value),
 
-    /* cabs (x,y) == cabs (y,x).  */
-    TEST_c_f (cabs, 0.75L, 12.390625L, 12.4133028598606664302388810868156657L),
-    /* cabs (x,y) == cabs (-x,y).  */
-    TEST_c_f (cabs, -12.390625L, 0.75L, 12.4133028598606664302388810868156657L),
-    /* cabs (x,y) == cabs (-y,x).  */
-    TEST_c_f (cabs, -0.75L, 12.390625L, 12.4133028598606664302388810868156657L),
-    /* cabs (x,y) == cabs (-x,-y).  */
-    TEST_c_f (cabs, -12.390625L, -0.75L, 12.4133028598606664302388810868156657L),
-    /* cabs (x,y) == cabs (-y,-x).  */
-    TEST_c_f (cabs, -0.75L, -12.390625L, 12.4133028598606664302388810868156657L),
-    /* cabs (x,0) == fabs (x).  */
-    TEST_c_f (cabs, -0.75L, 0, 0.75L),
-    TEST_c_f (cabs, 0.75L, 0, 0.75L),
-    TEST_c_f (cabs, -1.0L, 0, 1.0L),
-    TEST_c_f (cabs, 1.0L, 0, 1.0L),
-    TEST_c_f (cabs, -5.7e7L, 0, 5.7e7L),
-    TEST_c_f (cabs, 5.7e7L, 0, 5.7e7L),
-
-    TEST_c_f (cabs, 0.75L, 1.25L, 1.45773797371132511771853821938639577L),
+    AUTO_TESTS_c_f (cabs, tonearest),
   };
 
 static void
@@ -3326,35 +3308,6 @@ static const struct test_c_f_data carg_test_data[] =
   {
     /* carg (x + iy) is specified as atan2 (y, x) */
 
-    /* carg (x + i 0) == 0 for x > 0.  */
-    TEST_c_f (carg, 2.0, 0, 0),
-    /* carg (x - i 0) == -0 for x > 0.  */
-    TEST_c_f (carg, 2.0, minus_zero, minus_zero),
-
-    TEST_c_f (carg, 0, 0, 0),
-    TEST_c_f (carg, 0, minus_zero, minus_zero),
-
-    /* carg (x + i 0) == +pi for x < 0.  */
-    TEST_c_f (carg, -2.0, 0, M_PIl),
-
-    /* carg (x - i 0) == -pi for x < 0.  */
-    TEST_c_f (carg, -2.0, minus_zero, -M_PIl),
-
-    TEST_c_f (carg, minus_zero, 0, M_PIl),
-    TEST_c_f (carg, minus_zero, minus_zero, -M_PIl),
-
-    /* carg (+0 + i y) == pi/2 for y > 0.  */
-    TEST_c_f (carg, 0, 2.0, M_PI_2l),
-
-    /* carg (-0 + i y) == pi/2 for y > 0.  */
-    TEST_c_f (carg, minus_zero, 2.0, M_PI_2l),
-
-    /* carg (+0 + i y) == -pi/2 for y < 0.  */
-    TEST_c_f (carg, 0, -2.0, -M_PI_2l),
-
-    /* carg (-0 + i y) == -pi/2 for y < 0.  */
-    TEST_c_f (carg, minus_zero, -2.0, -M_PI_2l),
-
     /* carg (inf + i y) == +0 for finite y > 0.  */
     TEST_c_f (carg, plus_infty, 2.0, 0),
 
@@ -3382,6 +3335,8 @@ static const struct test_c_f_data carg_test_data[] =
     TEST_c_f (carg, minus_infty, minus_infty, -M_PI_34l),
 
     TEST_c_f (carg, qnan_value, qnan_value, qnan_value),
+
+    AUTO_TESTS_c_f (carg, tonearest),
   };
 
 static void

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                  |   10 +
 math/auto-libm-test-in     |   40 +++
 math/auto-libm-test-out    |  600 ++++++++++++++++++++++++++++++++++++++++++++
 math/gen-auto-libm-tests.c |   23 ++
 math/libm-test.inc         |   51 +----
 5 files changed, 676 insertions(+), 48 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]