diff options
Diffstat (limited to 'libc')
34 files changed, 4197 insertions, 427 deletions
diff --git a/libc/ChangeLog b/libc/ChangeLog index 985502fb6..5e35974b5 100644 --- a/libc/ChangeLog +++ b/libc/ChangeLog @@ -1,3 +1,33 @@ +2013-07-07 David S. Miller <davem@davemloft.net> + + * sysdeps/sparc/fpu/libm-test-ulps: Regenerate from scratch. + +2013-07-05 Jeroen Albers <_jeroen_@yahoo.com> + + * sysdeps/i386/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + +2013-07-04 Siddhesh Poyarekar <siddhesh@redhat.com> + + * configure.in (--enable-lock-elision): Fix message text. + * INSTALL: Regenerate. + * configure: Regenerate. + +2013-07-04 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + +2013-07-03 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_LISTEN): Add + define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. + 2013-07-03 Allan McRae <allan@archlinux.org> * sysdeps/i386/fpu/libm-test-ulps: Update. diff --git a/libc/INSTALL b/libc/INSTALL index e54678fbf..85d6102b0 100644 --- a/libc/INSTALL +++ b/libc/INSTALL @@ -146,7 +146,7 @@ will be used, and CFLAGS sets optimization options for the compiler. dynamic tests so that they can be invoked directly. `--enable-lock-elision=yes' - Enable lock elision for pthread mutexes and rwlocks by default. + Enable lock elision for pthread mutexes by default. `--build=BUILD-SYSTEM' `--host=HOST-SYSTEM' diff --git a/libc/configure b/libc/configure index b904cc85e..fcfb9273d 100755 --- a/libc/configure +++ b/libc/configure @@ -1401,8 +1401,7 @@ Optional Features: initialize __stack_chk_guard canary with a random number at program start --enable-lock-elision=yes/no - Enable lock elision for pthread mutexes and rwlocks - by default + Enable lock elision for pthread mutexes by default --enable-add-ons[=DIRS...] configure and build add-ons in DIR1,DIR2,... search for add-ons if no parameter given diff --git a/libc/configure.in b/libc/configure.in index d1f0bf348..dded21fb2 100644 --- a/libc/configure.in +++ b/libc/configure.in @@ -186,7 +186,7 @@ fi AC_ARG_ENABLE([lock-elision], AC_HELP_STRING([--enable-lock-elision[=yes/no]], - [Enable lock elision for pthread mutexes and rwlocks by default]), + [Enable lock elision for pthread mutexes by default]), [enable_lock_elision=$enableval], [enable_lock_elision=no]) if test "$enable_lock_elision" = yes ; then diff --git a/libc/ports/ChangeLog.aarch64 b/libc/ports/ChangeLog.aarch64 index 25276218e..3f26cb79f 100644 --- a/libc/ports/ChangeLog.aarch64 +++ b/libc/ports/ChangeLog.aarch64 @@ -1,3 +1,28 @@ +2013-07-12 Marcus Shawcroft <marcus.shawcroft@linaro.org> + + * sysdeps/aarch64/Makefile (CFLAGS-backtrace.c): Define. + +2013-07-09 Marcus Shawcroft <marcus.shawcroft@linaro.org> + + * sysdeps/unix/sysv/linux/aarch64/dl-static.c: New file to support + variable page size for AArch64. + * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Likewise. + * sysdeps/unix/sysv/linux/aarch64/Makefile: Build dl-static in elf. + * sysdeps/unix/sysv/linux/aarch64/Versions: Add _dl_var_init. + +2013-07-05 Marcus Shawcroft <marcus.shawcroft@linaro.org> + + * sysdeps/aarch64/libm-test-ulps: Regenerate. + +2013-07-04 Andreas Jaeger <aj@suse.de> + + For ChangeLog.aarch64: + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (PTRACE_LISTEN): + Add define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + 2013-06-28 Marcus Shawcroft <marcus.shawcroft@linaro.org> * sysdeps/aarch64/dl-machine.h (elf_machine_dynamic): De-reference diff --git a/libc/ports/ChangeLog.arm b/libc/ports/ChangeLog.arm index 73f32135c..1e7a35c6a 100644 --- a/libc/ports/ChangeLog.arm +++ b/libc/ports/ChangeLog.arm @@ -1,3 +1,9 @@ +2013-07-03 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/arm/include/bits/setjmp.h [_ISOMAC] (JMP_BUF_REGLIST): + Do not define. + [_ISOMAC] (__JMP_BUF_SP): Likewise. + 2013-07-02 Joseph Myers <joseph@codesourcery.com> * sysdeps/arm/libm-test-ulps: Regenerated. diff --git a/libc/ports/ChangeLog.ia64 b/libc/ports/ChangeLog.ia64 index 0189858ff..92b81cba9 100644 --- a/libc/ports/ChangeLog.ia64 +++ b/libc/ports/ChangeLog.ia64 @@ -1,3 +1,11 @@ +2013-07-04 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (PTRACE_LISTEN): + Add define. + (PTRACE_PEEKSIGINFO): Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + 2013-06-27 Maciej W. Rozycki <macro@codesourcery.com> * sysdeps/unix/sysv/linux/ia64/dl-static.c: Do not include diff --git a/libc/ports/ChangeLog.tile b/libc/ports/ChangeLog.tile index 978aad5f6..88da5e81d 100644 --- a/libc/ports/ChangeLog.tile +++ b/libc/ports/ChangeLog.tile @@ -1,3 +1,26 @@ +2013-07-03 Chris Metcalf <cmetcalf@tilera.com> + + * sysdeps/unix/sysv/linux/tile/dl-static.c: New file to support + variable page size for tile. + * sysdeps/unix/sysv/linux/tile/ldsodefs.h: Likewise. + * sysdeps/unix/sysv/linux/tile/Makefile: Build dl-static in elf. + * sysdeps/unix/sysv/linux/tile/Versions: Add _dl_var_init. + + * sysdeps/tile/libm-test-ulps: Update with new tests. + + * sysdeps/tile/s_fma.c: Use soft-fp version instead of ieee754. + * sysdeps/tile/s_fmaf.c: Likewise. + * sysdeps/tile/sfp-machine.h: New file. + +2013-07-04 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h (PTRACE_PEEKSIGINFO): + Add new value from Linux 3.10. + (ptrace_peeksiginfo_args): Add. + (__ptrace_peeksiginfo_flags): Add. + (PTRACE_SETREGSET, PTRACE_SEIZE, PTRACE_INTERRUPT, PTRACE_LISTEN): + Add. + 2013-06-28 Chris Metcalf <cmetcalf@tilera.com> * sysdeps/tile/fegetenv.c: Delete now-redundant file. diff --git a/libc/ports/sysdeps/aarch64/Makefile b/libc/ports/sysdeps/aarch64/Makefile index ce2cedd52..5af7a1655 100644 --- a/libc/ports/sysdeps/aarch64/Makefile +++ b/libc/ports/sysdeps/aarch64/Makefile @@ -1,5 +1,9 @@ long-double-fcts = yes +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -funwind-tables +endif + ifeq ($(subdir),elf) sysdep-dl-routines += tlsdesc dl-tlsdesc sysdep_routines += tlsdesc dl-tlsdesc diff --git a/libc/ports/sysdeps/aarch64/libm-test-ulps b/libc/ports/sysdeps/aarch64/libm-test-ulps index dc7dc341b..79afb310d 100644 --- a/libc/ports/sysdeps/aarch64/libm-test-ulps +++ b/libc/ports/sysdeps/aarch64/libm-test-ulps @@ -7704,6 +7704,20 @@ idouble: 1 Test "gamma (-0.5)": ildouble: 1 ldouble: 1 +Test "gamma (0.7)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (1.2)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 # hypot Test "hypot (-0.7, -12.4)": @@ -8034,6 +8048,28 @@ Test "pow (1e4932, 0.75)": ildouble: 1 ldouble: 1 +# pow10 +Test "pow10 (-1)": +double: 1 +idouble: 1 +Test "pow10 (-305)": +double: 1 +idouble: 1 +Test "pow10 (-36)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "pow10 (3)": +double: 1 +idouble: 1 +Test "pow10 (36)": +double: 1 +idouble: 1 +Test "pow10 (4932)": +ildouble: 1 +ldouble: 1 + # pow_downward Test "pow_downward (1.5, 1.03125)": float: 1 @@ -9928,6 +9964,10 @@ ildouble: 1 ldouble: 1 Function: "gamma": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 ildouble: 1 ldouble: 1 @@ -9989,6 +10029,12 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "pow10": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 + Function: "pow_downward": float: 1 ifloat: 1 diff --git a/libc/ports/sysdeps/arm/include/bits/setjmp.h b/libc/ports/sysdeps/arm/include/bits/setjmp.h index 23d8f75cf..1559d7b8e 100644 --- a/libc/ports/sysdeps/arm/include/bits/setjmp.h +++ b/libc/ports/sysdeps/arm/include/bits/setjmp.h @@ -24,11 +24,13 @@ # include <sysdeps/arm/bits/setjmp.h> #endif +#ifndef _ISOMAC /* Register list for a ldm/stm instruction to load/store the general registers from a __jmp_buf. */ -#define JMP_BUF_REGLIST {v1-v6, sl, fp, sp, lr} +# define JMP_BUF_REGLIST {v1-v6, sl, fp, sp, lr} /* Index of __jmp_buf where the sp register resides. */ -#define __JMP_BUF_SP 8 +# define __JMP_BUF_SP 8 +#endif #endif /* include/bits/setjmp.h */ diff --git a/libc/ports/sysdeps/tile/libm-test-ulps b/libc/ports/sysdeps/tile/libm-test-ulps index 639e8d820..d95f69946 100644 --- a/libc/ports/sysdeps/tile/libm-test-ulps +++ b/libc/ports/sysdeps/tile/libm-test-ulps @@ -21,20 +21,16 @@ ifloat: 1 # cacos Test "Imaginary part of: cacos (+0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 Test "Imaginary part of: cacos (+0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 Test "Imaginary part of: cacos (+0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +idouble: 1 Test "Imaginary part of: cacos (+0 - 0.5 i)": float: 1 ifloat: 1 @@ -47,20 +43,16 @@ Test "Imaginary part of: cacos (+0 - 1.5 i)": double: 1 idouble: 1 Test "Imaginary part of: cacos (-0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 Test "Imaginary part of: cacos (-0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 Test "Imaginary part of: cacos (-0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +idouble: 1 Test "Imaginary part of: cacos (-0 - 0.5 i)": float: 1 ifloat: 1 @@ -72,22 +64,619 @@ ifloat: 1 Test "Imaginary part of: cacos (-0 - 1.5 i)": double: 1 idouble: 1 -Test "Imaginary part of: cacos (-1.5 + +0 i)": +Test "Real part of: cacos (-0.25 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0.25 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.25 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.5 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.5 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)": double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)": float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)": +double: 1 idouble: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-1.0 + 0x1p50 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-1.0 - 0x1p50 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-2 - 3 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.25 - 1.0 i)": +float: 1 ifloat: 1 Test "Real part of: cacos (0.5 + +0 i)": double: 1 idouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-63 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.5 + 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: cacos (0.5 - 0 i)": double: 1 idouble: 1 -Test "Imaginary part of: cacos (1.5 + +0 i)": +Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-63 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.5 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 + 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 + 0x1.fp-10 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 - 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: cacos (1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 - 0x1.fp-10 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 # cacosh Test "Real part of: cacosh (+0 + 0.5 i)": @@ -134,44 +723,632 @@ ifloat: 1 Test "Real part of: cacosh (-0 - 1.5 i)": double: 1 idouble: 1 -Test "Imaginary part of: cacosh (-0.5 + +0 i)": +Test "Real part of: cacosh (-0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0.25 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0.25 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0.25 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0.5 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)": double: 1 idouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0 i)": +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)": double: 1 idouble: 1 -Test "Real part of: cacosh (-1.5 + +0 i)": +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)": float: 1 ifloat: 1 -Test "Real part of: cacosh (-1.5 - 0 i)": +Test "Real part of: cacosh (-0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)": float: 1 ifloat: 1 Test "Imaginary part of: cacosh (-2 - 3 i)": float: 1 ifloat: 1 -Test "Real part of: cacosh (1.5 + +0 i)": +Test "Real part of: cacosh (0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0.25 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0.5 + +0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0.5 - 0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (1.0 - 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 - 0.5 i)": float: 1 ifloat: 1 -Test "Real part of: cacosh (1.5 - 0 i)": +Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)": float: 1 ifloat: 1 +Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)": +float: 2 +ifloat: 2 # casin Test "Imaginary part of: casin (+0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 Test "Imaginary part of: casin (+0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (+0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +idouble: 1 Test "Imaginary part of: casin (+0 - 0.5 i)": float: 1 ifloat: 1 @@ -184,20 +1361,16 @@ Test "Imaginary part of: casin (+0 - 1.5 i)": double: 1 idouble: 1 Test "Imaginary part of: casin (-0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 Test "Imaginary part of: casin (-0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (-0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +idouble: 1 Test "Imaginary part of: casin (-0 - 0.5 i)": float: 1 ifloat: 1 @@ -209,79 +1382,729 @@ ifloat: 1 Test "Imaginary part of: casin (-0 - 1.5 i)": double: 1 idouble: 1 -Test "Imaginary part of: casin (-1.5 + +0 i)": +Test "Imaginary part of: casin (-0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0.25 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1.fp-10 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1.fp-10 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-23 + 0.5 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-23 - 0.5 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (-1.0 + 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (-1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (-1.0 - 0.25 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (-1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0.25 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0.25 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-105 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-112 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: casin (0.75 + 1.25 i)": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "Imaginary part of: casin (1.5 + +0 i)": +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1.fp-10 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1.fp-10 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 - -# casinh -Test "Real part of: casinh (-0 + 1.5 i)": +Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1p-105 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-105 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-112 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-112 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-23 + 0.5 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-23 - 0.5 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "Real part of: casinh (-0 - 1.5 i)": +Test "Imaginary part of: casin (0x1p-52 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-52 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-63 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-63 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Real part of: casin (1.0 + 0.25 i)": double: 1 +idouble: 1 +Test "Real part of: casin (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (1.0 + 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)": float: 1 +ifloat: 1 +Test "Real part of: casin (1.0 - 0.25 i)": +double: 1 idouble: 1 +Test "Real part of: casin (1.0 - 0.5 i)": +float: 1 ifloat: 1 +Test "Imaginary part of: casin (1.0 - 0.5 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 + +# casinh +Test "Imaginary part of: casinh (-0.25 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0.25 - 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (-0.5 + +0 i)": -double: 2 float: 1 -idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 + 1.0 i)": +float: 1 ifloat: 1 Test "Real part of: casinh (-0.5 - 0 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-105 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-105 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-112 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-112 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)": +float: 2 +ifloat: 2 +Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1p-23 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)": +float: 2 +ifloat: 2 +Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (-1.0 + +0 i)": -double: 2 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0.25 i)": float: 1 -idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)": +double: 1 +float: 1 +idouble: 1 ifloat: 1 Test "Real part of: casinh (-1.0 - 0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -Test "Real part of: casinh (-1.5 + +0 i)": -double: 2 +Test "Real part of: casinh (-1.0 - 0.25 i)": float: 1 -idouble: 2 ifloat: 1 -Test "Real part of: casinh (-1.5 - 0 i)": -double: 2 +Test "Real part of: casinh (-1.0 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)": float: 1 -idouble: 2 ifloat: 1 -Test "Real part of: casinh (-2 - 3 i)": -double: 5 +Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)": +double: 1 float: 1 -idouble: 5 +idouble: 1 ifloat: 1 -Test "Imaginary part of: casinh (-2 - 3 i)": -double: 3 -float: 6 -idouble: 3 -ifloat: 6 +Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.5 + +0 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 - 0 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0.25 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0.25 - 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (0.5 + +0 i)": float: 1 ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 + 1.0 i)": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.5 - 0 i)": float: 1 ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1.fp-129 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-105 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-112 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-23 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-52 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-63 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 - 1.0 i)": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.75 + 1.25 i)": float: 1 ifloat: 1 @@ -290,37 +2113,490 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (0x1.fp-10 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0x1.fp-10 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0x1.fp-129 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1.fp-129 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-105 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-105 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-112 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-112 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-23 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)": +float: 2 +ifloat: 2 +Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0x1p-23 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)": +float: 2 +ifloat: 2 +Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (1.0 + +0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (1.0 + 0.25 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-10 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-100 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-129 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-30 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Real part of: casinh (1.0 - 0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (1.0 - 0.25 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0.5 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-10 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-100 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-129 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-30 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Real part of: casinh (1.5 + +0 i)": double: 1 idouble: 1 +Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 + 0x1.fp-129 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (1.5 - 0 i)": double: 1 idouble: 1 +Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 - 0x1.fp-129 i)": +double: 1 +idouble: 1 # catan +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-13 i)": +float: 1 +ifloat: 1 Test "Imaginary part of: catan (-2 - 3 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-13 i)": +float: 1 +ifloat: 1 # catanh +Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-54 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-57 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-54 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-57 i)": +float: 1 +ifloat: 1 Test "Real part of: catanh (-2 - 3 i)": -double: 4 -idouble: 4 -Test "Real part of: catanh (0.75 + 1.25 i)": double: 1 idouble: 1 +Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)": +double: 1 +idouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-54 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-57 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-54 i)": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-57 i)": +float: 1 +ifloat: 1 # cbrt Test "cbrt (-27.0)": @@ -481,9 +2757,6 @@ ifloat: 1 Test "Imaginary part of: clog (-0x1p-149 - 0x1.fp+127 i)": float: 1 ifloat: 1 -Test "Real part of: clog (0.75 + 1.25 i)": -float: 1 -ifloat: 1 Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)": float: 1 ifloat: 1 @@ -517,10 +2790,14 @@ ifloat: 1 # clog10 Test "Imaginary part of: clog10 (-0 + inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (-0 - inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)": double: 2 @@ -569,31 +2846,47 @@ Test "Imaginary part of: clog10 (-2 - 3 i)": double: 1 idouble: 1 Test "Imaginary part of: clog10 (-3 + inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (-3 - inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (-inf + 0 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (-inf + 1 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 +Test "Imaginary part of: clog10 (-inf + inf i)": +double: 1 +idouble: 1 Test "Imaginary part of: clog10 (-inf - 0 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (-inf - 1 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0 + inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0 - inf i)": +double: 1 float: 1 -ifloat: 1 -Test "Real part of: clog10 (0.75 + 1.25 i)": -float: 1 +idouble: 1 ifloat: 1 Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)": double: 1 @@ -624,11 +2917,16 @@ float: 1 idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)": float: 1 ifloat: 1 +Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)": +double: 1 +idouble: 1 Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)": double: 1 idouble: 1 @@ -644,17 +2942,25 @@ idouble: 1 Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)": double: 1 idouble: 1 +Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)": +double: 1 +idouble: 1 Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)": double: 1 idouble: 1 Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)": double: 1 idouble: 1 +Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)": +double: 1 +idouble: 1 Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)": double: 1 idouble: 1 Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)": double: 1 @@ -662,7 +2968,9 @@ float: 1 idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)": double: 1 @@ -732,16 +3040,24 @@ Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)": double: 1 idouble: 1 Test "Imaginary part of: clog10 (3 + inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (3 - inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (inf + inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: clog10 (inf - inf i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 # cos @@ -769,9 +3085,6 @@ ifloat: 1 Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": float: 1 ifloat: 1 -Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": -float: 1 -ifloat: 1 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)": double: 1 float: 4 @@ -790,11 +3103,6 @@ ifloat: 4 Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)": float: 2 ifloat: 2 -Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 # csin Test "Real part of: csin (-0.75 + 710.5 i)": @@ -1006,25 +3314,17 @@ Test "expm1 (500.0)": double: 1 idouble: 1 -# fma -Test "fma (-0x1.fffffffffffffp-711, 0x1.fffffffffffffp-275, 0x1.fffffe00007ffp-983)": -double: 1 -idouble: 1 -Test "fma (0x1.0000002p+0, 0x1.ffffffcp-1, -0x1p-300)": +# gamma +Test "gamma (0.7)": double: 1 -idouble: 1 -Test "fma (0x1.153d650bb9f06p-907, 0x1.2d01230d48407p-125, -0x0.b278d5acfc3cp-1022)": -double: 1 -idouble: 1 -Test "fma (0x1.4000004p-967, 0x1p-106, 0x0.000001p-1022)": -double: 1 -idouble: 1 -Test "fma (0x1.7ff8p+13, 0x1.000002p+0, 0x1.ffffp-24)": float: 1 +idouble: 1 ifloat: 1 -Test "fma (0x1.7fffff8p-968, 0x1p-106, 0x0.000001p-1022)": +Test "gamma (1.2)": double: 1 +float: 2 idouble: 1 +ifloat: 2 # hypot Test "hypot (-0.7, -12.4)": @@ -1250,6 +3550,23 @@ Test "pow (0x1.000002p0, 0x1p24)": float: 1 ifloat: 1 +# pow10 +Test "pow10 (-1)": +double: 1 +idouble: 1 +Test "pow10 (-305)": +double: 1 +idouble: 1 +Test "pow10 (-36)": +double: 1 +idouble: 1 +Test "pow10 (3)": +double: 1 +idouble: 1 +Test "pow10 (36)": +double: 1 +idouble: 1 + # sin_tonearest Test "sin_tonearest (1)": float: 1 @@ -1280,6 +3597,185 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (-0x0.fffffffffffff8p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x0.ffffffp0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x1.000002p0)": +double: 2 +idouble: 2 +Test "tgamma (-0x1.0a32a2p+5)": +float: 2 +ifloat: 2 +Test "tgamma (-0x13.ffffep0)": +float: 2 +ifloat: 2 +Test "tgamma (-0x14.000000000001p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x14.00002p0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x1d.ffffep0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x1e.000000000001p0)": +double: 3 +idouble: 3 +Test "tgamma (-0x1e.00002p0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x2.0000000000002p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x2.000004p0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x2.fffffcp0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x27.fffffffffffep0)": +double: 1 +idouble: 1 +Test "tgamma (-0x28.000000000002p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x28.00004p0)": +double: 2 +idouble: 2 +Test "tgamma (-0x29.00004p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x29.ffffcp0)": +double: 1 +idouble: 1 +Test "tgamma (-0x3.000004p0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x3.fffffcp0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep0)": +double: 2 +idouble: 2 +Test "tgamma (-0x31.fffffffffffep0)": +double: 3 +idouble: 3 +Test "tgamma (-0x4.000008p0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x4.fffff8p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x4.ffffffffffffcp0)": +double: 1 +idouble: 1 +Test "tgamma (-0x5.000008p0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x5.ffffffffffffcp0)": +double: 1 +idouble: 1 +Test "tgamma (-0x6.000008p0)": +float: 2 +ifloat: 2 +Test "tgamma (-0x6.fffff8p0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x6.ffffffffffffcp0)": +double: 4 +idouble: 4 +Test "tgamma (-0x63.fffffffffffcp0)": +double: 2 +idouble: 2 +Test "tgamma (-0x64.000000000004p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x7.0000000000004p0)": +double: 3 +idouble: 3 +Test "tgamma (-0x7.000008p0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x7.fffff8p0)": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +Test "tgamma (-0x7.ffffffffffffcp0)": +double: 3 +idouble: 3 +Test "tgamma (-0x8.00001p0)": +double: 2 +idouble: 2 +Test "tgamma (-0x9.ffffffffffff8p0)": +double: 1 +idouble: 1 +Test "tgamma (-0x9.fffffp0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x96.000000000008p0)": +double: 1 +idouble: 1 +Test "tgamma (-0xa.00001p0)": +double: 1 +idouble: 1 +Test "tgamma (-2.5)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (-3.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-4.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-5.5)": +double: 1 +idouble: 1 +Test "tgamma (-6.5)": +float: 1 +ifloat: 1 +Test "tgamma (-7.5)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-8.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-9.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "tgamma (0.5)": float: 1 ifloat: 1 @@ -1288,6 +3784,162 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.fffffep0)": +float: 1 +ifloat: 1 +Test "tgamma (0x1.fffffffffffffp0)": +double: 1 +idouble: 1 +Test "tgamma (0x1p-24)": +float: 1 +ifloat: 1 +Test "tgamma (0x1p-53)": +double: 1 +idouble: 1 +Test "tgamma (0x2.30a43cp+4)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (0x2.fffffcp0)": +float: 3 +ifloat: 3 +Test "tgamma (0x3.fffffcp0)": +float: 1 +ifloat: 1 +Test "tgamma (0x3.ffffffffffffep0)": +double: 1 +idouble: 1 +Test "tgamma (0x4.0000000000004p0)": +double: 1 +idouble: 1 +Test "tgamma (0x4.ffffffffffffcp0)": +double: 1 +idouble: 1 +Test "tgamma (0x5.0000000000004p0)": +double: 1 +idouble: 1 +Test "tgamma (0x5.000008p0)": +float: 2 +ifloat: 2 +Test "tgamma (0x5.fffff8p0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x6.0000000000004p0)": +double: 1 +idouble: 1 +Test "tgamma (0x6.000008p0)": +float: 2 +ifloat: 2 +Test "tgamma (0x6.fffff8p0)": +double: 1 +idouble: 1 +Test "tgamma (0x6.ffffffffffffcp0)": +double: 4 +idouble: 4 +Test "tgamma (0x7.0000000000004p0)": +double: 4 +idouble: 4 +Test "tgamma (0x7.000008p0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x7.fffff8p0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (0x7.ffffffffffffcp0)": +double: 2 +idouble: 2 +Test "tgamma (0x8.00001p0)": +double: 2 +idouble: 2 +Test "tgamma (0xa.b9fd72b0fb238p+4)": +double: 1 +idouble: 1 +Test "tgamma (10)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (18.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (19.5)": +double: 2 +idouble: 2 +Test "tgamma (2.5)": +float: 2 +ifloat: 2 +Test "tgamma (23.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (29.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (3)": +float: 1 +ifloat: 1 +Test "tgamma (3.5)": +float: 2 +ifloat: 2 +Test "tgamma (30.5)": +float: 1 +ifloat: 1 +Test "tgamma (33.5)": +float: 1 +ifloat: 1 +Test "tgamma (34.5)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (4)": +float: 1 +ifloat: 1 +Test "tgamma (4.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (6)": +float: 1 +ifloat: 1 +Test "tgamma (6.5)": +float: 1 +ifloat: 1 +Test "tgamma (7)": +double: 1 +idouble: 1 +Test "tgamma (7.5)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (8)": +double: 1 +idouble: 1 +Test "tgamma (8.5)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (9)": +double: 1 +idouble: 1 +Test "tgamma (9.5)": +double: 1 +idouble: 1 # y0 Test "y0 (0x1.3ffp+74)": @@ -1459,25 +4111,27 @@ ifloat: 1 Function: Real part of "cacos": double: 1 +float: 2 idouble: 1 +ifloat: 2 Function: Imaginary part of "cacos": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +float: 2 +idouble: 1 +ifloat: 2 Function: Real part of "cacosh": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 Function: Imaginary part of "cacosh": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 Function: Real part of "casin": double: 1 @@ -1486,22 +4140,26 @@ idouble: 1 ifloat: 1 Function: Imaginary part of "casin": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +float: 2 +idouble: 1 +ifloat: 2 Function: Real part of "casinh": -double: 5 +double: 1 +float: 2 +idouble: 1 +ifloat: 2 + +Function: Imaginary part of "casinh": +double: 1 float: 1 -idouble: 5 +idouble: 1 ifloat: 1 -Function: Imaginary part of "casinh": -double: 3 -float: 6 -idouble: 3 -ifloat: 6 +Function: Real part of "catan": +float: 1 +ifloat: 1 Function: Imaginary part of "catan": double: 1 @@ -1510,8 +4168,14 @@ idouble: 1 ifloat: 1 Function: Real part of "catanh": -double: 4 -idouble: 4 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 + +Function: Imaginary part of "catanh": +float: 1 +ifloat: 1 Function: "cbrt": double: 1 @@ -1592,9 +4256,7 @@ idouble: 2 ifloat: 4 Function: Imaginary part of "cpow": -double: 2 float: 2 -idouble: 2 ifloat: 2 Function: Real part of "csin": @@ -1683,11 +4345,11 @@ float: 1 idouble: 1 ifloat: 1 -Function: "fma": +Function: "gamma": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 Function: "hypot": float: 1 @@ -1731,6 +4393,10 @@ Function: "pow": float: 1 ifloat: 1 +Function: "pow10": +double: 1 +idouble: 1 + Function: "sin_tonearest": float: 1 ifloat: 1 @@ -1746,10 +4412,10 @@ double: 1 idouble: 1 Function: "tgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 +double: 4 +float: 3 +idouble: 4 +ifloat: 3 Function: "y0": double: 2 diff --git a/libc/ports/sysdeps/tile/s_fma.c b/libc/ports/sysdeps/tile/s_fma.c index c84a9bb2d..d9613fa67 100644 --- a/libc/ports/sysdeps/tile/s_fma.c +++ b/libc/ports/sysdeps/tile/s_fma.c @@ -1,4 +1 @@ -/* tile does not support the rounding modes required by the ieee754/dbl-64 - implementation, but it's still better than the generic implementation. */ - -#include <sysdeps/ieee754/dbl-64/s_fma.c> +#include <soft-fp/fmadf4.c> diff --git a/libc/ports/sysdeps/tile/s_fmaf.c b/libc/ports/sysdeps/tile/s_fmaf.c index 84e9adc41..aa5c9b2d9 100644 --- a/libc/ports/sysdeps/tile/s_fmaf.c +++ b/libc/ports/sysdeps/tile/s_fmaf.c @@ -1,4 +1 @@ -/* tile does not support the rounding modes required by the ieee754/dbl-64 - implementation, but it's still better than the generic implementation. */ - -#include <sysdeps/ieee754/dbl-64/s_fmaf.c> +#include <soft-fp/fmasf4.c> diff --git a/libc/ports/sysdeps/tile/sfp-machine.h b/libc/ports/sysdeps/tile/sfp-machine.h new file mode 100644 index 000000000..3ddc4b4c8 --- /dev/null +++ b/libc/ports/sysdeps/tile/sfp-machine.h @@ -0,0 +1,97 @@ +/* Machine-dependent software floating-point definitions, tile version. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ + +#include <bits/wordsize.h> + +#define _FP_W_TYPE_SIZE __WORDSIZE +#define _FP_W_TYPE unsigned long +#define _FP_WS_TYPE signed long +#define _FP_I_TYPE long + +#if _FP_W_TYPE_SIZE == 64 + +#define _FP_MUL_MEAT_S(R,X,Y) \ + _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y) +#define _FP_MUL_MEAT_D(R,X,Y) \ + _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_Q(R,X,Y) \ + _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_MUL_MEAT_DW_S(R,X,Y) \ + _FP_MUL_MEAT_DW_1_imm(_FP_WFRACBITS_S,R,X,Y) +#define _FP_MUL_MEAT_DW_D(R,X,Y) \ + _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_DW_Q(R,X,Y) \ + _FP_MUL_MEAT_DW_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) +#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) + +#define _FP_NANFRAC_S _FP_QNANBIT_S +#define _FP_NANFRAC_D _FP_QNANBIT_D +#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0 + +#else /* _FP_W_TYPE_SIZE == 32 */ + +#define _FP_MUL_MEAT_S(R,X,Y) \ + _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_D(R,X,Y) \ + _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_Q(R,X,Y) \ + _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_MUL_MEAT_DW_S(R,X,Y) \ + _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_DW_D(R,X,Y) \ + _FP_MUL_MEAT_DW_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_DW_Q(R,X,Y) \ + _FP_MUL_MEAT_DW_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) +#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) + +#define _FP_NANFRAC_S _FP_QNANBIT_S +#define _FP_NANFRAC_D _FP_QNANBIT_D, 0 +#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0 + +#endif + +#define _FP_NANSIGN_S 1 +#define _FP_NANSIGN_D 1 +#define _FP_NANSIGN_Q 1 + +#define _FP_KEEPNANFRACP 1 +#define _FP_QNANNEGATEDP 0 + +#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ + do { \ + if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \ + && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \ + { \ + R##_s = Y##_s; \ + _FP_FRAC_COPY_##wc(R,Y); \ + } \ + else \ + { \ + R##_s = X##_s; \ + _FP_FRAC_COPY_##wc(R,X); \ + } \ + R##_c = FP_CLS_NAN; \ + } while (0) diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/Makefile b/libc/ports/sysdeps/unix/sysv/linux/aarch64/Makefile index 97c179add..8a3d76be6 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/Makefile +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/Makefile @@ -7,6 +7,12 @@ endif ifeq ($(subdir),elf) sysdep_routines += dl-vdso sysdep-rtld-routines += __read_tp +ifeq ($(build-shared),yes) +# This is needed for DSO loading from static binaries. +sysdep-dl-routines += dl-static +sysdep_routines += dl-static +sysdep-rtld-routines += dl-static +endif endif ifeq ($(subdir),misc) diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/Versions b/libc/ports/sysdeps/unix/sysv/linux/aarch64/Versions index 627ff5352..9bd87fe2d 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/Versions +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/Versions @@ -1,3 +1,9 @@ +ld { + GLIBC_PRIVATE { + # used for loading by static libraries + _dl_var_init; + } +} libc { GLIBC_PRIVATE { __vdso_clock_gettime; diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c b/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c new file mode 100644 index 000000000..13b48e933 --- /dev/null +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c @@ -0,0 +1,84 @@ +/* Variable initialization. AArch64 version. + Copyright (C) 2001-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ + +#include <ldsodefs.h> + +#ifdef SHARED + +void +_dl_var_init (void *array[]) +{ + /* It has to match "variables" below. */ + enum + { + DL_PAGESIZE = 0 + }; + + GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]); +} + +#else + +static void *variables[] = +{ + &GLRO(dl_pagesize) +}; + +static void +_dl_unprotect_relro (struct link_map *l) +{ + ElfW(Addr) start = ((l->l_addr + l->l_relro_addr) + & ~(GLRO(dl_pagesize) - 1)); + ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size) + & ~(GLRO(dl_pagesize) - 1)); + + if (start != end) + __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE); +} + +void +_dl_static_init (struct link_map *l) +{ + struct link_map *rtld_map = l; + struct r_scope_elem **scope; + const ElfW(Sym) *ref = NULL; + lookup_t loadbase; + void (*f) (void *[]); + size_t i; + + loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope, + NULL, 0, 1, NULL); + + for (scope = l->l_local_scope; *scope != NULL; scope++) + for (i = 0; i < (*scope)->r_nlist; i++) + if ((*scope)->r_list[i] == loadbase) + { + rtld_map = (*scope)->r_list[i]; + break; + } + + if (ref != NULL) + { + f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref); + _dl_unprotect_relro (rtld_map); + f (variables); + _dl_protect_relro (rtld_map); + } +} + +#endif diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h new file mode 100644 index 000000000..92877e53d --- /dev/null +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h @@ -0,0 +1,32 @@ +/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile. + Copyright (C) 2001-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LDSODEFS_H + +/* Get the real definitions. */ +#include_next <ldsodefs.h> + +/* Now define our stuff. */ + +/* We need special support to initialize DSO loaded for statically linked + binaries. */ +extern void _dl_static_init (struct link_map *map); +#undef DL_STATIC_INIT +#define DL_STATIC_INIT(map) _dl_static_init (map) + +#endif /* ldsodefs.h */ diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h index 7c1e68365..71e1dec11 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h @@ -21,6 +21,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> +#include <bits/types.h> __BEGIN_DECLS @@ -123,7 +124,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -159,6 +164,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/libc/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h index c18d31424..d6f390841 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ b/libc/ports/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h @@ -21,6 +21,7 @@ #include <features.h> #include <sys/ucontext.h> +#include <bits/types.h> __BEGIN_DECLS @@ -128,7 +129,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -179,6 +184,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile b/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile index 1c0c968dc..0bcb95f63 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/Makefile @@ -16,4 +16,10 @@ endif ifeq ($(subdir),elf) sysdep_routines += dl-vdso +ifeq ($(build-shared),yes) +# This is needed for DSO loading from static binaries. +sysdep-dl-routines += dl-static +sysdep_routines += dl-static +sysdep-rtld-routines += dl-static +endif endif diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/Versions b/libc/ports/sysdeps/unix/sysv/linux/tile/Versions index 1df7518c7..9b40d2839 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/Versions +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/Versions @@ -1,3 +1,9 @@ +ld { + GLIBC_PRIVATE { + # used for loading by static libraries + _dl_var_init; + } +} libc { GLIBC_2.12 { _flush_cache; diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/dl-static.c b/libc/ports/sysdeps/unix/sysv/linux/tile/dl-static.c new file mode 100644 index 000000000..5b59a04dc --- /dev/null +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/dl-static.c @@ -0,0 +1,84 @@ +/* Variable initialization. Tile version. + Copyright (C) 2001-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ + +#include <ldsodefs.h> + +#ifdef SHARED + +void +_dl_var_init (void *array[]) +{ + /* It has to match "variables" below. */ + enum + { + DL_PAGESIZE = 0 + }; + + GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]); +} + +#else + +static void *variables[] = +{ + &GLRO(dl_pagesize) +}; + +static void +_dl_unprotect_relro (struct link_map *l) +{ + ElfW(Addr) start = ((l->l_addr + l->l_relro_addr) + & ~(GLRO(dl_pagesize) - 1)); + ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size) + & ~(GLRO(dl_pagesize) - 1)); + + if (start != end) + __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE); +} + +void +_dl_static_init (struct link_map *l) +{ + struct link_map *rtld_map = l; + struct r_scope_elem **scope; + const ElfW(Sym) *ref = NULL; + lookup_t loadbase; + void (*f) (void *[]); + size_t i; + + loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope, + NULL, 0, 1, NULL); + + for (scope = l->l_local_scope; *scope != NULL; scope++) + for (i = 0; i < (*scope)->r_nlist; i++) + if ((*scope)->r_list[i] == loadbase) + { + rtld_map = (*scope)->r_list[i]; + break; + } + + if (ref != NULL) + { + f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref); + _dl_unprotect_relro (rtld_map); + f (variables); + _dl_protect_relro (rtld_map); + } +} + +#endif diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/ldsodefs.h b/libc/ports/sysdeps/unix/sysv/linux/tile/ldsodefs.h new file mode 100644 index 000000000..92877e53d --- /dev/null +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/ldsodefs.h @@ -0,0 +1,32 @@ +/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile. + Copyright (C) 2001-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LDSODEFS_H + +/* Get the real definitions. */ +#include_next <ldsodefs.h> + +/* Now define our stuff. */ + +/* We need special support to initialize DSO loaded for statically linked + binaries. */ +extern void _dl_static_init (struct link_map *map); +#undef DL_STATIC_INIT +#define DL_STATIC_INIT(map) _dl_static_init (map) + +#endif /* ldsodefs.h */ diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/libc/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h index 55d541dd7..5740dacfe 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> +#include <bits/types.h> __BEGIN_DECLS @@ -101,8 +102,28 @@ enum __ptrace_request #define PT_GETSIGINFO PTRACE_GETSIGINFO /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGINFO = 0x4203, #define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -132,6 +153,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +} + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/sysdeps/i386/fpu/libm-test-ulps b/libc/sysdeps/i386/fpu/libm-test-ulps index 8ab76afe5..530dbd740 100644 --- a/libc/sysdeps/i386/fpu/libm-test-ulps +++ b/libc/sysdeps/i386/fpu/libm-test-ulps @@ -263,9 +263,13 @@ ldouble: 1 Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -422,6 +426,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -432,6 +439,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -470,6 +480,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -481,6 +494,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -635,12 +651,16 @@ ldouble: 1 Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -799,6 +819,9 @@ idouble: 1 Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -821,6 +844,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -831,6 +857,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -876,6 +905,9 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (1.0 + 0x1.fp-30 i)": double: 1 idouble: 1 @@ -897,6 +929,9 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (1.0 - 0x1.fp-30 i)": double: 1 idouble: 1 @@ -1058,9 +1093,13 @@ ldouble: 1 Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -1217,6 +1256,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -1227,6 +1269,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -1265,6 +1310,9 @@ ldouble: 1 Test "Imaginary part of: cacosh (-1.0 + 0.5 i)": float: 1 ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -1276,6 +1324,9 @@ ldouble: 1 Test "Imaginary part of: cacosh (-1.0 - 0.5 i)": float: 1 ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -1427,12 +1478,16 @@ ldouble: 1 Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": ildouble: 1 ldouble: 1 Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": ildouble: 1 ldouble: 1 @@ -1594,6 +1649,9 @@ idouble: 1 Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -1616,6 +1674,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -1626,6 +1687,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -1664,6 +1728,9 @@ ldouble: 1 Test "Imaginary part of: cacosh (1.0 + 0.5 i)": float: 1 ifloat: 1 +Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)": double: 1 float: 1 @@ -1685,6 +1752,9 @@ ldouble: 1 Test "Imaginary part of: cacosh (1.0 - 0.5 i)": float: 1 ifloat: 1 +Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)": double: 1 float: 1 @@ -1859,9 +1929,13 @@ ldouble: 1 Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -1914,28 +1988,52 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0x1.fp-100 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casin (-0x1.fp-100 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casin (-0x1.fp-1000 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)": double: 1 idouble: 1 +Test "Real part of: casin (-0x1.fp-1000 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)": double: 1 idouble: 1 +Test "Real part of: casin (-0x1.fp-10000 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1.fp-10000 - 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1.fp-1025 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)": double: 1 idouble: 1 Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)": double: 1 idouble: 1 +Test "Real part of: casin (-0x1.fp-1025 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)": double: 1 idouble: 1 @@ -1954,6 +2052,9 @@ ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 + 0x1p-23 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0x1.fp-129 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)": double: 1 float: 1 @@ -1974,6 +2075,9 @@ ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 - 0x1p-23 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0x1.fp-129 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)": double: 1 float: 1 @@ -2040,6 +2144,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -2060,6 +2167,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -2118,6 +2228,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2131,6 +2244,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2255,9 +2371,13 @@ ldouble: 1 Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -2310,28 +2430,52 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (0x1.fp-100 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casin (0x1.fp-100 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casin (0x1.fp-1000 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)": double: 1 idouble: 1 +Test "Real part of: casin (0x1.fp-1000 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)": double: 1 idouble: 1 +Test "Real part of: casin (0x1.fp-10000 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1.fp-10000 - 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1.fp-1025 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)": double: 1 idouble: 1 Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)": double: 1 idouble: 1 +Test "Real part of: casin (0x1.fp-1025 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)": double: 1 idouble: 1 @@ -2350,6 +2494,9 @@ ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 + 0x1p-23 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (0x1.fp-129 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)": double: 1 float: 1 @@ -2370,6 +2517,9 @@ ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 - 0x1p-23 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (0x1.fp-129 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)": double: 1 float: 1 @@ -2410,6 +2560,9 @@ idouble: 1 Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -2442,6 +2595,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -2462,6 +2618,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -2520,6 +2679,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2533,6 +2695,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2723,6 +2888,9 @@ ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1.000002p0 + 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)": double: 1 float: 1 @@ -2737,11 +2905,20 @@ ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1.000002p0 - 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1.fp-1025 + 0.5 i)": ildouble: 1 ldouble: 1 @@ -2838,6 +3015,8 @@ ldouble: 1 Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -2849,6 +3028,8 @@ ldouble: 1 Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -2892,17 +3073,32 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-100 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-1000 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10000 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-1025 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-129 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)": double: 1 float: 1 @@ -2941,17 +3137,32 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-100 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-1000 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10000 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-1025 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-129 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)": double: 1 float: 1 @@ -3142,6 +3353,9 @@ ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 + 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1.000002p0 + 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)": double: 1 float: 1 @@ -3156,11 +3370,20 @@ ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 - 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1.000002p0 - 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (0x1.fp-10 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-10 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1.fp-1025 + 0.5 i)": ildouble: 1 ldouble: 1 @@ -3221,6 +3444,9 @@ idouble: 1 Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-23 + 0.0 i)": ildouble: 1 ldouble: 1 @@ -3263,6 +3489,8 @@ ldouble: 1 Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -3274,6 +3502,8 @@ ldouble: 1 Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -3317,17 +3547,32 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-100 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-1000 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-10000 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-1025 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 + 0x1.fp-129 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-129 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 + 0x1.fp-30 i)": double: 1 float: 1 @@ -3366,17 +3611,32 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-100 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-1000 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-10000 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)": double: 1 idouble: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-1025 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 - 0x1.fp-129 i)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-129 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 - 0x1.fp-30 i)": double: 1 float: 1 @@ -3421,6 +3681,9 @@ ifloat: 1 Test "Imaginary part of: catan (-0x1.0000000000001p0 + 0x1p-27 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)": double: 1 idouble: 1 @@ -3454,30 +3717,57 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1p-1022 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-13 + 0x0.ffffffp0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-16382 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-0x1p-64 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-1.0 - 0x1p-13 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3500,6 +3790,9 @@ ifloat: 1 Test "Imaginary part of: catan (0x1.0000000000001p0 + 0x1p-27 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)": double: 1 idouble: 1 @@ -3533,35 +3826,68 @@ ldouble: 1 Test "Imaginary part of: catan (0x1p-1022 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-13 + 0x0.ffffffp0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-16382 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (0x1p-64 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (1.0 - 0x1p-13 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 # catanh +Test "Real part of: catanh (-0x0.fffffffffffff8p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.fffffffffffff8p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i)": ildouble: 1 ldouble: 1 @@ -3580,6 +3906,18 @@ ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)": ildouble: 1 ldouble: 1 @@ -3604,6 +3942,18 @@ idouble: 1 Test "Real part of: catanh (-0x1p-13 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 @@ -3616,6 +3966,9 @@ ldouble: 1 Test "Real part of: catanh (-1.0 + 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3625,6 +3978,9 @@ ldouble: 1 Test "Real part of: catanh (-1.0 - 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3654,6 +4010,18 @@ ldouble: 1 Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x0.ffffffp0 + 0x1p-13 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffp0 - 0x1p-13 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)": ildouble: 1 ldouble: 1 @@ -3682,12 +4050,18 @@ idouble: 1 Test "Real part of: catanh (0x1p-27 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-27 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 Test "Real part of: catanh (0x1p-27 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 @@ -3706,6 +4080,9 @@ ldouble: 1 Test "Real part of: catanh (1.0 + 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3715,6 +4092,9 @@ ldouble: 1 Test "Real part of: catanh (1.0 - 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3954,6 +4334,9 @@ ifloat: 1 Test "Real part of: clog (0x1.fffffep+127 + 0x1.fffffep+127 i)": ildouble: 1 ldouble: 1 +Test "Real part of: clog (0x1.fp+16383 + 0x1.fp+16383 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: clog (0x1.fp+16383 + 0x1p+16383 i)": ildouble: 1 ldouble: 1 @@ -4527,6 +4910,7 @@ ldouble: 1 # cosh_upward Test "cosh_upward (22)": ildouble: 2 +ldouble: 1 Test "cosh_upward (23)": ildouble: 2 ldouble: 1 @@ -5494,6 +5878,9 @@ idouble: 1 # sinh Test "sinh (0.75)": ildouble: 1 +Test "sinh (0x8p-32)": +ildouble: 1 +ldouble: 1 # sinh_downward Test "sinh_downward (22)": @@ -5754,8 +6141,8 @@ ldouble: 2 Test "tgamma (-0x1e.00002p0)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Test "tgamma (-0x1f4.00000000000002p0)": ildouble: 3 ldouble: 3 @@ -7062,6 +7449,7 @@ ldouble: 1 Function: "sinh": ildouble: 1 +ldouble: 1 Function: "sinh_downward": double: 1 diff --git a/libc/sysdeps/powerpc/fpu/libm-test-ulps b/libc/sysdeps/powerpc/fpu/libm-test-ulps index 5475b51ca..6fdace9ee 100644 --- a/libc/sysdeps/powerpc/fpu/libm-test-ulps +++ b/libc/sysdeps/powerpc/fpu/libm-test-ulps @@ -136,6 +136,9 @@ ldouble: 1 Test "atan2 (-0.75, -1.0)": float: 1 ifloat: 1 +Test "atan2 (-inf, -inf)": +ildouble: 1 +ldouble: 1 Test "atan2 (-max_value, -min_value)": float: 1 ifloat: 1 @@ -147,6 +150,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "atan2 (inf, -inf)": +ildouble: 1 +ldouble: 1 # atanh Test "atanh (0.75)": @@ -766,6 +772,12 @@ ifloat: 1 Test "Real part of: cacos (-2 - 3 i)": float: 1 ifloat: 1 +Test "Real part of: cacos (-inf + inf i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-inf - inf i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0.0 + 0x1.000000000000000000000000008p0 i)": ildouble: 1 ldouble: 1 @@ -809,6 +821,9 @@ idouble: 1 Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)": double: 1 idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-52 i)": +double: 1 +idouble: 1 Test "Imaginary part of: cacos (0.5 + 0x1p-52 i)": ildouble: 1 ldouble: 1 @@ -850,6 +865,9 @@ idouble: 1 Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)": double: 1 idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-52 i)": +double: 1 +idouble: 1 Test "Imaginary part of: cacos (0.5 - 0x1p-52 i)": ildouble: 1 ldouble: 1 @@ -1756,6 +1774,12 @@ double: 1 float: 3 idouble: 1 ifloat: 3 +Test "Imaginary part of: cacosh (-inf + inf i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-inf - inf i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0.0 + 0x1.000000000000000000000000008p0 i)": ildouble: 1 ldouble: 1 @@ -1804,6 +1828,9 @@ idouble: 1 Test "Real part of: cacosh (0.5 + 0x1p-52 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)": +double: 1 +idouble: 1 Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)": double: 1 idouble: 1 @@ -1847,6 +1874,9 @@ idouble: 1 Test "Real part of: cacosh (0.5 - 0x1p-52 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)": +double: 1 +idouble: 1 Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)": double: 1 idouble: 1 @@ -2169,6 +2199,14 @@ Test "Real part of: cacosh (1.5 - 0 i)": float: 1 ifloat: 1 +# carg +Test "carg (-inf + inf i)": +ildouble: 1 +ldouble: 1 +Test "carg (-inf - inf i)": +ildouble: 1 +ldouble: 1 + # casin Test "Imaginary part of: casin (+0 + 0.5 i)": double: 2 @@ -2511,7 +2549,9 @@ Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)": float: 1 ifloat: 1 Test "Real part of: casin (-0x1p-23 + 0.5 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)": float: 1 @@ -2528,7 +2568,9 @@ Test "Imaginary part of: casin (-0x1p-23 + 0x1.000002p0 i)": ildouble: 1 ldouble: 1 Test "Real part of: casin (-0x1p-23 - 0.5 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)": float: 1 @@ -2562,6 +2604,9 @@ ifloat: 1 Test "Real part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (-1.0 + 0.25 i)": +double: 1 +idouble: 1 Test "Real part of: casin (-1.0 + 0.5 i)": float: 1 ifloat: 1 @@ -2578,6 +2623,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (-1.0 - 0.25 i)": +double: 1 +idouble: 1 Test "Real part of: casin (-1.0 - 0.5 i)": float: 1 ifloat: 1 @@ -2894,7 +2942,9 @@ Test "Imaginary part of: casin (0x1p-112 - 0.5 i)": float: 1 ifloat: 1 Test "Real part of: casin (0x1p-23 + 0.5 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (0x1p-23 + 0.5 i)": float: 1 @@ -2911,7 +2961,9 @@ Test "Imaginary part of: casin (0x1p-23 + 0x1.000002p0 i)": ildouble: 1 ldouble: 1 Test "Real part of: casin (0x1p-23 - 0.5 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Imaginary part of: casin (0x1p-23 - 0.5 i)": float: 1 @@ -2945,6 +2997,9 @@ ifloat: 1 Test "Real part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casin (1.0 + 0.25 i)": +double: 1 +idouble: 1 Test "Real part of: casin (1.0 + 0.5 i)": float: 1 ifloat: 1 @@ -2961,6 +3016,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (1.0 - 0.25 i)": +double: 1 +idouble: 1 Test "Real part of: casin (1.0 - 0.5 i)": float: 1 ifloat: 1 @@ -3026,6 +3084,12 @@ ldouble: 1 Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (-0.25 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0.25 - 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (-0.5 + +0 i)": double: 2 float: 1 @@ -3046,7 +3110,9 @@ Test "Real part of: casinh (-0.5 + 0x1p-23 i)": float: 1 ifloat: 1 Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: casinh (-0.5 + 0x1p-52 i)": float: 1 @@ -3082,7 +3148,9 @@ Test "Real part of: casinh (-0.5 - 0x1p-23 i)": float: 1 ifloat: 1 Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: casinh (-0.5 - 0x1p-52 i)": float: 1 @@ -3432,6 +3500,12 @@ ldouble: 1 Test "Imaginary part of: casinh (0.0 - 0x0.ffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (0.25 + 1.0 i)": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0.25 - 1.0 i)": +double: 1 +idouble: 1 Test "Real part of: casinh (0.5 + +0 i)": float: 1 ifloat: 1 @@ -3448,7 +3522,9 @@ Test "Real part of: casinh (0.5 + 0x1p-23 i)": float: 1 ifloat: 1 Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: casinh (0.5 + 0x1p-52 i)": float: 1 @@ -3480,7 +3556,9 @@ Test "Real part of: casinh (0.5 - 0x1p-23 i)": float: 1 ifloat: 1 Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "Real part of: casinh (0.5 - 0x1p-52 i)": float: 1 @@ -4623,6 +4701,12 @@ float: 3 ifloat: 3 ildouble: 1 ldouble: 1 +Test "Imaginary part of: clog (-inf + inf i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: clog (-inf - inf i)": +ildouble: 1 +ldouble: 1 Test "Real part of: clog (0.75 + 1.25 i)": float: 2 ifloat: 2 @@ -5117,6 +5201,8 @@ double: 2 float: 1 idouble: 2 ifloat: 1 +ildouble: 2 +ldouble: 2 Test "cos (pi/2)": double: 1 float: 1 @@ -5591,15 +5677,15 @@ double: 2 float: 1 idouble: 2 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 5 +ldouble: 5 Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)": double: 1 float: 2 idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 +ildouble: 5 +ldouble: 5 # ctanh Test "Real part of: ctanh (-2 - 3 i)": @@ -5718,15 +5804,15 @@ double: 1 float: 2 idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 +ildouble: 5 +ldouble: 5 Test "Imaginary part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)": double: 2 float: 1 idouble: 2 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 5 +ldouble: 5 # erf Test "erf (1.25)": @@ -5851,6 +5937,8 @@ double: 1 float: 2 idouble: 1 ifloat: 2 +ildouble: 3 +ldouble: 3 # hypot Test "hypot (-0.7, -12.4)": @@ -6189,6 +6277,8 @@ idouble: 1 Test "pow10 (-305)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "pow10 (-36)": double: 1 idouble: 1 @@ -6267,8 +6357,8 @@ ifloat: 1 Test "sin_towardzero (1)": float: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 +ildouble: 3 +ldouble: 3 Test "sin_towardzero (10)": float: 1 ifloat: 1 @@ -6297,8 +6387,8 @@ ldouble: 1 Test "sin_upward (1)": float: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 +ildouble: 3 +ldouble: 3 Test "sin_upward (2)": float: 2 ifloat: 2 @@ -6582,8 +6672,8 @@ Test "tgamma (-0x1.0a32a2p+5)": float: 2 ifloat: 2 Test "tgamma (-0x13.ffffep0)": -float: 1 -ifloat: 1 +float: 2 +ifloat: 2 Test "tgamma (-0x13.fffffffffffffffffffffffff8p0)": ildouble: 2 ldouble: 2 @@ -6647,6 +6737,9 @@ idouble: 1 Test "tgamma (-0x27.fffffffffffffffffffffffffp0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x28.0000000000000000000000001p0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x28.000000000002p0)": double: 1 idouble: 1 @@ -6751,11 +6844,13 @@ ldouble: 1 Test "tgamma (-0x7.0000000000004p0)": double: 3 idouble: 3 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Test "tgamma (-0x7.000008p0)": double: 1 +float: 1 idouble: 1 +ifloat: 1 Test "tgamma (-0x7.fffff8p0)": double: 3 float: 1 @@ -6778,6 +6873,8 @@ idouble: 1 ildouble: 2 ldouble: 2 Test "tgamma (-0x9.fffffp0)": +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "tgamma (-0x96.000000000008p0)": @@ -6850,7 +6947,9 @@ double: 1 idouble: 1 Test "tgamma (0x2.30a43cp+4)": double: 1 +float: 2 idouble: 1 +ifloat: 2 Test "tgamma (0x2.fffffcp0)": float: 3 ifloat: 3 @@ -6899,9 +6998,13 @@ ldouble: 1 Test "tgamma (0x7.0000000000004p0)": double: 4 idouble: 4 +ildouble: 1 +ldouble: 1 Test "tgamma (0x7.000008p0)": double: 1 +float: 1 idouble: 1 +ifloat: 1 Test "tgamma (0x7.fffff8p0)": double: 2 float: 1 @@ -6930,12 +7033,16 @@ idouble: 1 ifloat: 1 Test "tgamma (18.5)": double: 1 +float: 1 idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "tgamma (19.5)": double: 2 idouble: 2 +ildouble: 1 +ldouble: 1 Test "tgamma (2.5)": float: 2 ifloat: 2 @@ -6957,12 +7064,19 @@ ifloat: 1 Test "tgamma (3.5)": float: 2 ifloat: 2 +Test "tgamma (30.5)": +float: 1 +ifloat: 1 Test "tgamma (33.5)": +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "tgamma (34.5)": double: 1 +float: 2 idouble: 1 +ifloat: 2 ildouble: 1 ldouble: 1 Test "tgamma (4)": @@ -7344,6 +7458,10 @@ float: 3 idouble: 1 ifloat: 3 +Function: "carg": +ildouble: 1 +ldouble: 1 + Function: Real part of "casin": double: 1 float: 1 @@ -7491,6 +7609,8 @@ double: 2 float: 1 idouble: 2 ifloat: 1 +ildouble: 2 +ldouble: 2 Function: "cos_downward": float: 1 @@ -7807,8 +7927,8 @@ double: 1 float: 2 idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 +ildouble: 3 +ldouble: 3 Function: "hypot": double: 1 @@ -7881,6 +8001,8 @@ ldouble: 1 Function: "pow10": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "pow_downward": float: 1 @@ -7919,20 +8041,22 @@ ldouble: 1 Function: "sin_towardzero": float: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 +ildouble: 3 +ldouble: 3 Function: "sin_upward": float: 2 ifloat: 2 -ildouble: 2 -ldouble: 2 +ildouble: 3 +ldouble: 3 Function: "sincos": double: 1 float: 1 idouble: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "sinh": ildouble: 1 diff --git a/libc/sysdeps/sparc/fpu/libm-test-ulps b/libc/sysdeps/sparc/fpu/libm-test-ulps index 6c80ca488..991de8c0b 100644 --- a/libc/sysdeps/sparc/fpu/libm-test-ulps +++ b/libc/sysdeps/sparc/fpu/libm-test-ulps @@ -123,26 +123,22 @@ ifloat: 1 # cacos Test "Imaginary part of: cacos (+0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (+0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (+0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (+0 - 0.5 i)": float: 1 ifloat: 1 @@ -161,26 +157,22 @@ idouble: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (-0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (-0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0 - 0.5 i)": float: 1 ifloat: 1 @@ -856,13 +848,6 @@ ldouble: 1 Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Imaginary part of: cacos (-1.5 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: cacos (-2 - 3 i)": float: 1 ifloat: 1 @@ -911,8 +896,6 @@ ldouble: 1 Test "Real part of: cacos (0.5 + +0 i)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)": double: 1 idouble: 1 @@ -965,8 +948,6 @@ ldouble: 1 Test "Real part of: cacos (0.5 - 0 i)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)": double: 1 idouble: 1 @@ -1016,12 +997,6 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 -Test "Real part of: cacos (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 @@ -1507,13 +1482,6 @@ ldouble: 1 Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Imaginary part of: cacos (1.5 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 # cacosh Test "Real part of: cacosh (+0 + 0.5 i)": @@ -1635,8 +1603,6 @@ float: 1 idouble: 1 ifloat: 1 Test "Imaginary part of: cacosh (-0.5 + +0 i)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)": @@ -1690,8 +1656,6 @@ Test "Imaginary part of: cacosh (-0.5 + 1.0 i)": float: 1 ifloat: 1 Test "Imaginary part of: cacosh (-0.5 - 0 i)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)": @@ -2246,16 +2210,6 @@ ldouble: 1 Test "Real part of: cacosh (-1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Real part of: cacosh (-1.5 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 - 0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: cacosh (-2 - 3 i)": float: 1 ifloat: 1 @@ -2890,39 +2844,25 @@ ldouble: 1 Test "Real part of: cacosh (1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Real part of: cacosh (1.5 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 - 0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 # casin Test "Imaginary part of: casin (+0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: casin (+0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (+0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (+0 - 0.5 i)": float: 1 ifloat: 1 @@ -2941,26 +2881,22 @@ idouble: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: casin (-0 + 0.5 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: casin (-0 + 1.0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0 + 1.5 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0 - 0.5 i)": float: 1 ifloat: 1 @@ -3550,13 +3486,6 @@ ldouble: 1 Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Imaginary part of: casin (-1.5 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": ildouble: 1 ldouble: 1 @@ -3672,9 +3601,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -Test "Imaginary part of: casin (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)": ildouble: 1 ldouble: 1 @@ -4146,29 +4072,8 @@ ldouble: 1 Test "Imaginary part of: casin (1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 -Test "Imaginary part of: casin (1.5 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 # casinh -Test "Real part of: casinh (-0 + 1.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0 - 1.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)": ildouble: 1 ldouble: 1 @@ -4198,9 +4103,7 @@ idouble: 1 ildouble: 1 ldouble: 1 Test "Real part of: casinh (-0.5 + +0 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 @@ -4251,9 +4154,7 @@ Test "Imaginary part of: casinh (-0.5 + 1.0 i)": float: 1 ifloat: 1 Test "Real part of: casinh (-0.5 - 0 i)": -double: 2 float: 1 -idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 @@ -4596,12 +4497,12 @@ Test "Real part of: casinh (-0x1p5000 - 1.0 i)": ildouble: 1 ldouble: 1 Test "Real part of: casinh (-1.0 + +0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + 0.25 i)": float: 1 ifloat: 1 @@ -4670,12 +4571,12 @@ Test "Real part of: casinh (-1.0 + 0x1p5000 i)": ildouble: 1 ldouble: 1 Test "Real part of: casinh (-1.0 - 0 i)": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 - 0.25 i)": float: 1 ifloat: 1 @@ -4744,12 +4645,10 @@ Test "Real part of: casinh (-1.0 - 0x1p5000 i)": ildouble: 1 ldouble: 1 Test "Real part of: casinh (-1.5 + +0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)": double: 1 idouble: 1 @@ -4764,12 +4663,10 @@ Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 Test "Real part of: casinh (-1.5 - 0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)": double: 1 idouble: 1 @@ -4783,20 +4680,6 @@ ldouble: 1 Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 -Test "Real part of: casinh (-2 - 3 i)": -double: 5 -float: 1 -idouble: 5 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: casinh (-2 - 3 i)": -double: 3 -float: 6 -idouble: 3 -ifloat: 6 -ildouble: 2 -ldouble: 2 Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)": ildouble: 1 ldouble: 1 @@ -5841,13 +5724,11 @@ Test "Real part of: catanh (-1.0 - 0x1p-57 i)": float: 1 ifloat: 1 Test "Real part of: catanh (-2 - 3 i)": -double: 4 -idouble: 4 +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 Test "Real part of: catanh (0.75 + 1.25 i)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: catanh (0.75 + 1.25 i)": @@ -6296,11 +6177,6 @@ ldouble: 1 Test "Real part of: clog (-0x1p-16494 - 0x1.fp+16383 i)": ildouble: 1 ldouble: 1 -Test "Real part of: clog (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)": float: 1 ifloat: 1 @@ -6515,9 +6391,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -Test "Real part of: clog10 (0.75 + 1.25 i)": -float: 1 -ifloat: 1 Test "Imaginary part of: clog10 (0.75 + 1.25 i)": ildouble: 1 ldouble: 1 @@ -6956,8 +6829,6 @@ Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": float: 1 ifloat: 1 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": -float: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)": @@ -6975,8 +6846,8 @@ double: 2 float: 3 idouble: 2 ifloat: 3 -ildouble: 11 -ldouble: 11 +ildouble: 2 +ldouble: 2 Test "Real part of: cpow (2 + 0 i, 10 + 0 i)": ildouble: 2 ldouble: 2 @@ -6990,13 +6861,6 @@ ldouble: 2 Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)": float: 2 ifloat: 2 -Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 # csin Test "Real part of: csin (-0.75 + 11357.25 i)": @@ -7237,8 +7101,6 @@ ldouble: 1 Test "Real part of: ctan (-2 - 3 i)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: ctan (-2 - 3 i)": double: 1 idouble: 1 @@ -7384,18 +7246,14 @@ ifloat: 2 # ctanh Test "Real part of: ctanh (-2 - 3 i)": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 +ifloat: 1 Test "Imaginary part of: ctanh (-2 - 3 i)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)": float: 1 ifloat: 1 @@ -7413,13 +7271,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: ctanh (0.75 + 1.25 i)": float: 2 ifloat: 2 -ildouble: 1 -ldouble: 1 Test "Real part of: ctanh (1 + 0x1p1023 i)": ildouble: 2 ldouble: 2 @@ -7573,10 +7427,8 @@ idouble: 1 # exp10 Test "exp10 (-1)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +double: 1 +idouble: 1 Test "exp10 (-305)": double: 1 idouble: 1 @@ -7585,18 +7437,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 -Test "exp10 (0.75)": +Test "exp10 (3)": double: 1 -float: 1 idouble: 1 -ifloat: 1 -Test "exp10 (3)": -double: 6 -float: 2 -idouble: 6 -ifloat: 2 -ildouble: 1 -ldouble: 1 Test "exp10 (36)": double: 1 idouble: 1 @@ -8335,8 +8178,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tgamma (-0x0.fffffffffffff8p0)": double: 1 idouble: 1 @@ -9158,8 +8999,6 @@ ifloat: 2 Test "tgamma (4)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tgamma (4.5)": double: 1 float: 1 @@ -9491,9 +9330,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "cacos": -double: 2 +double: 1 float: 2 -idouble: 2 +idouble: 1 ifloat: 2 ildouble: 2 ldouble: 2 @@ -9523,25 +9362,25 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "casin": -double: 2 +double: 1 float: 2 -idouble: 2 +idouble: 1 ifloat: 2 ildouble: 2 ldouble: 2 Function: Real part of "casinh": -double: 5 +double: 1 float: 2 -idouble: 5 +idouble: 1 ifloat: 2 -ildouble: 4 -ldouble: 4 +ildouble: 2 +ldouble: 2 Function: Imaginary part of "casinh": -double: 3 +double: 1 float: 1 -idouble: 3 +idouble: 1 ifloat: 1 ildouble: 2 ldouble: 2 @@ -9561,9 +9400,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "catanh": -double: 4 +double: 1 float: 1 -idouble: 4 +idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -9713,13 +9552,11 @@ double: 2 float: 4 idouble: 2 ifloat: 4 -ildouble: 11 -ldouble: 11 +ildouble: 4 +ldouble: 4 Function: Imaginary part of "cpow": -double: 2 float: 2 -idouble: 2 ifloat: 2 ildouble: 1 ldouble: 1 @@ -9917,10 +9754,8 @@ ildouble: 1 ldouble: 1 Function: "exp10": -double: 6 -float: 2 -idouble: 6 -ifloat: 2 +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/libc/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h index e6e916b0f..2104a2d9b 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +++ b/libc/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> +#include <bits/types.h> __BEGIN_DECLS @@ -115,7 +116,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -152,6 +157,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/libc/sysdeps/unix/sysv/linux/s390/sys/ptrace.h index ca2ebb959..e7f7b22cc 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +++ b/libc/sysdeps/unix/sysv/linux/s390/sys/ptrace.h @@ -21,6 +21,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> +#include <bits/types.h> __BEGIN_DECLS #ifdef _LINUX_PTRACE_H @@ -154,7 +155,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -191,6 +196,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/libc/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h index 7ba8f5f25..7543fa7c6 100644 --- a/libc/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +++ b/libc/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h @@ -20,7 +20,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> - +#include <bits/types.h> #include <bits/wordsize.h> /* Linux/SPARC kernels up to 2.3.18 do not care much @@ -198,7 +198,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -235,6 +239,20 @@ enum __ptrace_eventcodes PTRACE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/sysdeps/unix/sysv/linux/sys/ptrace.h b/libc/sysdeps/unix/sysv/linux/sys/ptrace.h index 08709bf64..2b78565db 100644 --- a/libc/sysdeps/unix/sysv/linux/sys/ptrace.h +++ b/libc/sysdeps/unix/sysv/linux/sys/ptrace.h @@ -20,6 +20,7 @@ #define _SYS_PTRACE_H 1 #include <features.h> +#include <bits/types.h> __BEGIN_DECLS @@ -145,7 +146,11 @@ enum __ptrace_request #define PTRACE_INTERRUPT PTRACE_INTERRUPT /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208 + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO }; @@ -182,6 +187,20 @@ enum __ptrace_eventcodes PTRAVE_EVENT_SECCOMP = 7 }; +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/libc/sysdeps/x86_64/fpu/libm-test-ulps b/libc/sysdeps/x86_64/fpu/libm-test-ulps index 563fea83e..d02618a0a 100644 --- a/libc/sysdeps/x86_64/fpu/libm-test-ulps +++ b/libc/sysdeps/x86_64/fpu/libm-test-ulps @@ -4233,6 +4233,9 @@ ifloat: 1 Test "Real part of: catan (-0x1p-13 + 1.0 i)": float: 1 ifloat: 1 +Test "Imaginary part of: catan (-0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-13 - 0x0.ffffffp0 i)": ildouble: 1 ldouble: 1 @@ -4251,12 +4254,27 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)": float: 1 ifloat: 1 @@ -4386,6 +4404,9 @@ ifloat: 1 Test "Real part of: catan (0x1p-13 + 1.0 i)": float: 1 ifloat: 1 +Test "Imaginary part of: catan (0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-13 - 0x0.ffffffp0 i)": ildouble: 1 ldouble: 1 @@ -4404,12 +4425,27 @@ ldouble: 1 Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-54 + 1.0 i)": float: 1 ifloat: 1 @@ -4451,6 +4487,12 @@ ildouble: 1 ldouble: 1 # catanh +Test "Real part of: catanh (-0x0.fffffffffffff8p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.fffffffffffff8p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i)": ildouble: 1 ldouble: 1 @@ -4475,6 +4517,18 @@ ldouble: 1 Test "Real part of: catanh (-0x0.ffffffp0 - 0x1p-13 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)": float: 1 ifloat: 1 @@ -4570,6 +4624,9 @@ ldouble: 1 Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)": float: 1 ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-1.0 + 0x1p-54 i)": float: 1 ifloat: 1 @@ -4590,6 +4647,9 @@ ldouble: 1 Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)": float: 1 ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-1.0 - 0x1p-54 i)": float: 1 ifloat: 1 @@ -4629,6 +4689,12 @@ ldouble: 1 Test "Real part of: catanh (0x0.ffffffp0 - 0x1p-13 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)": float: 1 ifloat: 1 @@ -4721,6 +4787,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)": float: 1 ifloat: 1 @@ -4741,6 +4810,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)": float: 1 ifloat: 1 @@ -5582,6 +5654,9 @@ ildouble: 1 ldouble: 1 # cosh_upward +Test "cosh_upward (22)": +ildouble: 1 +ldouble: 1 Test "cosh_upward (23)": ildouble: 1 ldouble: 1 @@ -5776,9 +5851,14 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: ctan (0.75 + 1.25 i)": +float: 1 +ifloat: 1 Test "Imaginary part of: ctan (0.75 + 1.25 i)": double: 1 +float: 1 idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "Real part of: ctan (0x1p1023 + 1 i)": @@ -5895,9 +5975,9 @@ ldouble: 1 # ctanh Test "Real part of: ctanh (-2 - 3 i)": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 ildouble: 1 ldouble: 1 Test "Imaginary part of: ctanh (-2 - 3 i)": @@ -6039,6 +6119,9 @@ double: 1 idouble: 1 # erfc +Test "erfc (0.75)": +float: 1 +ifloat: 1 Test "erfc (0x1.f7303cp+1)": double: 1 idouble: 1 @@ -6589,6 +6672,11 @@ Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 idouble: 1 +# sinh +Test "sinh (0x8p-32)": +ildouble: 1 +ldouble: 1 + # sinh_downward Test "sinh_downward (22)": float: 1 @@ -6934,7 +7022,9 @@ float: 1 ifloat: 1 Test "tgamma (-0x4.fffff8p0)": double: 1 +float: 1 idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "tgamma (-0x4.ffffffffffffcp0)": @@ -6951,9 +7041,9 @@ ildouble: 1 ldouble: 1 Test "tgamma (-0x5.000008p0)": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 ildouble: 1 ldouble: 1 Test "tgamma (-0x5.ffffffffffffcp0)": @@ -7158,9 +7248,9 @@ ildouble: 1 ldouble: 1 Test "tgamma (-9.5)": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 ildouble: 2 ldouble: 2 Test "tgamma (0.5)": @@ -7231,6 +7321,8 @@ Test "tgamma (0x4.0000000000004p0)": double: 1 idouble: 1 Test "tgamma (0x4.fffff8p0)": +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "tgamma (0x4.ffffffffffffcp0)": @@ -7246,8 +7338,8 @@ Test "tgamma (0x5.0000000000004p0)": double: 1 idouble: 1 Test "tgamma (0x5.000008p0)": -float: 2 -ifloat: 2 +float: 3 +ifloat: 3 ildouble: 1 ldouble: 1 Test "tgamma (0x5.fffff8p0)": @@ -7422,7 +7514,9 @@ ildouble: 1 ldouble: 1 Test "tgamma (9.5)": double: 1 +float: 1 idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 @@ -7447,7 +7541,9 @@ Test "y0 (0x1p-110)": double: 1 idouble: 1 Test "y0 (0x1p-20)": +double: 1 float: 1 +idouble: 1 ifloat: 1 Test "y0 (0x1p-30)": float: 1 @@ -7462,9 +7558,14 @@ ifloat: 1 Test "y0 (0x1p-50)": float: 1 ifloat: 1 +Test "y0 (0x1p-60)": +float: 1 +ifloat: 1 Test "y0 (0x1p-70)": double: 1 +float: 1 idouble: 1 +ifloat: 1 Test "y0 (0x1p-80)": double: 1 float: 1 @@ -7486,8 +7587,13 @@ float: 1 idouble: 2 ifloat: 1 Test "y0 (10.0)": +double: 1 float: 1 +idouble: 1 ifloat: 1 +Test "y0 (2.0)": +double: 1 +idouble: 1 Test "y0 (8.0)": double: 1 float: 1 @@ -7556,8 +7662,13 @@ float: 1 idouble: 2 ifloat: 1 Test "yn (0, 10.0)": +double: 1 float: 1 +idouble: 1 ifloat: 1 +Test "yn (0, 2.0)": +double: 1 +idouble: 1 Test "yn (0, 8.0)": double: 1 float: 1 @@ -7597,22 +7708,26 @@ ildouble: 2 ldouble: 2 Test "yn (10, 0.75)": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 ildouble: 4 ldouble: 4 Test "yn (10, 1.0)": double: 1 +float: 2 idouble: 1 +ifloat: 2 Test "yn (10, 10.0)": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Test "yn (10, 2.0)": -double: 2 -idouble: 2 +double: 3 +float: 1 +idouble: 3 +ifloat: 1 Test "yn (3, 0.125)": double: 1 idouble: 1 @@ -8239,6 +8354,10 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "sinh": +ildouble: 1 +ldouble: 1 + Function: "sinh_downward": float: 1 ifloat: 1 |