summaryrefslogtreecommitdiff
path: root/libc/ports/sysdeps/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ports/sysdeps/powerpc')
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Makefile24
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Subdirs1
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Versions20
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c37
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c32
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c32
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetenv.c48
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c27
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetround.c28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c43
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fenv_const.c34
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fesetenv.c42
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fesetround.c33
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c51
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c37
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c41
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c38
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h35
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps7297
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/shlib-versions1
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/sim-full.c46
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/soft-supp.h41
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S128
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S130
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memset.S152
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S134
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S107
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S75
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S128
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/440/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/464/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/476/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/476/memset.S152
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/Makefile8
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile11
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions8
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S107
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S38
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c47
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c31
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c59
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c59
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c30
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c30
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c26
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h76
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c36
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c56
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c45
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c49
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c32
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c5
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c5
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S103
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S43
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h12
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c700
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c493
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile4
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions19
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h65
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c66
-rw-r--r--libc/ports/sysdeps/powerpc/preconfigure20
-rw-r--r--libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h69
127 files changed, 0 insertions, 12019 deletions
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Makefile b/libc/ports/sysdeps/powerpc/nofpu/Makefile
deleted file mode 100644
index 6bdff4546..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Makefile fragment for PowerPC with no FPU.
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \
- sim-full
-endif
-
-ifeq ($(subdir),math)
-libm-support += fenv_const
-CPPFLAGS += -I../soft-fp/
-# The follow CFLAGS are a work around for GCC Bugzilla Bug 29253
-# "expand_abs wrong default code for floating point"
-# As this is not a regression, a fix is not likely to go into
-# gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags
-# until the fix in a gcc release and glibc drops support for earlier
-# versions of gcc.
-CFLAGS-e_powl.c += -fno-builtin-fabsl
-CFLAGS-s_ccoshl.c += -fno-builtin-fabsl
-CFLAGS-s_csinhl.c += -fno-builtin-fabsl
-CFLAGS-s_clogl.c += -fno-builtin-fabsl
-CFLAGS-s_clog10l.c += -fno-builtin-fabsl
-CFLAGS-s_csinl.c += -fno-builtin-fabsl
-CFLAGS-s_csqrtl.c += -fno-builtin-fabsl
-endif
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Subdirs b/libc/ports/sysdeps/powerpc/nofpu/Subdirs
deleted file mode 100644
index 87eadf302..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Versions b/libc/ports/sysdeps/powerpc/nofpu/Versions
deleted file mode 100644
index 1a29319d5..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Versions
+++ /dev/null
@@ -1,20 +0,0 @@
-libc {
- GLIBC_2.3.2 {
- __sim_exceptions; __sim_disabled_exceptions; __sim_round_mode;
- __adddf3; __addsf3; __divdf3; __divsf3; __eqdf2; __eqsf2;
- __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi; __fixsfsi;
- __fixunsdfdi; __fixunsdfsi; __fixunssfdi; __fixunssfsi;
- __floatdidf; __floatdisf; __floatsidf; __floatsisf;
- __gedf2; __gesf2; __ledf2; __lesf2; __muldf3; __mulsf3;
- __negdf2; __negsf2; __sqrtdf2; __sqrtsf2; __subdf3;
- __subsf3; __truncdfsf2;
- }
- GLIBC_2.4 {
- __floatundidf; __floatundisf;
- __floatunsidf; __floatunsisf;
- __unorddf2; __unordsf2;
- __nedf2; __nesf2;
- __gtdf2; __gtsf2;
- __ltdf2; __ltsf2;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c
deleted file mode 100644
index fabda0ab9..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Clear floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__feclearexcept (int x)
-{
- __sim_exceptions &= ~x;
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c
deleted file mode 100644
index e06c8f767..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Disable exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-#include <fenv.h>
-
-int
-fedisableexcept (int x)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions |= x;
-
- return old_exceptions;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c b/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c
deleted file mode 100644
index 93249abf6..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Enable exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 <fenv.h>
-
-extern int __sim_disabled_exceptions;
-
-int
-feenableexcept (int exceptions)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions &= ~exceptions;
-
- return old_exceptions;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c b/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c
deleted file mode 100644
index 51bcef30a..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Store current floating-point environment (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002, 2010.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-extern int __sim_exceptions;
-extern int __sim_disabled_exceptions;
-extern int __sim_round_mode;
-
-int
-__fegetenv (fenv_t *envp)
-{
- fenv_union_t u;
-
- u.l[0] = __sim_exceptions;
- u.l[0] |= __sim_round_mode;
- u.l[1] = __sim_disabled_exceptions;
-
- *envp = u.fenv;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fegetenv, fegetenv)
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c b/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c
deleted file mode 100644
index ea39a82b7..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Get floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fegetexcept (void)
-{
- return (__sim_disabled_exceptions ^ FE_ALL_EXCEPT) & FE_ALL_EXCEPT;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetround.c b/libc/ports/sysdeps/powerpc/nofpu/fegetround.c
deleted file mode 100644
index c232ae379..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetround.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Return current rounding mode (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-#undef fegetround
-int
-fegetround (void)
-{
- return __sim_round_mode;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c
deleted file mode 100644
index ba6a53acc..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Store current floating-point environment and clear exceptions
- (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-feholdexcept (fenv_t *envp)
-{
- fenv_union_t u;
-
- /* Get the current state. */
- __fegetenv (envp);
-
- u.fenv = *envp;
- /* Clear everything except the rounding mode. */
- u.l[0] &= 0x3;
- /* Disable exceptions */
- u.l[1] = FE_ALL_EXCEPT;
-
- /* Put the new state in effect. */
- fesetenv (&u.fenv);
-
- return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c b/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c
deleted file mode 100644
index 291b1accc..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Constants for fenv_bits.h (soft float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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/>. */
-
-/* We want to specify the bit pattern of the __fe_*_env constants, so
- pretend they're really `long long' instead of `double'. */
-
-/* If the default argument is used we use this value. Disable all
- signalling exceptions as default. */
-const unsigned long long __fe_dfl_env __attribute__ ((aligned (8))) =
-0x000000003e000000ULL;
-
-/* Floating-point environment where none of the exceptions are masked. */
-const unsigned long long __fe_enabled_env __attribute__ ((aligned (8))) =
-0xfff80000000000f8ULL;
-
-/* Floating-point environment with the NI bit set. */
-const unsigned long long __fe_nonieee_env __attribute__ ((aligned (8))) =
-0xfff8000000000004ULL;
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h b/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h
deleted file mode 100644
index 14a2d04a2..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
- Copyright (C) 2007-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 _FENV_LIBC_H
-#define _FENV_LIBC_H 1
-
-/* fenv_libc.h is used in libm implementations of ldbl-128ibm. So we
- need this version in the soft-fp to at minimum include fenv.h to
- get the fegetround definition. */
-
-#include <fenv.h>
-
-#endif /* fenv_libc.h */
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c b/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c
deleted file mode 100644
index 3f35909b6..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Set floating point environment (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fenv_union_t u;
-
- u.fenv = *envp;
- __sim_exceptions = u.l[0] & FE_ALL_EXCEPT;
- __sim_round_mode = u.l[0] & 0x3;
- __sim_disabled_exceptions = u.l[1];
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fesetround.c b/libc/ports/sysdeps/powerpc/nofpu/fesetround.c
deleted file mode 100644
index 028c1300c..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fesetround.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Set rounding mode (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fesetround (int round)
-{
- if ((unsigned int) round > FE_DOWNWARD)
- return 1;
-
- __sim_round_mode = round;
-
- return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c b/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c
deleted file mode 100644
index 163f67310..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Install given floating-point environment and raise exceptions
- (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-#include <signal.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- int saved_exceptions;
-
- /* Save currently set exceptions. */
- saved_exceptions = __sim_exceptions;
-
- /* Set environment. */
- fesetenv (envp);
-
- /* Raise old exceptions. */
- __sim_exceptions |= saved_exceptions;
- if (saved_exceptions & ~__sim_disabled_exceptions)
- raise (SIGFPE);
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feupdateenv, feupdateenv)
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c b/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c
deleted file mode 100644
index 2373fa400..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Store current representation for exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- *flagp = (fexcept_t) __sim_exceptions & excepts & FE_ALL_EXCEPT;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c
deleted file mode 100644
index cd142b60b..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Raise given exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-#include <signal.h>
-
-#undef feraiseexcept
-int
-__feraiseexcept (int x)
-{
- __sim_exceptions |= x;
- if (x & ~__sim_disabled_exceptions)
- raise (SIGFPE);
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feraiseexcept, __old_feraiseexcept)
-compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c b/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c
deleted file mode 100644
index 3dc368fdd..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Set floating-point environment exception handling (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fesetexceptflag(const fexcept_t *flagp, int excepts)
-{
- /* Ignore exceptions not listed in 'excepts'. */
- __sim_exceptions = (__sim_exceptions & ~excepts) | (*flagp & excepts);
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c b/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c
deleted file mode 100644
index f5d01e881..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Test floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fetestexcept (int x)
-{
- return __sim_exceptions & x;
-}
-libm_hidden_def (fetestexcept)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h b/libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h
deleted file mode 100644
index 20eb81030..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Determine floating-point rounding mode within libc. PowerPC
- soft-float version.
- Copyright (C) 2012-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 _POWERPC_NOFPU_GET_ROUNDING_MODE_H
-#define _POWERPC_NOFPU_GET_ROUNDING_MODE_H 1
-
-#include <fenv.h>
-
-#include "soft-supp.h"
-
-/* Return the floating-point rounding mode. */
-
-static inline int
-get_rounding_mode (void)
-{
- return __sim_round_mode;
-}
-
-#endif /* get-rounding-mode.h */
diff --git a/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps b/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
deleted file mode 100644
index ad5a9cd42..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
+++ /dev/null
@@ -1,7297 +0,0 @@
-# Begin of automatic generation
-
-# acos
-Test "acos (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "acos (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "acos (2e-17)":
-ildouble: 1
-ldouble: 1
-
-# acos_downward
-Test "acos_downward (-0)":
-float: 1
-ifloat: 1
-Test "acos_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_downward (-1)":
-float: 1
-ifloat: 1
-Test "acos_downward (0)":
-float: 1
-ifloat: 1
-Test "acos_downward (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_towardzero
-Test "acos_towardzero (-0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_towardzero (-1)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_upward
-Test "acos_upward (-0)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (-1)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (0)":
-ildouble: 2
-ldouble: 2
-
-# asin
-Test "asin (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0.75)":
-ildouble: 2
-ldouble: 2
-Test "asin (0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-
-# asin_downward
-Test "asin_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-1.0)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (1.0)":
-float: 1
-ifloat: 1
-
-# asin_towardzero
-Test "asin_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_towardzero (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (1.0)":
-float: 1
-ifloat: 1
-
-# asin_upward
-Test "asin_upward (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_upward (1.0)":
-ildouble: 1
-ldouble: 1
-
-# atan2
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036)":
-ildouble: 1
-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
-Test "atan2 (0.75, -1.0)":
-float: 1
-ifloat: 1
-Test "atan2 (1.390625, 0.9296875)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (inf, -inf)":
-ildouble: 1
-ldouble: 1
-
-# atanh
-Test "atanh (0.75)":
-float: 1
-ifloat: 1
-
-# cabs
-Test "cabs (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-
-# cacos
-Test "Imaginary part of: cacos (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-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
-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
-Test "Real part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-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 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Real part of: cacos (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 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 "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
-Test "Imaginary part of: cacos (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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 "Imaginary part of: cacos (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Imaginary part of: cacos (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 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
-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
-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
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-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 "Imaginary part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 2
-ldouble: 2
-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
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-
-# cacosh
-Test "Real part of: cacosh (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "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
-Test "Imaginary part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 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 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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 "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 (-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 "Imaginary part of: cacosh (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: cacosh (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 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 "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
-Test "Real part of: cacosh (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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 "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
-Test "Real part of: cacosh (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "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
-Test "Real part of: cacosh (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "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
-Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 2
-ldouble: 2
-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
-ildouble: 2
-ldouble: 2
-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 "Imaginary part of: cacosh (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 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 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 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 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 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.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-
-# 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)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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 "Real part of: casin (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "Real part of: casin (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-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 + 0x1.000000000000000000000000008p0 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 "Imaginary part of: casin (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 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 "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 "Real part of: casin (-0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-106 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-106 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 "Real part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-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-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
-ifloat: 1
-Test "Real part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-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-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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 "Real part of: casin (-0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-1.0 + 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
-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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-1.0 - 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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 "Real part of: casin (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "Real part of: casin (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 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 "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-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 + 0x1.000000000000000000000000008p0 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 "Imaginary part of: casin (0x1.fp-1025 - 0x1.000000000000000000000000008p0 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 "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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-106 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-106 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 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 "Real part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-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-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
-ifloat: 1
-Test "Real part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-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-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 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 "Real part of: casin (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (1.0 + 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
-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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (1.0 - 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# casinh
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-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
-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 "Imaginary part of: casinh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000000000000000000000000008p0 + 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000000000000000000000000008p0 - 0x1p-106 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.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)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-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 "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-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
-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 "Imaginary part of: casinh (0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000000000000000000000000008p0 + 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000000000000000000000000008p0 - 0x1p-106 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.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)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-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 "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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.fffffffffffff8p0 - 0x1p-27 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000000000000000000000000008p0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000000000000000000000000008p0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-2 - 3 i)":
-ildouble: 1
-ldouble: 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.fffffffffffff8p0 - 0x1p-27 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000000000000000000000000008p0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000000000000000000000000008p0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 - 1.0 i)":
-ildouble: 1
-ldouble: 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: 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
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 "Imaginary part of: catanh (0x1p-54 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 - 1.0 i)":
-ildouble: 1
-ldouble: 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)":
-double: 1
-idouble: 1
-Test "cbrt (0.75)":
-double: 1
-idouble: 1
-Test "cbrt (0.9921875)":
-double: 1
-idouble: 1
-
-# ccos
-Test "Imaginary part of: ccos (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ccos (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-
-# ccosh
-Test "Real part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ccosh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cexp
-Test "Imaginary part of: cexp (-2.0 - 3.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (-95 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cexp (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (50 + 0x1p127 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (50 + 0x1p127 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cexp (500 + 0x1p1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (500 + 0x1p1023 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (88.75 + 0.75 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (88.75 + 0.75 i)":
-float: 2
-ifloat: 2
-
-# clog
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-2 - 3 i)":
-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 "Imaginary part of: clog (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x11682p-23 + 0x7ffed1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x13836d58a13448d750b4b9p-85 + 0x195ca7bc3ab4f9161edbe6p-85 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x155f8afc4c48685bf63610p-85 + 0x17d0cf2652cdbeb1294e19p-85 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1p-147 + 0x1p-147 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa1f2c1p-24 + 0xc643aep-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xf2p-10 + 0x3e3p-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (1.0 + 0x1.234566p-10 i)":
-float: 1
-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
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 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-149 + 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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
-Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x13836d58a13448d750b4b9p-85 + 0x195ca7bc3ab4f9161edbe6p-85 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x155f8afc4c48685bf63610p-85 + 0x17d0cf2652cdbeb1294e19p-85 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: clog10 (0x15d8ab6ed05ca514086ac3a1e84p-105 + 0x1761e480aa094c0b10b34b09ce9p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 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
-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
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x298c62cb546588a7p-63 + 0x7911b1dfcc4ecdaep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x81b7efa81fc35ad1p-65 + 0x1ef4b835f1c79d812p-65 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xe33f66c9542ca25cc43c867p-95 + 0x7f35a68ebd3704a43c465864p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-Test "cos (0x1p+120)":
-float: 1
-ifloat: 1
-Test "cos (0x1p+127)":
-float: 1
-ifloat: 1
-Test "cos (M_PI_6l * 2.0)":
-double: 1
-idouble: 1
-Test "cos (M_PI_6l * 4.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_downward
-Test "cos_downward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (2)":
-float: 1
-ifloat: 1
-Test "cos_downward (3)":
-float: 1
-ifloat: 1
-Test "cos_downward (4)":
-float: 1
-ifloat: 1
-Test "cos_downward (5)":
-float: 1
-ifloat: 1
-Test "cos_downward (6)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (7)":
-float: 1
-ifloat: 1
-Test "cos_downward (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (9)":
-ildouble: 1
-ldouble: 1
-
-# cos_tonearest
-Test "cos_tonearest (7)":
-float: 1
-ifloat: 1
-
-# cos_towardzero
-Test "cos_towardzero (1)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (2)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (3)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (5)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (7)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_upward
-Test "cos_upward (10)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (4)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (5)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (6)":
-float: 1
-ifloat: 1
-Test "cos_upward (7)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (9)":
-float: 2
-ifloat: 2
-
-# cosh_downward
-Test "cosh_downward (22)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (23)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (24)":
-ildouble: 1
-ldouble: 1
-
-# cosh_towardzero
-Test "cosh_towardzero (22)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (23)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cosh_upward
-Test "cosh_upward (22)":
-ildouble: 2
-ldouble: 2
-Test "cosh_upward (23)":
-ildouble: 2
-ldouble: 2
-Test "cosh_upward (24)":
-ildouble: 2
-ldouble: 2
-
-# cpow
-Test "Real 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)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: cpow (2 + 0 i, 10 + 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# csin
-Test "Real part of: csin (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-
-# csinh
-Test "Imaginary part of: csinh (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: csinh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# csqrt
-Test "Real part of: csqrt (-0x1.000002p-126 - 0x1.000002p-126 i)":
-double: 1
-idouble: 1
-Test "Real part of: csqrt (-2 + 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0x1.000002p-126 + 0x1.000002p-126 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1p+1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-1074 + 0x1p-1074 i)":
-ildouble: 1
-ldouble: 1
-
-# ctan
-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
-Test "Imaginary part of: ctan (0.75 + 1.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1p1023 + 1 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0x1p1023 + 1 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p127 + 1 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1p127 + 1 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x3.243f6cp-1 + 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (1 + 47 i)":
-ildouble: 2
-ldouble: 2
-
-# ctan_downward
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-# ctan_tonearest
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ctan_towardzero
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 13
-ldouble: 13
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 8
-ldouble: 8
-
-# ctan_upward
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-ildouble: 6
-ldouble: 6
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 10
-ldouble: 10
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-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: 5
-ldouble: 5
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0 + pi/4 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: ctanh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0.75 + 1.25 i)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh (1 + 0x1p1023 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (1 + 0x1p1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (1 + 0x1p127 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (1 + 0x1p127 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (47 + 1 i)":
-ildouble: 2
-ldouble: 2
-
-# ctanh_downward
-Test "Imaginary part of: ctanh_downward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-Test "Imaginary part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctanh_tonearest
-Test "Real part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ctanh_towardzero
-Test "Real part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 13
-ldouble: 13
-Test "Imaginary part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 8
-ldouble: 8
-Test "Imaginary part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctanh_upward
-Test "Real part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 10
-ldouble: 10
-Test "Imaginary part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 6
-ldouble: 6
-Test "Real part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-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: 5
-ldouble: 5
-
-# erf
-Test "erf (1.25)":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (0x1.f7303cp+1)":
-double: 1
-idouble: 1
-Test "erfc (0x1.ffa002p+2)":
-float: 1
-ifloat: 1
-Test "erfc (0x1.ffff56789abcdef0123456789a8p+2)":
-ildouble: 1
-ldouble: 1
-Test "erfc (2.0)":
-double: 1
-idouble: 1
-Test "erfc (4.125)":
-double: 1
-idouble: 1
-
-# exp
-Test "exp (0.75)":
-ildouble: 1
-ldouble: 1
-Test "exp (50.0)":
-ildouble: 1
-ldouble: 1
-
-# exp10
-Test "exp10 (-1)":
-double: 1
-idouble: 1
-Test "exp10 (-305)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10 (-36)":
-double: 1
-idouble: 1
-Test "exp10 (3)":
-double: 1
-idouble: 1
-Test "exp10 (36)":
-double: 1
-idouble: 1
-
-# exp_downward
-Test "exp_downward (2)":
-float: 1
-ifloat: 1
-Test "exp_downward (3)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (2)":
-float: 1
-ifloat: 1
-Test "exp_towardzero (3)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# exp_upward
-Test "exp_upward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# expm1
-Test "expm1 (0.75)":
-double: 1
-idouble: 1
-Test "expm1 (1)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1 (500.0)":
-double: 1
-idouble: 1
-
-# gamma
-Test "gamma (0.7)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "gamma (1.2)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-# hypot
-Test "hypot (-0.7, -12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7)":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, 0.7)":
-float: 1
-ifloat: 1
-Test "hypot (0.7, -12.4)":
-float: 1
-ifloat: 1
-Test "hypot (0.7, 12.4)":
-float: 1
-ifloat: 1
-Test "hypot (0.75, 1.25)":
-ildouble: 1
-ldouble: 1
-Test "hypot (12.4, -0.7)":
-float: 1
-ifloat: 1
-Test "hypot (12.4, 0.7)":
-float: 1
-ifloat: 1
-
-# j0
-Test "j0 (-0x1.001000001p+593)":
-ildouble: 2
-ldouble: 2
-Test "j0 (-4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (0.75)":
-float: 1
-ifloat: 1
-Test "j0 (0x1.d7ce3ap+107)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j0 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "j0 (10.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "j0 (2.0)":
-float: 2
-ifloat: 2
-Test "j0 (4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (8.0)":
-float: 1
-ifloat: 1
-
-# j1
-Test "j1 (0x1.3ffp+74)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "j1 (10.0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j1 (2.0)":
-double: 1
-idouble: 1
-Test "j1 (8.0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# jn
-Test "jn (0, -4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 0.75)":
-float: 1
-ifloat: 1
-Test "jn (0, 10.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (0, 2.0)":
-float: 2
-ifloat: 2
-Test "jn (0, 4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 8.0)":
-float: 1
-ifloat: 1
-Test "jn (1, 10.0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "jn (1, 2.0)":
-double: 1
-idouble: 1
-Test "jn (1, 8.0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, -1.0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.125)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (10, 1.0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 10.0)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "jn (10, 2.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (2, 0x1.ffff62p+99)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "jn (2, 2.4048255576957729)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (3, 0.125)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (3, 2.0)":
-float: 1
-ifloat: 1
-Test "jn (3, 2.4048255576957729)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-Test "jn (4, 2.4048255576957729)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "jn (5, 2.4048255576957729)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (6, 2.4048255576957729)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "jn (7, 2.4048255576957729)":
-double: 3
-float: 5
-idouble: 3
-ifloat: 5
-ildouble: 2
-ldouble: 2
-Test "jn (8, 2.4048255576957729)":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
-Test "jn (9, 2.4048255576957729)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 7
-ldouble: 7
-
-# lgamma
-Test "lgamma (0.7)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "lgamma (1.2)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-# log10
-Test "log10 (0.75)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "log10 (e)":
-float: 1
-ifloat: 1
-
-# log1p
-Test "log1p (-0.25)":
-float: 1
-ifloat: 1
-
-# log2
-Test "log2 (e)":
-ildouble: 1
-ldouble: 1
-
-# pow
-Test "pow (0x0.ffffffp0, -0x1p24)":
-float: 1
-ifloat: 1
-Test "pow (0x0.ffffffp0, 0x1p24)":
-float: 1
-ifloat: 1
-Test "pow (0x1.000002p0, 0x1p24)":
-float: 1
-ifloat: 1
-
-# pow10
-Test "pow10 (-1)":
-double: 1
-idouble: 1
-Test "pow10 (-305)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "pow10 (-36)":
-double: 1
-idouble: 1
-Test "pow10 (3)":
-double: 1
-idouble: 1
-Test "pow10 (36)":
-double: 1
-idouble: 1
-
-# pow_downward
-Test "pow_downward (1.0625, 1.125)":
-ildouble: 1
-ldouble: 1
-Test "pow_downward (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_towardzero
-Test "pow_towardzero (1.0625, 1.125)":
-ildouble: 1
-ldouble: 1
-Test "pow_towardzero (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_upward
-Test "pow_upward (1.0625, 1.125)":
-float: 1
-ifloat: 1
-
-# sin_downward
-Test "sin_downward (1)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (10)":
-float: 1
-ifloat: 1
-Test "sin_downward (2)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (3)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_downward (4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (5)":
-float: 1
-ifloat: 1
-Test "sin_downward (6)":
-float: 1
-ifloat: 1
-Test "sin_downward (8)":
-ildouble: 1
-ldouble: 1
-
-# sin_tonearest
-Test "sin_tonearest (1)":
-float: 1
-ifloat: 1
-
-# sin_towardzero
-Test "sin_towardzero (1)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "sin_towardzero (10)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (2)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (3)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (5)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (8)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (9)":
-float: 1
-ifloat: 1
-
-# sin_upward
-Test "sin_upward (1)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "sin_upward (2)":
-float: 2
-ifloat: 2
-Test "sin_upward (3)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (6)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (9)":
-float: 1
-ifloat: 1
-
-# sincos
-Test "sincos (0x1p+120) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 2":
-double: 1
-idouble: 1
-Test "sincos (pi/6) extra output 2":
-float: 1
-ifloat: 1
-
-# sinh
-Test "sinh (0.75)":
-ildouble: 1
-ldouble: 1
-
-# sinh_downward
-Test "sinh_downward (22)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_downward (23)":
-float: 1
-ifloat: 1
-Test "sinh_downward (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sinh_towardzero
-Test "sinh_towardzero (22)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_towardzero (23)":
-float: 1
-ifloat: 1
-Test "sinh_towardzero (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sinh_upward
-Test "sinh_upward (23)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (24)":
-ildouble: 1
-ldouble: 1
-
-# tan
-Test "tan (-0xc.908p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90cp-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90ep-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90f8p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90fcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.92p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.9p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.908p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90cp-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90ep-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90f8p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90fcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.92p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.9p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (pi/4)":
-ildouble: 1
-ldouble: 1
-
-# tan_downward
-Test "tan_downward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (10)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_downward (2)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (6)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (8)":
-float: 1
-ifloat: 1
-Test "tan_downward (9)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# tan_tonearest
-Test "tan_tonearest (10)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (7)":
-ildouble: 1
-ldouble: 1
-
-# tan_towardzero
-Test "tan_towardzero (10)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_towardzero (3)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "tan_towardzero (4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (5)":
-float: 1
-ifloat: 1
-Test "tan_towardzero (6)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (7)":
-ildouble: 2
-ldouble: 2
-Test "tan_towardzero (9)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# tan_upward
-Test "tan_upward (1)":
-float: 1
-ifloat: 1
-Test "tan_upward (10)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (3)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "tan_upward (5)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (6)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (7)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (9)":
-ildouble: 1
-ldouble: 1
-
-# tanh
-Test "tanh (-0.75)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0.75)":
-ildouble: 1
-ldouble: 1
-
-# tgamma
-Test "tgamma (-0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x0.fffffffffffff8p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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 (-0x1.fffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x13.ffffep0)":
-float: 2
-ifloat: 2
-Test "tgamma (-0x13.ffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x14.000000000001p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x14.00002p0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1d.ffffep0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1d.ffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1e.00000000000000000000000008p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1e.000000000001p0)":
-double: 3
-idouble: 3
-ildouble: 3
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffcp0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x27.fffffffffffep0)":
-double: 1
-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
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x28.00004p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x29.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x29.000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x29.00004p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x29.ffffcp0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x29.fffffffffffep0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2a.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 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 (-0x32.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x32.000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.000008p0)":
-float: 1
-ifloat: 1
-Test "tgamma (-0x4.fffff8p0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.ffffffffffffcp0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000004p0)":
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.fffff8p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.ffffffffffffcp0)":
-double: 4
-idouble: 4
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x63.fffffffffffcp0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x63.ffffffffffffffffffffffffep0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x64.0000000000000000000000002p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.000000000004p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.00000000000000000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000004p0)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-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
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0x8.00000000000000000000000004p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00001p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x9.ffffffffffff8p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.fffffp0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x96.000000000008p0)":
-double: 1
-idouble: 1
-Test "tgamma (-0xa.00001p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-2.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-3.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-4.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-5.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 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
-Test "tgamma (0.7)":
-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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-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
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.00001p0)":
-double: 2
-idouble: 2
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f4p+4)":
-ildouble: 2
-ldouble: 2
-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
-ildouble: 1
-ldouble: 1
-Test "tgamma (2.5)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (23.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (29.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 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
-ildouble: 1
-ldouble: 1
-
-# y0
-Test "y0 (0.125)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1.3ffp+74)":
-double: 1
-idouble: 1
-Test "y0 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-10)":
-double: 1
-idouble: 1
-Test "y0 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-110)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-20)":
-float: 1
-ifloat: 1
-Test "y0 (0x1p-30)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-40)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p-50)":
-float: 1
-ifloat: 1
-Test "y0 (0x1p-70)":
-double: 1
-idouble: 1
-Test "y0 (0x1p-80)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "y0 (1.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (1.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (8.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# y1
-Test "y1 (0.125)":
-double: 1
-idouble: 1
-Test "y1 (0x1.001000001p+593)":
-ildouble: 2
-ldouble: 2
-Test "y1 (0x1.27e204p+99)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-10)":
-double: 1
-idouble: 1
-Test "y1 (0x1p-20)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "y1 (1.5)":
-float: 1
-ifloat: 1
-Test "y1 (10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (8.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# yn
-Test "yn (0, 0.125)":
-ildouble: 1
-ldouble: 1
-Test "yn (0, 1.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (0, 1.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 10.0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (0, 8.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0.125)":
-double: 1
-idouble: 1
-Test "yn (1, 1.5)":
-float: 1
-ifloat: 1
-Test "yn (1, 10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 8.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "yn (10, 0.125)":
-double: 1
-idouble: 1
-Test "yn (10, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (10, 1.0)":
-double: 1
-idouble: 1
-Test "yn (10, 10.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (10, 2.0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "yn (3, 0.125)":
-double: 1
-idouble: 1
-Test "yn (3, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 10.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (3, 2.0)":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "acos":
-ildouble: 1
-ldouble: 1
-
-Function: "acos_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "acos_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_upward":
-ildouble: 2
-ldouble: 2
-
-Function: "acosh":
-ildouble: 1
-ldouble: 1
-
-Function: "asin":
-ildouble: 2
-ldouble: 2
-
-Function: "asin_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "asin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asinh":
-ildouble: 1
-ldouble: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh":
-float: 1
-ifloat: 1
-
-Function: "cabs":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "carg":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "casinh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cbrt":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_upward":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "cosh":
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_upward":
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "ctan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctan_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan_downward":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Real part of "ctan_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctan_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "ctan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 13
-ldouble: 13
-
-Function: Real part of "ctan_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Imaginary part of "ctan_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 10
-ldouble: 10
-
-Function: Real part of "ctanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "ctanh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctanh_downward":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Imaginary part of "ctanh_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctanh_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 13
-ldouble: 13
-
-Function: Imaginary part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
-Function: Real part of "ctanh_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 10
-ldouble: 10
-
-Function: Imaginary part of "ctanh_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: "erf":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp":
-ildouble: 1
-ldouble: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "exp_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "hypot":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "jn":
-double: 4
-float: 5
-idouble: 4
-ifloat: 5
-ildouble: 7
-ldouble: 7
-
-Function: "lgamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "log":
-ildouble: 1
-ldouble: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log1p":
-float: 1
-ifloat: 1
-
-Function: "log2":
-ildouble: 1
-ldouble: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_upward":
-float: 1
-ifloat: 1
-
-Function: "sin":
-ildouble: 1
-ldouble: 1
-
-Function: "sin_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sin_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_towardzero":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "sin_upward":
-float: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "sincos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh":
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sinh_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sinh_upward":
-ildouble: 1
-ldouble: 1
-
-Function: "tan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tan_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tan_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "tan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "tan_upward":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "tanh":
-ildouble: 1
-ldouble: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 3
-ldouble: 3
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-# end of automatic generation
diff --git a/libc/ports/sysdeps/powerpc/nofpu/shlib-versions b/libc/ports/sysdeps/powerpc/nofpu/shlib-versions
deleted file mode 100644
index 72085ddf4..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-powerpc.*-.*-.* ABI powerpcsoft-@OS@
diff --git a/libc/ports/sysdeps/powerpc/nofpu/sim-full.c b/libc/ports/sysdeps/powerpc/nofpu/sim-full.c
deleted file mode 100644
index e16703323..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/sim-full.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Software floating-point exception handling emulation.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 <signal.h>
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-/* Global to store sticky exceptions. */
-int __sim_exceptions __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_exceptions);
-
-/* By default, no exceptions should trap. */
-int __sim_disabled_exceptions = 0xffffffff;
-libc_hidden_data_def (__sim_disabled_exceptions);
-
-int __sim_round_mode __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_round_mode);
-
-void
-__simulate_exceptions (int x)
-{
- __sim_exceptions |= x;
- if (x & ~__sim_disabled_exceptions)
- raise (SIGFPE);
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h b/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h
deleted file mode 100644
index 64a3d2a1d..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Internal support stuff for complete soft float.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- 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 <fenv.h>
-
-typedef union
-{
- fenv_t fenv;
- unsigned int l[2];
-} fenv_union_t;
-
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-extern int __sim_exceptions;
-libc_hidden_proto (__sim_exceptions);
-extern int __sim_disabled_exceptions;
-libc_hidden_proto (__sim_disabled_exceptions);
-extern int __sim_round_mode;
-libc_hidden_proto (__sim_round_mode);
-
-extern void __simulate_exceptions (int x) attribute_hidden;
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
deleted file mode 100644
index 2849461cd..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Optimized memcmp implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* memcmp
-
- r3:source1 address, return equality
- r4:source2 address
- r5:byte count
-
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If count = zero check bytes before zero counter and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (memcmp, 5, 0)
- srwi. r6,r5,5
- beq L(preword2_count_loop)
- mtctr r6
- clrlwi r5,r5,27
-
-L(word8_compare_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- lwz r8,0(r4)
- lwz r9,4(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,8(r3)
- lwz r6,12(r3)
- lwz r8,8(r4)
- lwz r9,12(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,16(r3)
- lwz r6,20(r3)
- lwz r8,16(r4)
- lwz r9,20(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- bdnz L(word8_compare_loop)
-
-L(preword2_count_loop):
- srwi. r6,r5,3
- beq L(prebyte_count_loop)
- mtctr r6
- clrlwi r5,r5,29
-
-L(word2_count_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- addi r3,r3,0x08
- lwz r8,0(r4)
- lwz r9,4(r4)
- addi r4,r4,0x08
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- bdnz L(word2_count_loop)
-
-L(prebyte_count_loop):
- addi r5,r5,1
- mtctr r5
- bdz L(end_memcmp)
-
-L(byte_count_loop):
- lbz r6,0(r3)
- addi r3,r3,0x01
- lbz r8,0(r4)
- addi r4,r4,0x01
- cmplw cr5,r8,r6
- bne cr5,L(st2)
- bdnz L(byte_count_loop)
-
-L(end_memcmp):
- addi r3,r0,0
- blr
-
-L(l_r):
- addi r3,r0,1
- blr
-
-L(st1):
- blt cr1,L(l_r)
- addi r3,r0,-1
- blr
-
-L(st2):
- blt cr5,L(l_r)
- addi r3,r0,-1
- blr
-END (memcmp)
-libc_hidden_builtin_def (memcmp)
-weak_alias (memcmp,bcmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
deleted file mode 100644
index b01d53920..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Optimized memcpy implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* memcpy
-
- r0:return address
- r3:destination address
- r4:source address
- r5:byte count
-
- Save return address in r0.
- If destinationn and source are unaligned and copy count is greater than 256
- then copy 0-3 bytes to make destination aligned.
- If 32 or more bytes to copy we use 32 byte copy loop.
- Finaly we copy 0-31 extra bytes. */
-
-EALIGN (memcpy, 5, 0)
-/* Check if bytes to copy are greater than 256 and if
- source and destination are unaligned */
- cmpwi r5,0x0100
- addi r0,r3,0
- ble L(string_count_loop)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(string_count_loop)
- neg r6,r4
- clrlwi. r6,r6,30
- beq L(string_count_loop)
- mtctr r6
- subf r5,r6,r5
-
-L(unaligned_bytecopy_loop): /* Align destination by coping 0-3 bytes */
- lbz r8,0x0(r4)
- addi r4,r4,1
- stb r8,0x0(r3)
- addi r3,r3,1
- bdnz L(unaligned_bytecopy_loop)
- srwi. r7,r5,5
- beq L(preword2_count_loop)
- mtctr r7
-
-L(word8_count_loop_no_dcbt): /* Copy 32 bytes at a time */
- lwz r6,0(r4)
- lwz r7,4(r4)
- lwz r8,8(r4)
- lwz r9,12(r4)
- subi r5,r5,0x20
- stw r6,0(r3)
- stw r7,4(r3)
- stw r8,8(r3)
- stw r9,12(r3)
- lwz r6,16(r4)
- lwz r7,20(r4)
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- stw r6,16(r3)
- stw r7,20(r3)
- stw r8,24(r3)
- stw r9,28(r3)
- addi r3,r3,0x20
- bdnz L(word8_count_loop_no_dcbt)
-
-L(preword2_count_loop): /* Copy remaining 0-31 bytes */
- clrlwi. r12,r5,27
- beq L(end_memcpy)
- mtxer r12
- lswx r5,0,r4
- stswx r5,0,r3
- mr r3,r0
- blr
-
-L(string_count_loop): /* Copy odd 0-31 bytes */
- clrlwi. r12,r5,28
- add r3,r3,r5
- add r4,r4,r5
- beq L(pre_string_copy)
- mtxer r12
- subf r4,r12,r4
- subf r3,r12,r3
- lswx r6,0,r4
- stswx r6,0,r3
-
-L(pre_string_copy): /* Check how many 32 byte chunks to copy */
- srwi. r7,r5,4
- beq L(end_memcpy)
- mtctr r7
-
-L(word4_count_loop_no_dcbt): /* Copy 32 bytes at a time */
- lwz r6,-4(r4)
- lwz r7,-8(r4)
- lwz r8,-12(r4)
- lwzu r9,-16(r4)
- stw r6,-4(r3)
- stw r7,-8(r3)
- stw r8,-12(r3)
- stwu r9,-16(r3)
- bdz L(end_memcpy)
- lwz r6,-4(r4)
- lwz r7,-8(r4)
- lwz r8,-12(r4)
- lwzu r9,-16(r4)
- stw r6,-4(r3)
- stw r7,-8(r3)
- stw r8,-12(r3)
- stwu r9,-16(r3)
- bdnz L(word4_count_loop_no_dcbt)
-
-L(end_memcpy):
- mr r3,r0
- blr
-END (memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
deleted file mode 100644
index b73dba887..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Optimized memset for PowerPC405,440,464 (32-byte cacheline).
- Copyright (C) 2012-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 <sysdep.h>
-
-/* memset
-
- r3:destination address and return address
- r4:source integer to copy
- r5:byte count
- r11:sources integer to copy in all 32 bits of reg
- r12:temp return address
-
- Save return address in r12
- If destinationn is unaligned and count is greater tha 255 bytes
- set 0-3 bytes to make destination aligned
- If count is greater tha 255 bytes and setting zero to memory
- use dbcz to set memeory when we can
- otherwsie do the follwoing
- If 16 or more words to set we use 16 word copy loop.
- Finaly we set 0-15 extra bytes with string store. */
-
-EALIGN (memset, 5, 0)
- rlwinm r11,r4,0,24,31
- rlwimi r11,r4,8,16,23
- rlwimi r11,r11,16,0,15
- addi r12,r3,0
- cmpwi r5,0x00FF
- ble L(preword8_count_loop)
- cmpwi r4,0x00
- beq L(use_dcbz)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(preword8_count_loop)
- addi r8,0,1
- mtctr r6
- subi r3,r3,1
-
-L(unaligned_bytecopy_loop):
- stbu r11,0x1(r3)
- subf. r5,r8,r5
- beq L(end_memset)
- bdnz L(unaligned_bytecopy_loop)
- addi r3,r3,1
-
-L(preword8_count_loop):
- srwi. r6,r5,4
- beq L(preword2_count_loop)
- mtctr r6
- addi r3,r3,-4
- mr r8,r11
- mr r9,r11
- mr r10,r11
-
-L(word8_count_loop_no_dcbt):
- stwu r8,4(r3)
- stwu r9,4(r3)
- subi r5,r5,0x10
- stwu r10,4(r3)
- stwu r11,4(r3)
- bdnz L(word8_count_loop_no_dcbt)
- addi r3,r3,4
-
-L(preword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
-
-L(end_memset):
- addi r3,r12,0
- blr
-
-L(use_dcbz):
- neg r6,r3
- clrlwi. r7,r6,28
- beq L(skip_string_loop)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- subf r5,r7,r5
- mtxer r7
- stswx r8,0,r3
- add r3,r3,r7
-
-L(skip_string_loop):
- clrlwi r8,r6,27
- srwi. r8,r8,4
- beq L(dcbz_pre_loop)
- mtctr r8
-
-L(word_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(word_loop)
-
-L(dcbz_pre_loop):
- srwi r6,r5,5
- mtctr r6
- addi r7,0,0
-
-L(dcbz_loop):
- dcbz r3,r7
- addi r3,r3,0x20
- subi r5,r5,0x20
- bdnz L(dcbz_loop)
- srwi. r6,r5,4
- beq L(postword2_count_loop)
- mtctr r6
-
-L(postword8_count_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(postword8_count_loop)
-
-L(postword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
- b L(end_memset)
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
deleted file mode 100644
index c0b21907b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Optimized strcmp implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* strcmp
-
- Register Use
- r0:temp return equality
- r3:source1 address, return equality
- r4:source2 address
-
- Implementation description
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If null check bytes before null and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (strcmp,5,0)
- neg r7,r3
- clrlwi r7,r7,20
- neg r8,r4
- clrlwi r8,r8,20
- srwi. r7,r7,5
- beq L(byte_loop)
- srwi. r8,r8,5
- beq L(byte_loop)
- cmplw r7,r8
- mtctr r7
- ble L(big_loop)
- mtctr r8
-
-L(big_loop):
- lwz r5,0(r3)
- lwz r6,4(r3)
- lwz r8,0(r4)
- lwz r9,4(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,8(r3)
- lwz r6,12(r3)
- lwz r8,8(r4)
- lwz r9,12(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,16(r3)
- lwz r6,20(r3)
- lwz r8,16(r4)
- lwz r9,20(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- bdnz L(big_loop)
- b L(byte_loop)
-
-L(end_check):
- subfic r12,r12,4
- blt L(end_check2)
- rlwinm r12,r12,3,0,31
- srw r5,r5,r12
- srw r8,r8,r12
- cmplw r5,r8
- bne L(st1)
- b L(end_strcmp)
-
-L(end_check2):
- addi r12,r12,4
- cmplw r5,r8
- rlwinm r12,r12,3,0,31
- bne L(st1)
- srw r6,r6,r12
- srw r9,r9,r12
- cmplw r6,r9
- bne L(st1)
-
-L(end_strcmp):
- addi r3,r0,0
- blr
-
-L(st1):
- mfcr r3
- blr
-
-L(byte_loop):
- lbz r5,0(r3)
- addi r3,r3,1
- lbz r6,0(r4)
- addi r4,r4,1
- cmplw r5,r6
- bne L(st1)
- cmpwi r5,0
- beq L(end_strcmp)
- b L(byte_loop)
-END (strcmp)
-libc_hidden_builtin_def (strcmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
deleted file mode 100644
index d7c84569d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Optimized strcpy implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* strcpy
-
- Register Use
- r3:destination and return address
- r4:source address
- r10:temp destination address
-
- Implementation description
- Loop by checking 2 words at a time, with dlmzb. Check if there is a null
- in the 2 words. If there is a null jump to end checking to determine
- where in the last 8 bytes it is. Copy the appropriate bytes of the last
- 8 according to the null position. */
-
-EALIGN (strcpy, 5, 0)
- neg r7,r4
- subi r4,r4,1
- clrlwi. r8,r7,29
- subi r10,r3,1
- beq L(pre_word8_loop)
- mtctr r8
-
-L(loop):
- lbzu r5,0x01(r4)
- cmpi cr5,r5,0x0
- stbu r5,0x01(r10)
- beq cr5,L(end_strcpy)
- bdnz L(loop)
-
-L(pre_word8_loop):
- subi r4,r4,3
- subi r10,r10,3
-
-L(word8_loop):
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- b L(word8_loop)
-
-L(last_bytes_copy):
- stwu r5,0x04(r10)
- subi r11,r11,4
- mtctr r11
- addi r10,r10,3
- subi r4,r4,1
-
-L(last_bytes_copy_loop):
- lbzu r5,0x01(r4)
- stbu r5,0x01(r10)
- bdnz L(last_bytes_copy_loop)
- blr
-
-L(byte_copy):
- blt L(last_bytes_copy)
- mtctr r11
- addi r10,r10,3
- subi r4,r4,5
-
-L(last_bytes_copy_loop2):
- lbzu r5,0x01(r4)
- stbu r5,0x01(r10)
- bdnz L(last_bytes_copy_loop2)
-
-L(end_strcpy):
- blr
-END (strcpy)
-libc_hidden_builtin_def (strcpy)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
deleted file mode 100644
index 77d22ea67..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Optimized strlen implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* strlen
-
- Register Use
- r3:source address and return length of string
- r4:byte counter
-
- Implementation description
- Load 2 words at a time and count bytes, if we find null we subtract one from
- the count and return the count value. We need to subtract one because
- we don't count the null character as a byte. */
-
-EALIGN (strlen,5,0)
- neg r7,r3
- clrlwi. r8,r7,29
- addi r4,0,0
- beq L(byte_count_loop)
- mtctr r8
-
-L(loop):
- lbz r5,0(r3)
- cmpi cr5,r5,0x0
- addi r3,r3,0x1
- addi r4,r4,0x1
- beq cr5,L(end_strlen)
- bdnz L(loop)
-
-L(byte_count_loop):
- lwz r5,0(r3)
- lwz r6,4(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,8(r3)
- lwz r6,12(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,16(r3)
- lwz r6,20(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- b L(byte_count_loop)
-
-L(end_strlen):
- addi r3,r4,-1
- blr
-END (strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
deleted file mode 100644
index 3e2ba5f85..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Optimized strncmp implementation for PowerPC476.
- Copyright (C) 2010-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 <sysdep.h>
-
-/* strncmp
-
- Register Use
- r0:temp return equality
- r3:source1 address, return equality
- r4:source2 address
- r5:byte count
-
- Implementation description
- Touch in 3 lines of D-cache.
- If source1 or source2 is unaligned copy 0-3 bytes to make source1 aligned
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If null check bytes before null and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If count = zero check bytes before zero counter and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (strncmp,5,0)
- neg r7,r3
- clrlwi r7,r7,20
- neg r8,r4
- clrlwi r8,r8,20
- srwi. r7,r7,3
- beq L(prebyte_count_loop)
- srwi. r8,r8,3
- beq L(prebyte_count_loop)
- cmplw r7,r8
- mtctr r7
- ble L(preword2_count_loop)
- mtctr r8
-
-L(preword2_count_loop):
- srwi. r6,r5,3
- beq L(prebyte_count_loop)
- mfctr r7
- cmplw r6,r7
- bgt L(set_count_loop)
- mtctr r6
- clrlwi r5,r5,29
-
-L(word2_count_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- addi r3,r3,0x08
- lwz r8,0(r4)
- lwz r9,4(r4)
- addi r4,r4,0x08
- dlmzb. r12,r10,r6
- bne L(end_check)
- cmplw r10,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- bdnz L(word2_count_loop)
-
-L(prebyte_count_loop):
- addi r5,r5,1
- mtctr r5
- bdz L(end_strncmp)
-
-L(byte_count_loop):
- lbz r6,0(r3)
- addi r3,r3,1
- lbz r7,0(r4)
- addi r4,r4,1
- cmplw r6,r7
- bne L(st1)
- cmpwi r6,0
- beq L(end_strncmp)
- bdnz L(byte_count_loop)
- b L(end_strncmp)
-
-L(set_count_loop):
- slwi r7,r7,3
- subf r5,r7,r5
- b L(word2_count_loop)
-
-L(end_check):
- subfic r12,r12,4
- blt L(end_check2)
- rlwinm r12,r12,3,0,31
- srw r10,r10,r12
- srw r8,r8,r12
- cmplw r10,r8
- bne L(st1)
- b L(end_strncmp)
-
-L(end_check2):
- addi r12,r12,4
- cmplw r10,r8
- rlwinm r12,r12,3,0,31
- bne L(st1)
- srw r6,r6,r12
- srw r9,r9,r12
- cmplw r6,r9
- bne L(st1)
-
-L(end_strncmp):
- addi r3,r0,0
- blr
-
-L(st1):
- mfcr r3
- blr
-END (strncmp)
-libc_hidden_builtin_def (strncmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/440/Implies b/libc/ports/sysdeps/powerpc/powerpc32/440/Implies
deleted file mode 100644
index 70c0d2eda..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/440/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/405/fpu
-powerpc/powerpc32/405
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/464/Implies b/libc/ports/sysdeps/powerpc/powerpc32/464/Implies
deleted file mode 100644
index c3e52c550..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/464/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/440/fpu
-powerpc/powerpc32/440
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/476/Implies b/libc/ports/sysdeps/powerpc/powerpc32/476/Implies
deleted file mode 100644
index 2829f9cca..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/476/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/464/fpu
-powerpc/powerpc32/464
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S b/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
deleted file mode 100644
index 48c21d620..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Optimized memset for PowerPC476 (128-byte cacheline).
- Copyright (C) 2010-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 <sysdep.h>
-
-/* memset
-
- r3:destination address and return address
- r4:source integer to copy
- r5:byte count
- r11:sources integer to copy in all 32 bits of reg
- r12:temp return address
-
- Save return address in r12
- If destinationn is unaligned and count is greater tha 255 bytes
- set 0-3 bytes to make destination aligned
- If count is greater tha 255 bytes and setting zero to memory
- use dbcz to set memeory when we can
- otherwsie do the follwoing
- If 16 or more words to set we use 16 word copy loop.
- Finaly we set 0-15 extra bytes with string store. */
-
-EALIGN (memset, 5, 0)
- rlwinm r11,r4,0,24,31
- rlwimi r11,r4,8,16,23
- rlwimi r11,r11,16,0,15
- addi r12,r3,0
- cmpwi r5,0x00FF
- ble L(preword8_count_loop)
- cmpwi r4,0x00
- beq L(use_dcbz)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(preword8_count_loop)
- addi r8,0,1
- mtctr r6
- subi r3,r3,1
-
-L(unaligned_bytecopy_loop):
- stbu r11,0x1(r3)
- subf. r5,r8,r5
- beq L(end_memset)
- bdnz L(unaligned_bytecopy_loop)
- addi r3,r3,1
-
-L(preword8_count_loop):
- srwi. r6,r5,4
- beq L(preword2_count_loop)
- mtctr r6
- addi r3,r3,-4
- mr r8,r11
- mr r9,r11
- mr r10,r11
-
-L(word8_count_loop_no_dcbt):
- stwu r8,4(r3)
- stwu r9,4(r3)
- subi r5,r5,0x10
- stwu r10,4(r3)
- stwu r11,4(r3)
- bdnz L(word8_count_loop_no_dcbt)
- addi r3,r3,4
-
-L(preword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
-
-L(end_memset):
- addi r3,r12,0
- blr
-
-L(use_dcbz):
- neg r6,r3
- clrlwi. r7,r6,28
- beq L(skip_string_loop)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- subf r5,r7,r5
- mtxer r7
- stswx r8,0,r3
- add r3,r3,r7
-
-L(skip_string_loop):
- clrlwi r8,r6,25
- srwi. r8,r8,4
- beq L(dcbz_pre_loop)
- mtctr r8
-
-L(word_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(word_loop)
-
-L(dcbz_pre_loop):
- srwi r6,r5,7
- mtctr r6
- addi r7,0,0
-
-L(dcbz_loop):
- dcbz r3,r7
- addi r3,r3,0x80
- subi r5,r5,0x80
- bdnz L(dcbz_loop)
- srwi. r6,r5,4
- beq L(postword2_count_loop)
- mtctr r6
-
-L(postword8_count_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(postword8_count_loop)
-
-L(postword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
- b L(end_memset)
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/Makefile
deleted file mode 100644
index 3d235deeb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# Some Powerpc32 variants assume soft-fp is the default even though there is
-# an fp variant so provide -mhard-float if --with-fp is explicitly passed.
-
-ifeq ($(with-fp),yes)
-+cflags += -mhard-float
-ASFLAGS += -mhard-float
-sysdep-LDFLAGS += -mhard-float
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile
deleted file mode 100644
index 3e7c9e92f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-ifeq ($(subdir),stdlib)
-spepim_routines = atosfix16 atosfix32 atosfix64 atoufix16 atoufix32 atoufix64 \
- strtosfix16 strtosfix32 strtosfix64 strtoufix16 strtoufix32 strtoufix64
-sysdep_routines += $(spepim_routines)
-tests += tst-spepim
-ifeq ($(build-shared),yes)
-$(objpfx)tst-spepim: $(common-objpfx)math/libm.so$(libm.so-version)
-else
-$(objpfx)tst-spepim: $(common-objpfx)math/libm.a
-endif
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions
deleted file mode 100644
index bd45e1dab..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
- GLIBC_2.3.3 {
- atosfix16; atosfix32; atosfix64;
- atoufix16; atoufix32; atoufix64;
- strtosfix16; strtosfix32; strtosfix64;
- strtoufix16; strtoufix32; strtoufix64;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S
deleted file mode 100644
index fbbee6023..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* longjmp for PowerPC E500.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>.
-
- 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 <sysdep.h>
-#define _ASM
-#define _SETJMP_H
-#ifdef __NO_VMX__
-# include <novmxsetjmp.h>
-#else
-# include <jmpbuf-offsets.h>
-#endif
-
-ENTRY (__longjmp)
-#if defined PTR_DEMANGLE || defined CHECK_SP
- lwz r24,(JB_GPR1*4)(r3)
-# ifdef CHECK_SP
-# ifdef PTR_DEMANGLE
- PTR_DEMANGLE3 (r24, r24, r25)
-# endif
- CHECK_SP (r24)
- mr r1,r24
-# endif
-#else
- lwz r1,(JB_GPR1*4)(r3)
-#endif
- lwz r0,(JB_LR*4)(r3)
- /*lfd fp14,((JB_FPRS+0*2)*4)(r3)*/
- evldd r14,((JB_FPRS+0*2)*4)(r3)
- lwz r14,((JB_GPRS+0)*4)(r3)
- /*lfd fp15,((JB_FPRS+1*2)*4)(r3)*/
- evldd r15,((JB_FPRS+1*2)*4)(r3)
- lwz r15,((JB_GPRS+1)*4)(r3)
- /*lfd fp16,((JB_FPRS+2*2)*4)(r3)*/
- evldd r16,((JB_FPRS+2*2)*4)(r3)
- lwz r16,((JB_GPRS+2)*4)(r3)
- /*lfd fp17,((JB_FPRS+3*2)*4)(r3)*/
- evldd r17,((JB_FPRS+3*2)*4)(r3)
- lwz r17,((JB_GPRS+3)*4)(r3)
- /*lfd fp18,((JB_FPRS+4*2)*4)(r3)*/
- evldd r18,((JB_FPRS+4*2)*4)(r3)
- lwz r18,((JB_GPRS+4)*4)(r3)
- /*lfd fp19,((JB_FPRS+5*2)*4)(r3)*/
- evldd r19,((JB_FPRS+5*2)*4)(r3)
- lwz r19,((JB_GPRS+5)*4)(r3)
- /*lfd fp20,((JB_FPRS+6*2)*4)(r3)*/
- evldd r20,((JB_FPRS+6*2)*4)(r3)
- lwz r20,((JB_GPRS+6)*4)(r3)
-#ifdef PTR_DEMANGLE
-# ifndef CHECK_SP
- PTR_DEMANGLE3 (r1, r24, r25)
-# endif
- PTR_DEMANGLE2 (r0, r25)
-#endif
- mtlr r0
- /*lfd fp21,((JB_FPRS+7*2)*4)(r3)*/
- evldd r21,((JB_FPRS+7*2)*4)(r3)
- lwz r21,((JB_GPRS+7)*4)(r3)
- /*lfd fp22,((JB_FPRS+8*2)*4)(r3)*/
- evldd r22,((JB_FPRS+8*2)*4)(r3)
- lwz r22,((JB_GPRS+8)*4)(r3)
- lwz r0,(JB_CR*4)(r3)
- /*lfd fp23,((JB_FPRS+9*2)*4)(r3)*/
- evldd r23,((JB_FPRS+9*2)*4)(r3)
- lwz r23,((JB_GPRS+9)*4)(r3)
- /*lfd fp24,((JB_FPRS+10*2)*4)(r3)*/
- evldd r24,((JB_FPRS+10*2)*4)(r3)
- lwz r24,((JB_GPRS+10)*4)(r3)
- /*lfd fp25,((JB_FPRS+11*2)*4)(r3)*/
- evldd r25,((JB_FPRS+11*2)*4)(r3)
- lwz r25,((JB_GPRS+11)*4)(r3)
- mtcrf 0xFF,r0
- /*lfd fp26,((JB_FPRS+12*2)*4)(r3)*/
- evldd r26,((JB_FPRS+12*2)*4)(r3)
- lwz r26,((JB_GPRS+12)*4)(r3)
- /*lfd fp27,((JB_FPRS+13*2)*4)(r3)*/
- evldd r27,((JB_FPRS+13*2)*4)(r3)
- lwz r27,((JB_GPRS+13)*4)(r3)
- /*lfd fp28,((JB_FPRS+14*2)*4)(r3)*/
- evldd r28,((JB_FPRS+14*2)*4)(r3)
- lwz r28,((JB_GPRS+14)*4)(r3)
- /*lfd fp29,((JB_FPRS+15*2)*4)(r3)*/
- evldd r29,((JB_FPRS+15*2)*4)(r3)
- lwz r29,((JB_GPRS+15)*4)(r3)
- /*lfd fp30,((JB_FPRS+16*2)*4)(r3)*/
- evldd r30,((JB_FPRS+16*2)*4)(r3)
- lwz r30,((JB_GPRS+16)*4)(r3)
- /*lfd fp31,((JB_FPRS+17*2)*4)(r3)*/
- evldd r31,((JB_FPRS+17*2)*4)(r3)
- lwz r31,((JB_GPRS+17)*4)(r3)
- mr r3,r4
- blr
-END (__longjmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S
deleted file mode 100644
index 54d0c4b5a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/* AltiVec/VMX (new) version of __longjmp for PowerPC.
- Copyright (C) 1995-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 <libc-symbols.h>
-#include <shlib-compat.h>
-
-#if defined NOT_IN_libc
-/* Build a non-versioned object for rtld-*. */
-# include "__longjmp-common.S"
-
-#else /* !NOT_IN_libc */
-strong_alias (__vmx__longjmp, __longjmp);
-# define __longjmp __vmx__longjmp
-# include "__longjmp-common.S"
-
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-# define __NO_VMX__
-# undef JB_SIZE
-# undef __longjmp
-# define __longjmp __novmx__longjmp
-# include "__longjmp-common.S"
-# endif
-#endif /* !NOT_IN_libc */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c
deleted file mode 100644
index 112c1b303..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-int16_t
-atosfix16 (const char *str)
-{
- return strtosfix16 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c
deleted file mode 100644
index 238a0f629..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-int32_t
-atosfix32 (const char *str)
-{
- return strtosfix32 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c
deleted file mode 100644
index 274b642da..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-int64_t
-atosfix64 (const char *str)
-{
- return strtosfix64 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c
deleted file mode 100644
index 111735485..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-uint16_t
-atoufix16 (const char *str)
-{
- return strtoufix16 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c
deleted file mode 100644
index de0f15f08..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-uint32_t
-atoufix32 (const char *str)
-{
- return strtoufix32 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c
deleted file mode 100644
index b4abaae0f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <stddef.h>
-#include <spe.h>
-
-uint64_t
-atoufix64 (const char *str)
-{
- return strtoufix64 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c
deleted file mode 100644
index bdbeff477..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/e_sqrt.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c
deleted file mode 100644
index 8b2f552e1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/e_sqrtf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c
deleted file mode 100644
index b11a64f49..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
- Copyright (C) 2004-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 <fenv_libc.h>
-
-#undef feclearexcept
-int
-__feclearexcept (int excepts)
-{
- unsigned int fpescr;
-
- /* Get the current state. */
- fpescr = fegetenv_register ();
-
- /* Clear the relevant bits. */
- fpescr &= ~(excepts & FE_ALL_EXCEPT);
-
- /* Put the new state in effect. */
- fesetenv_register (fpescr);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c
deleted file mode 100644
index bf5ed73b2..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Procedure definition for FE_NOMASK_ENV.
- Copyright (C) 1997-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 <fenv.h>
-#include <errno.h>
-
-/* This is presently a stub, until it's decided how the kernels should
- support this. */
-
-const fenv_t *
-__fe_nomask_env(void)
-{
- __set_errno (ENOSYS);
- return FE_ENABLED_ENV;
-}
-stub_warning (__fe_nomask_env)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c
deleted file mode 100644
index 4008dec41..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Disable floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-fedisableexcept (int excepts)
-{
- unsigned int result = 0, pflags, r;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
-
- /* Save old enable bits. */
- if (pflags & PR_FP_EXC_OVF)
- result |= FE_OVERFLOW;
- if (pflags & PR_FP_EXC_UND)
- result |= FE_UNDERFLOW;
- if (pflags & PR_FP_EXC_INV)
- result |= FE_INVALID;
- if (pflags & PR_FP_EXC_DIV)
- result |= FE_DIVBYZERO;
- if (pflags & PR_FP_EXC_RES)
- result |= FE_INEXACT;
-
- if (excepts & FE_INEXACT)
- pflags &= ~PR_FP_EXC_RES;
- if (excepts & FE_DIVBYZERO)
- pflags &= ~PR_FP_EXC_DIV;
- if (excepts & FE_UNDERFLOW)
- pflags &= ~PR_FP_EXC_UND;
- if (excepts & FE_OVERFLOW)
- pflags &= ~PR_FP_EXC_OVF;
- if (excepts & FE_INVALID)
- pflags &= ~PR_FP_EXC_INV;
- r = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
- if (INTERNAL_SYSCALL_ERROR_P (r, err))
- return -1;
-
- return result;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c
deleted file mode 100644
index f41104399..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Enable floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-feenableexcept (int excepts)
-{
- unsigned int result = 0, pflags, r;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
-
- /* Save old enable bits. */
- if (pflags & PR_FP_EXC_OVF)
- result |= FE_OVERFLOW;
- if (pflags & PR_FP_EXC_UND)
- result |= FE_UNDERFLOW;
- if (pflags & PR_FP_EXC_INV)
- result |= FE_INVALID;
- if (pflags & PR_FP_EXC_DIV)
- result |= FE_DIVBYZERO;
- if (pflags & PR_FP_EXC_RES)
- result |= FE_INEXACT;
-
- if (excepts & FE_INEXACT)
- pflags |= PR_FP_EXC_RES;
- if (excepts & FE_DIVBYZERO)
- pflags |= PR_FP_EXC_DIV;
- if (excepts & FE_UNDERFLOW)
- pflags |= PR_FP_EXC_UND;
- if (excepts & FE_OVERFLOW)
- pflags |= PR_FP_EXC_OVF;
- if (excepts & FE_INVALID)
- pflags |= PR_FP_EXC_INV;
- r = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
- if (INTERNAL_SYSCALL_ERROR_P (r, err))
- return -1;
-
- return result;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c
deleted file mode 100644
index 693121306..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current floating-point environment.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004
- 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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &u.l[0]);
- u.l[1] = fegetenv_register ();
- *envp = u.fenv;
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c
deleted file mode 100644
index 71c1e19cb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Get floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-int
-fegetexcept (void)
-{
- unsigned long fpescr;
-
- fpescr = fegetenv_register ();
-
- return fpescr & FE_ALL_EXCEPT;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c
deleted file mode 100644
index 68b60ad08..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Return current rounding direction.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-#undef fegetround
-int
-fegetround (void)
-{
- unsigned long fpescr;
-
- fpescr = fegetenv_register ();
- return fpescr & 3;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c
deleted file mode 100644
index b9e202d48..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
-
- /* Get the current state. */
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &u.l[0]);
- u.l[1] = fegetenv_register ();
- *envp = u.fenv;
-
- /* Clear everything except for the rounding mode. */
- u.l[1] &= 3;
-
- /* Put the new state in effect. */
- fesetenv_register (u.l[1]);
-
- return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c
deleted file mode 100644
index 15cf7f769..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Constants for fenv_bits.h.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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/>. */
-
-/* If the default argument is used we use this value. */
-const unsigned long long __fe_dfl_env __attribute__ ((aligned (8))) =
-0x0ULL;
-
-/* Floating-point environment where none of the exceptions are masked. */
-const unsigned long long __fe_enabled_env __attribute__ ((aligned (8))) =
-0xF00000000ULL;
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h
deleted file mode 100644
index e068ee357..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004
- 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 _FENV_LIBC_H
-#define _FENV_LIBC_H 1
-
-#include <fenv.h>
-
-extern int __feraiseexcept_internal (int __excepts);
-
-/* Equivalent to fegetenv, but returns a fenv_t instead of taking a
- pointer. */
-#define fegetenv_register() \
- ({ unsigned fscr; asm volatile ("mfspefscr %0" : "=r" (fscr)); fscr; })
-
-/* Equivalent to fesetenv, but takes a fenv_t instead of a pointer. */
-#define fesetenv_register(fscr) \
- ({ asm volatile ("mtspefscr %0" : : "r" (fscr)); })
-
-typedef union
-{
- fenv_t fenv;
- unsigned int l[2];
-} fenv_union_t;
-
-/* Definitions of all the SPEFSCR bit numbers. */
-enum {
- SPEFSCR_SOVH = 0x80000000,
- SPEFSCR_OVH = 0x40000000,
- SPEFSCR_FGH = 0x20000000,
- SPEFSCR_FXH = 0x10000000,
- SPEFSCR_FINVH = 0x08000000,
- SPEFSCR_FDBZH = 0x04000000,
- SPEFSCR_FUNFH = 0x02000000,
- SPEFSCR_FOVFH = 0x01000000,
- /* 2 unused bits. */
- SPEFSCR_FINXS = 0x00200000,
- SPEFSCR_FINVS = 0x00100000,
- SPEFSCR_FDBZS = 0x00080000,
- SPEFSCR_FUNFS = 0x00040000,
- SPEFSCR_FOVFS = 0x00020000,
- SPEFSCR_MODE = 0x00010000,
- SPEFSCR_SOV = 0x00008000,
- SPEFSCR_OV = 0x00004000,
- SPEFSCR_FG = 0x00002000,
- SPEFSCR_FX = 0x00001000,
- SPEFSCR_FINV = 0x00000800,
- SPEFSCR_FDBZ = 0x00000400,
- SPEFSCR_FUNF = 0x00000200,
- SPEFSCR_FOVF = 0x00000100,
- /* 1 unused bit. */
- SPEFSCR_FINXE = 0x00000040,
- SPEFSCR_FINVE = 0x00000020,
- SPEFSCR_FDBZE = 0x00000010,
- SPEFSCR_FUNFE = 0x00000008,
- SPEFSCR_FOVFE = 0x00000004,
- SPEFSCR_FRMC = 0x00000003
-};
-
-#endif /* fenv_libc.h */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c
deleted file mode 100644
index e9411a89d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Install given floating-point environment.
- Copyright (C) 1997-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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- u.fenv = *envp;
- INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, &u.l[0]);
- fesetenv_register (u.l[1]);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c
deleted file mode 100644
index 00cad37be..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Set current rounding direction.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-int
-fesetround (int round)
-{
- unsigned long fpescr;
-
- if ((unsigned int) round > 3)
- return 1;
-
- fpescr = fegetenv_register ();
- fpescr = (fpescr & ~SPEFSCR_FRMC) | (round & 3);
- fesetenv_register (fpescr);
-
- return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c
deleted file mode 100644
index 534ce9def..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- unsigned long fpescr, old, new, pflags;
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- /* Save the currently set exceptions. */
- u.fenv = *envp;
- new = u.l[1];
- old = fegetenv_register ();
- new |= (old & FE_ALL_EXCEPT);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
- pflags |= u.l[0];
- INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
-
- /* Enable and raise (if appropriate) exceptions set in `new'. */
- fesetenv_register (new);
- feraiseexcept (new & FE_ALL_EXCEPT);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feupdateenv, feupdateenv)
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c
deleted file mode 100644
index f530c0231..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Store current representation for exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- unsigned long fpescr;
-
- /* Get the current state. */
- fpescr = fegetenv_register ();
-
- /* ?? Classic PPC doesn't do anything with `excepts', so we'll do
- the same here. (We should really be ignoring exceptions in
- excepts) ?? */
- *flagp = fpescr & FE_ALL_EXCEPT;
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c
deleted file mode 100644
index 6620a9f13..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-#undef feraiseexcept
-
-#define __FERAISEEXCEPT_INTERNAL feraiseexcept
-#include "../spe-raise.c"
-
-strong_alias (feraiseexcept, __feraiseexcept)
-libm_hidden_def (feraiseexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c
deleted file mode 100644
index 33712d8cf..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Set floating-point environment exception handling.
- Copyright (C) 1997-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 <fenv_libc.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
- unsigned long spefscr;
- fexcept_t flag;
-
- /* Get the current state. */
- spefscr = fegetenv_register ();
-
- /* Ignore exceptions not listed in 'excepts'. */
- flag = *flagp & excepts;
-
- /* Replace the exception status */
- spefscr = (spefscr & ~(FE_ALL_EXCEPT & excepts)) | flag;
-
- /* Store the new status word (along with the rest of the environment). */
- fesetenv_register (spefscr);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c
deleted file mode 100644
index ddb8f8685..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-
-int
-fetestexcept (int excepts)
-{
- unsigned long f;
-
- /* Get the current state. */
- f = fegetenv_register ();
-
- return f & excepts;
-}
-libm_hidden_def (fetestexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h
deleted file mode 100644
index e99166bfc..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/math_ldbl.h>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h
deleted file mode 100644
index 4909535f8..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Bypass sysdeps/powerpc/fpu/math_private.h and use generic header. */
-#include <../sysdeps/generic/math_private.h>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c
deleted file mode 100644
index f3f34216f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_ceil.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c
deleted file mode 100644
index 2a71fcd7c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_ceilf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c
deleted file mode 100644
index 8616ca0bb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_copysign.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c
deleted file mode 100644
index 34bcb6cce..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_copysignf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c
deleted file mode 100644
index 29a02868f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/s_copysignl.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c
deleted file mode 100644
index 2ef531d44..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_fabs.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S
deleted file mode 100644
index 296e214c7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Floating-point absolute value. PowerPC E500 version.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <sysdep.h>
-
-ENTRY(__fabsf)
-/* float [r3] fabsf (float [r3] x) ; */
- efsabs r3,r3
- blr
-END(__fabsf)
-
-weak_alias(__fabsf,fabsf)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c
deleted file mode 100644
index 33ebe78cb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/s_fabsl.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c
deleted file mode 100644
index 5fb35edb5..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fdim.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c
deleted file mode 100644
index 42df1302d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fdimf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c
deleted file mode 100644
index 2a43c817c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_floor.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c
deleted file mode 100644
index d129d378f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_floorf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c
deleted file mode 100644
index 2ee721413..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <math/s_fma.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fma, fmal, GLIBC_2_1);
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c
deleted file mode 100644
index 5b7663f9a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmaf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c
deleted file mode 100644
index 95edd5f3d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmax.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c
deleted file mode 100644
index 084fe72e9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmaxf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c
deleted file mode 100644
index e072a91e7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmin.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c
deleted file mode 100644
index e37e4ac4e..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fminf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c
deleted file mode 100644
index dec5dd0bf..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_isnan.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c
deleted file mode 100644
index 3be64a220..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_isnanf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c
deleted file mode 100644
index c8215aa17..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_llrint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c
deleted file mode 100644
index b74275e9c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_llrintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c
deleted file mode 100644
index 69658f335..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_llround.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c
deleted file mode 100644
index 386777ea9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_llroundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c
deleted file mode 100644
index 909e699a0..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_lrint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S
deleted file mode 100644
index 3d399a08e..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Round float to long int. PowerPC E500 version.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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 <sysdep.h>
-
-ENTRY(__lrintf)
-/* long int [r3] lrintf (float [r3] x) ; */
- efsctsi r3,r3
- blr
-END(__lrintf)
-
-weak_alias(__lrintf,lrintf)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c
deleted file mode 100644
index 83a87836b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_lround.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c
deleted file mode 100644
index 930abb527..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_lroundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c
deleted file mode 100644
index a8b7973ac..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_nearbyint.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1);
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c
deleted file mode 100644
index 487742619..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_nearbyintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c
deleted file mode 100644
index b610359d3..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_rint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c
deleted file mode 100644
index 6593140fa..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_rintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c
deleted file mode 100644
index 4c006d482..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_round.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c
deleted file mode 100644
index e82d90aa1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_roundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c
deleted file mode 100644
index bc5ec5401..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_trunc.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c
deleted file mode 100644
index b8cc5f6bc..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_truncf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S
deleted file mode 100644
index bba304375..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S
+++ /dev/null
@@ -1,103 +0,0 @@
-/* setjmp for PowerPC E500.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>.
-
- 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 <sysdep.h>
-#define _ASM
-#ifdef __NO_VMX__
-# include <novmxsetjmp.h>
-#else
-# include <jmpbuf-offsets.h>
-#endif
-
-ENTRY (__sigsetjmp)
-#ifdef PTR_MANGLE
- mr r5,r1
- PTR_MANGLE(r5, r10)
- stw r5,(JB_GPR1*4)(3)
-#else
- stw r1,(JB_GPR1*4)(3)
-#endif
- mflr r0
- stw r14,((JB_GPRS+0)*4)(3)
-#ifdef PTR_MANGLE
- PTR_MANGLE2 (r0, r10)
- li r10,0
-#endif
- /*stfd fp14,((JB_FPRS+0*2)*4)(3)*/
- evstdd r14,((JB_FPRS+0*2)*4)(3)
- stw r0,(JB_LR*4)(3)
- stw r15,((JB_GPRS+1)*4)(3)
- /*stfd fp15,((JB_FPRS+1*2)*4)(3)*/
- evstdd r15,((JB_FPRS+1*2)*4)(3)
- mfcr r0
- stw r16,((JB_GPRS+2)*4)(3)
- /*stfd fp16,((JB_FPRS+2*2)*4)(3)*/
- evstdd r16,((JB_FPRS+2*2)*4)(3)
- stw r0,(JB_CR*4)(3)
- stw r17,((JB_GPRS+3)*4)(3)
- /*stfd fp17,((JB_FPRS+3*2)*4)(3)*/
- evstdd r17,((JB_FPRS+3*2)*4)(3)
- stw r18,((JB_GPRS+4)*4)(3)
- /*stfd fp18,((JB_FPRS+4*2)*4)(3)*/
- evstdd r18,((JB_FPRS+4*2)*4)(3)
- stw r19,((JB_GPRS+5)*4)(3)
- /*stfd fp19,((JB_FPRS+5*2)*4)(3)*/
- evstdd r19,((JB_FPRS+5*2)*4)(3)
- stw r20,((JB_GPRS+6)*4)(3)
- /*stfd fp20,((JB_FPRS+6*2)*4)(3)*/
- evstdd r20,((JB_FPRS+6*2)*4)(3)
- stw r21,((JB_GPRS+7)*4)(3)
- /*stfd fp21,((JB_FPRS+7*2)*4)(3)*/
- evstdd r21,((JB_FPRS+7*2)*4)(3)
- stw r22,((JB_GPRS+8)*4)(3)
- /*stfd fp22,((JB_FPRS+8*2)*4)(3)*/
- evstdd r22,((JB_FPRS+8*2)*4)(3)
- stw r23,((JB_GPRS+9)*4)(3)
- /*stfd fp23,((JB_FPRS+9*2)*4)(3)*/
- evstdd r23,((JB_FPRS+9*2)*4)(3)
- stw r24,((JB_GPRS+10)*4)(3)
- /*stfd fp24,((JB_FPRS+10*2)*4)(3)*/
- evstdd r24,((JB_FPRS+10*2)*4)(3)
- stw r25,((JB_GPRS+11)*4)(3)
- /*stfd fp25,((JB_FPRS+11*2)*4)(3)*/
- evstdd r25,((JB_FPRS+11*2)*4)(3)
- stw r26,((JB_GPRS+12)*4)(3)
- /*stfd fp26,((JB_FPRS+12*2)*4)(3)*/
- evstdd r26,((JB_FPRS+12*2)*4)(3)
- stw r27,((JB_GPRS+13)*4)(3)
- /*stfd fp27,((JB_FPRS+13*2)*4)(3)*/
- evstdd r27,((JB_FPRS+13*2)*4)(3)
- stw r28,((JB_GPRS+14)*4)(3)
- /*stfd fp28,((JB_FPRS+14*2)*4)(3)*/
- evstdd r28,((JB_FPRS+14*2)*4)(3)
- stw r29,((JB_GPRS+15)*4)(3)
- /*stfd fp29,((JB_FPRS+15*2)*4)(3)*/
- evstdd r29,((JB_FPRS+15*2)*4)(3)
- stw r30,((JB_GPRS+16)*4)(3)
- /*stfd fp30,((JB_FPRS+16*2)*4)(3)*/
- evstdd r30,((JB_FPRS+16*2)*4)(3)
- stw r31,((JB_GPRS+17)*4)(3)
- /*stfd fp31,((JB_FPRS+17*2)*4)(3)*/
- evstdd r31,((JB_FPRS+17*2)*4)(3)
-#if defined NOT_IN_libc && defined IS_IN_rtld
- li r3,0
- blr
-#else
- b __sigjmp_save@local
-#endif
-END (__sigsetjmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S
deleted file mode 100644
index 851a5b908..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S
+++ /dev/null
@@ -1,43 +0,0 @@
-/* non alitivec (old) version of setjmp for PowerPC.
- Copyright (C) 1995-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 <shlib-compat.h>
-#include <libc-symbols.h>
-
-#if defined NOT_IN_libc
-/* Build a non-versioned object for rtld-*. */
-# include "setjmp-common.S"
-
-#else /* !NOT_IN_libc */
-/* Build a versioned object for libc. */
-default_symbol_version (__vmx__sigsetjmp,__sigsetjmp,GLIBC_2.3.4)
-# define __sigsetjmp __vmx__sigsetjmp
-# define __sigjmp_save __vmx__sigjmp_save
-# include "setjmp-common.S"
-
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-# define __NO_VMX__
-# undef __sigsetjmp
-# undef __sigjmp_save
-# undef JB_SIZE
-symbol_version (__novmx__sigsetjmp,__sigsetjmp,GLIBC_2.0)
-# define __sigsetjmp __novmx__sigsetjmp
-# define __sigjmp_save __novmx__sigjmp_save
-# include "setjmp-common.S"
-# endif
-#endif /* !NOT_IN_libc */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h
deleted file mode 100644
index 91bca2710..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _SPE_H
-
-#include_next <spe.h>
-
-libc_hidden_proto (strtosfix16)
-libc_hidden_proto (strtosfix32)
-libc_hidden_proto (strtosfix64)
-libc_hidden_proto (strtoufix16)
-libc_hidden_proto (strtoufix32)
-libc_hidden_proto (strtoufix64)
-
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c
deleted file mode 100644
index e04e5be40..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c
+++ /dev/null
@@ -1,700 +0,0 @@
-/* Convert string representing a number to float value, using given locale.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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/>. */
-
-/* Cut down from strtod_l.c for converting to fixed-point, no locale
- choice, no grouping, narrow strings only. */
-
-
-#include <ctype.h>
-#include <errno.h>
-#include <fenv_libc.h>
-#include <locale/localeinfo.h>
-#include <locale.h>
-#include <math.h>
-#include <spe.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* The gmp headers need some configuration frobs. */
-#define HAVE_ALLOCA 1
-
-/* Include gmp-mparam.h first, such that definitions of _SHORT_LIMB
- and _LONG_LONG_LIMB in it can take effect into gmp.h. */
-#include <gmp-mparam.h>
-#include <gmp.h>
-#include <stdlib/gmp-impl.h>
-#include <stdlib/longlong.h>
-#include <stdlib/fpioconst.h>
-
-/*#define NDEBUG 1*/
-#include <assert.h>
-
-#if UNSIGNED
-#define RETURN_FRAC_BITS RETURN_TYPE_BITS
-#else
-#define RETURN_FRAC_BITS (RETURN_TYPE_BITS - 1)
-#endif
-
-#define RETURN(val,end) \
- do { if (endptr != NULL) *endptr = (char *) (end); \
- return val; } while (0)
-
-/* Definitions according to limb size used. */
-#if BITS_PER_MP_LIMB == 32
-# define MAX_DIG_PER_LIMB 9
-# define MAX_FAC_PER_LIMB 1000000000UL
-#elif BITS_PER_MP_LIMB == 64
-# define MAX_DIG_PER_LIMB 19
-# define MAX_FAC_PER_LIMB 10000000000000000000ULL
-#else
-# error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
-#endif
-
-/* Local data structure. */
-static const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1] =
-{ 0, 10, 100,
- 1000, 10000, 100000L,
- 1000000L, 10000000L, 100000000L,
- 1000000000L
-#if BITS_PER_MP_LIMB > 32
- , 10000000000ULL, 100000000000ULL,
- 1000000000000ULL, 10000000000000ULL, 100000000000000ULL,
- 1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
- 1000000000000000000ULL, 10000000000000000000ULL
-#endif
-#if BITS_PER_MP_LIMB > 64
- #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
-#endif
-};
-
-/* Define pow5 to be 5^(RETURN_FRAC_BITS + 1), shifted left so the
- most significant bit is set (as required by mpn_divrem), pow5size
- to be the size in limbs and pow5shift to be the shift. */
-#if RETURN_FRAC_BITS + 1 == 16
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x04000000, 0x8e1bc9bf };
-# define pow5shift 26
-# define pow5size 2
-# else
-static const mp_limb_t pow5[] = { 0x8e1bc9bf04000000ull };
-# define pow5shift 26
-# define pow5size 1
-# endif
-#elif RETURN_FRAC_BITS + 1 == 17
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0xc5000000, 0xb1a2bc2e };
-# define pow5shift 24
-# define pow5size 2
-# else
-static const mp_limb_t pow5[] = { 0xb1a2bc2ec5000000ull };
-# define pow5shift 24
-# define pow5size 1
-# endif
-#elif RETURN_FRAC_BITS + 1 == 32
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0xf0200000, 0x2b70b59d, 0x9dc5ada8 };
-# define pow5shift 21
-# define pow5size 3
-# else
-static const mp_limb_t pow5[] = { 0xf020000000000000ull, 0x9dc5ada82b70b59dull };
-# define pow5shift 53
-# define pow5size 2
-# endif
-#elif RETURN_FRAC_BITS + 1 == 33
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x6c280000, 0x364ce305, 0xc5371912 };
-# define pow5shift 19
-# define pow5size 3
-# else
-static const mp_limb_t pow5[] = { 0x6c28000000000000ull, 0xc5371912364ce305ull };
-# define pow5shift 51
-# define pow5size 2
-# endif
-#elif RETURN_FRAC_BITS + 1 == 64
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x50f80800, 0xc76b25fb, 0x3cbf6b71, 0xffcfa6d5, 0xc2781f49 };
-# define pow5shift 11
-# define pow5size 5
-# else
-static const mp_limb_t pow5[] = { 0x50f8080000000000ull, 0x3cbf6b71c76b25fbull, 0xc2781f49ffcfa6d5ull };
-# define pow5shift 43
-# define pow5size 3
-# endif
-#elif RETURN_FRAC_BITS + 1 == 65
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x25360a00, 0x3945ef7a, 0x8bef464e, 0x7fc3908a, 0xf316271c };
-# define pow5shift 9
-# define pow5size 5
-# else
-static const mp_limb_t pow5[] = { 0x25360a0000000000ull, 8bef464e3945ef7aull, 0xf316271c7fc3908aull };
-# define pow5shift 41
-# define pow5size 3
-# endif
-#else
-# error "Unknown RETURN_FRAC_BITS value."
-#endif
-
-/* Read a multi-precision integer starting at STR with exactly DIGCNT digits
- into N. Return the size of the number limbs in NSIZE. */
-static void
-str_to_mpn (const char *str, int digcnt, mp_limb_t *n, mp_size_t *nsize)
-{
- /* Number of digits for actual limb. */
- int cnt = 0;
- mp_limb_t low = 0;
- mp_limb_t start;
-
- *nsize = 0;
- assert (digcnt > 0);
- do
- {
- if (cnt == MAX_DIG_PER_LIMB)
- {
- if (*nsize == 0)
- {
- n[0] = low;
- *nsize = 1;
- }
- else
- {
- mp_limb_t cy;
- cy = __mpn_mul_1 (n, n, *nsize, MAX_FAC_PER_LIMB);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- {
- n[*nsize] = cy;
- ++(*nsize);
- }
- }
- cnt = 0;
- low = 0;
- }
-
- low = low * 10 + *str++ - '0';
- ++cnt;
- }
- while (--digcnt > 0);
-
- start = _tens_in_limb[cnt];
-
- if (*nsize == 0)
- {
- n[0] = low;
- *nsize = 1;
- }
- else
- {
- mp_limb_t cy;
- cy = __mpn_mul_1 (n, n, *nsize, start);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- n[(*nsize)++] = cy;
- }
-}
-
-/* Round a fixed point number according to the current rounding mode
- and set its sign. VAL is the initial part of the number
- (RETURN_TYPE_BITS for unsigned, one fewer for signed; values equal
- to -1.0 do not come here). SIGN is 1 for negative, 0 for positive;
- this function will not be called for negative numbers in the
- unsigned case. HALF is 1 if the next bit is 1; REST is 1 if any of
- the subsequent bits are 1. */
-static RETURN_TYPE
-round_and_set_sign (RETURN_TYPE val, int sign, int half, int rest)
-{
- int incr = 0;
- unsigned int mode = fegetenv_register ();
- mode &= 3;
- switch (mode)
- {
- case FE_TONEAREST:
- incr = (half && (rest || (val & 1)));
- break;
- case FE_TOWARDZERO:
- break;
- case FE_UPWARD:
- incr = (!sign && (half || rest));
- break;
- case FE_DOWNWARD:
- incr = (sign && (half || rest));
- break;
- }
- if (incr)
- {
- if (val == SAT_MAX)
- {
- if (sign)
- val = SAT_MIN;
- else
- {
- __set_errno (ERANGE);
- return SAT_MAX;
- }
- }
- else
- {
- val++;
- if (sign)
- val = -val;
- }
- }
- else if (sign)
- val = -val;
- return val;
-}
-
-/* Return a fixed point number with the value of the given string
- NPTR, handling out-of-range numbers as described in the SPE PIM.
- Set *ENDPTR to the character after the last used one. */
-RETURN_TYPE
-STRTOFIX (const char *nptr, char **endptr)
-{
- int negative; /* The sign of the number. */
- int exponent; /* Exponent of the number. */
-
- /* Numbers starting `0X' or `0x' have to be processed with base 16. */
- int base = 10;
-
- /* Running pointer after the last character processed in the string. */
- const char *cp;
- /* Start of significant part of the number. */
- const char *startp, *start_of_digits;
- /* Points at the character following the integer and fractional digits. */
- const char *expp;
- /* Total number of digit and number of digits in integer part. */
- int dig_no, int_no, lead_zero;
- /* Contains the last character read. */
- char c;
-
- /* The radix character of the current locale. */
- const char *decimal;
- size_t decimal_len;
- /* Used in several places. */
- int cnt;
-
- decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT);
- decimal_len = strlen (decimal);
- assert (decimal_len > 0);
-
- /* Prepare number representation. */
- exponent = 0;
- negative = 0;
-
- /* Parse string to get maximal legal prefix. We need the number of
- characters of the integer part, the fractional part and the exponent. */
- cp = nptr - 1;
- /* Ignore leading white space. */
- do
- c = *++cp;
- while (isspace (c));
-
- /* Get sign of the result. */
- if (c == '-')
- {
- negative = 1;
- c = *++cp;
- }
- else if (c == '+')
- c = *++cp;
-
- /* Return 0.0 if no legal string is found.
- No character is used even if a sign was found. */
- for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (cp[cnt] != decimal[cnt])
- break;
- if (decimal[cnt] == '\0' && cp[cnt] >= '0' && cp[cnt] <= '9')
- {
- /* We accept it. This funny construct is here only to indent
- the code directly. */
- }
- else if (c < '0' || c > '9')
- {
- /* The SPE PIM says NaN and Inf are not supported. */
- /* It is really a text we do not recognize. */
- RETURN (0, nptr);
- }
-
- /* First look whether we are faced with a hexadecimal number. */
- if (c == '0' && tolower (cp[1]) == 'x')
- {
- /* Okay, it is a hexa-decimal number. Remember this and skip
- the characters. BTW: hexadecimal numbers must not be
- grouped. */
- base = 16;
- cp += 2;
- c = *cp;
- }
-
- /* Record the start of the digits, in case we will check their grouping. */
- start_of_digits = startp = cp;
-
- /* Ignore leading zeroes. This helps us to avoid useless computations. */
- while (c == '0')
- c = *++cp;
-
- /* If no other digit but a '0' is found the result is 0.0.
- Return current read pointer. */
- if ((c < '0' || c > '9')
- && (base != 16 || (c < (char) tolower ('a')
- || c > (char) tolower ('f')))
- && ({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != cp[cnt])
- break;
- decimal[cnt] != '\0'; })
- && (base != 16 || (cp == start_of_digits
- || (char) tolower (c) != 'p'))
- && (base == 16 || (char) tolower (c) != 'e'))
- {
- /* If CP is at the start of the digits, there was no correctly
- grouped prefix of the string; so no number found. */
- RETURN (0, cp == start_of_digits ? (base == 16 ? cp - 1 : nptr) : cp);
- }
-
- /* Remember first significant digit and read following characters until the
- decimal point, exponent character or any non-FP number character. */
- startp = cp;
- dig_no = 0;
- while (1)
- {
- if ((c >= '0' && c <= '9')
- || (base == 16 && tolower (c) >= 'a'
- && tolower (c) <= 'f'))
- ++dig_no;
- else
- {
- break;
- }
- c = *++cp;
- }
-
- /* We have the number digits in the integer part. Whether these are all or
- any is really a fractional digit will be decided later. */
- int_no = dig_no;
- lead_zero = int_no == 0 ? -1 : 0;
-
- /* Read the fractional digits. A special case are the 'american style'
- numbers like `16.' i.e. with decimal but without trailing digits. */
- if (
- ({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != cp[cnt])
- break;
- decimal[cnt] == '\0'; })
- )
- {
- cp += decimal_len;
- c = *cp;
- while ((c >= '0' && c <= '9') ||
- (base == 16 && tolower (c) >= 'a' && tolower (c) <= 'f'))
- {
- if (c != '0' && lead_zero == -1)
- lead_zero = dig_no - int_no;
- ++dig_no;
- c = *++cp;
- }
- }
-
- /* For numbers like "0x." with no hex digits, only the "0" is valid. */
- if (base == 16
- && startp == start_of_digits
- && dig_no == 0)
- RETURN (0, start_of_digits - 1);
-
- /* Remember start of exponent (if any). */
- expp = cp;
-
- /* Read exponent. */
- if ((base == 16 && tolower (c) == 'p')
- || (base != 16 && tolower (c) == 'e'))
- {
- int exp_negative = 0;
-
- c = *++cp;
- if (c == '-')
- {
- exp_negative = 1;
- c = *++cp;
- }
- else if (c == '+')
- c = *++cp;
-
- if (c >= '0' && c <= '9')
- {
- int exp_limit;
-
- /* Get the exponent limit. */
- if (base == 16)
- exp_limit = (exp_negative ?
- RETURN_TYPE_BITS + 4 * int_no :
- 4 - 4 * int_no + 4 * lead_zero);
- else
- exp_limit = (exp_negative ?
- (RETURN_TYPE_BITS + 2) / 3 + int_no :
- 1 - int_no + lead_zero);
-
- do
- {
- exponent *= 10;
-
- if (exponent > exp_limit)
- /* The exponent is too large/small to represent a valid
- number. */
- {
- RETURN_TYPE result;
-
- /* Accept all following digits as part of the exponent. */
- do
- ++cp;
- while (*cp >= '0' && *cp <= '9');
-
- /* We have to take care for special situation: a joker
- might have written "0.0e100000" which is in fact
- zero. */
- if (lead_zero == -1)
- result = 0;
-#if UNSIGNED
- else if (negative)
- {
- /* Saturate to 0. */
- __set_errno (ERANGE);
- result = SAT_MIN;
- }
-#endif
- else if (exp_negative)
- {
- /* Round to either 0 or smallest value. */
- result = round_and_set_sign (0, negative, 0, 1);
- }
- else
- {
- /* Overflow. */
- __set_errno (ERANGE);
- result = (negative ? SAT_MIN : SAT_MAX);
- }
-
- RETURN (result, cp);
- /* NOTREACHED */
- }
-
- exponent += c - '0';
- c = *++cp;
- }
- while (c >= '0' && c <= '9');
-
- if (exp_negative)
- exponent = -exponent;
- }
- else
- cp = expp;
- }
-
- /* We don't want to have to work with trailing zeroes after the radix. */
- if (dig_no > int_no)
- {
- while (expp[-1] == '0')
- {
- --expp;
- --dig_no;
- }
- assert (dig_no >= int_no);
- }
-
- if (dig_no == int_no && dig_no > 0)
- do
- {
- while (! (base == 16 ? isxdigit (expp[-1]) : isdigit (expp[-1])))
- --expp;
-
- if (expp[-1] != '0')
- break;
-
- --expp;
- --dig_no;
- --int_no;
- exponent += (base == 16 ? 4 : 1);
- }
- while (dig_no > 0);
-
- /* The whole string is parsed. Store the address of the next character. */
- if (endptr)
- *endptr = (char *) cp;
-
- if (dig_no == 0)
- return 0;
-
-#if UNSIGNED
- if (negative)
- {
- /* Saturate to 0. */
- __set_errno (ERANGE);
- return SAT_MIN;
- }
-#endif
-
- if (lead_zero)
- {
- /* Find the decimal point */
- while (1)
- {
- if (*startp == decimal[0])
- {
- for (cnt = 1; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != startp[cnt])
- break;
- if (decimal[cnt] == '\0')
- break;
- }
- ++startp;
- }
- startp += lead_zero + decimal_len;
- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
- dig_no -= lead_zero;
- }
-
- /* Normalize the exponent so that all digits can be considered to
- start just after the point. */
- exponent += base == 16 ? 4 * int_no : int_no;
-
- if (exponent > (base == 16 ? 4 : 1))
- {
- /* Overflow. */
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
-
- /* Copy just the digits needed to a separate buffer. */
- int digits_needed = (base == 16 ? RETURN_TYPE_BITS / 4 + 2 : RETURN_FRAC_BITS + 1);
- char buf[RETURN_TYPE_BITS + 1];
- int digits_copied = 0;
- int extra = 0;
- int rdigno = dig_no;
- while (exponent < 0)
- {
- buf[digits_copied++] = '0';
- exponent += (base == 16 ? 4 : 1);
- if (digits_copied == digits_needed)
- return round_and_set_sign (0, negative, 0, 1);
- }
- while (digits_copied < digits_needed && rdigno > 0)
- {
- if (!(base == 16 ? isxdigit (*startp) : isdigit (*startp)))
- startp += decimal_len;
- buf[digits_copied++] = *startp++;
- rdigno--;
- }
- if (rdigno)
- extra = 1;
- else
- while (digits_copied < digits_needed)
- buf[digits_copied++] = '0';
-
- if (base == 10 && exponent == 1)
- {
- assert (buf[0] != '0');
- /* At least 1.0; see if there is overflow. */
- if (UNSIGNED
- || !negative
- || buf[0] > '1'
- || dig_no > 1)
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
-
- if (base == 16 && exponent > 0)
- {
- int max_dig = (16 >> exponent) + '0';
- assert (buf[0] != '0');
- if (buf[0] >= max_dig)
- {
- /* At least 1.0; see if there is overflow. */
- if (UNSIGNED
- || !negative
- || buf[0] > max_dig
- || dig_no > 1)
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
- }
-
- /* Now strictly in the range (0, 1) (though rounding may yet
- saturate to 1.0). */
- if (base == 10)
- assert (exponent == 0);
- else
- assert (exponent >= 0 && exponent <= 3);
-
- if (base == 16)
- {
- RETURN_TYPE r = 0;
- int half = 0;
- for (int i = 0; i < digits_needed; i++)
- {
- RETURN_TYPE val;
- int shift;
- if (isdigit (buf[i]))
- val = buf[i] - '0';
- else
- val = 10 + tolower (buf[i]) - 'a';
- shift = RETURN_FRAC_BITS - 4 + exponent - 4 * i;
- if (shift >= 0)
- r |= val << shift;
- else if (shift < -4)
- extra |= (val != 0);
- else
- {
- r |= val >> -shift;
- half = (val & (1 << (-shift - 1))) != 0;
- extra |= (val & ((1 << (-shift - 1)) - 1)) != 0;
- }
- }
- return round_and_set_sign (r, negative, half, extra);
- }
-
- /* Now we have RETURN_FRAC_BITS + 1 digits after the decimal point.
- Interpret these as an integer and divide by 5^(RETURN_FRAC_BITS +
- 1). If there is a remainder, set extra. If the result of the
- division is odd, set half. Divide by 2 again, and round the
- result. */
- mp_limb_t frac[8];
- mp_size_t fracsize;
- str_to_mpn (buf, digits_needed, frac, &fracsize);
- if (fracsize < pow5size)
- return round_and_set_sign (0, negative, 0, 1);
- frac[fracsize] = __mpn_lshift (frac, frac, fracsize, pow5shift);
- if (frac[fracsize])
- fracsize++;
- mp_limb_t quot[8];
- quot[fracsize - pow5size] = mpn_divmod (quot, frac, fracsize, pow5, pow5size);
- for (int i = 0; i < pow5size; i++)
- if (frac[i])
- extra = 1;
- int half = quot[0] & 1;
- RETURN_TYPE val = quot[0] >> 1;
-#if RETURN_FRAC_BITS > BITS_PER_MP_LIMB - 1
- val |= ((RETURN_TYPE) quot[1]) << (BITS_PER_MP_LIMB - 1);
-# if RETURN_FRAC_BITS > 2 * BITS_PER_MP_LIMB - 1
- val |= ((RETURN_TYPE) quot[2]) << (2 * BITS_PER_MP_LIMB - 1);
-# if RETURN_FRAC_BITS > 3 * BITS_PER_MP_LIMB - 1
-# error "Too many bits."
-# endif
-# endif
-#endif
- return round_and_set_sign (val, negative, half, extra);
-}
-
-libc_hidden_def (STRTOFIX)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c
deleted file mode 100644
index b444f826b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE int16_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 16
-#define SAT_MIN -0x8000
-#define SAT_MAX 0x7fff
-#define STRTOFIX strtosfix16
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c
deleted file mode 100644
index 2b885d83f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE int32_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 32
-#define SAT_MIN 0x80000000
-#define SAT_MAX 0x7fffffff
-#define STRTOFIX strtosfix32
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c
deleted file mode 100644
index 73bba1bd9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE int64_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 64
-#define SAT_MIN 0x8000000000000000LL
-#define SAT_MAX 0x7fffffffffffffffLL
-#define STRTOFIX strtosfix64
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c
deleted file mode 100644
index 452bc7b45..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE uint16_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 16
-#define SAT_MIN 0
-#define SAT_MAX 0xffff
-#define STRTOFIX strtoufix16
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c
deleted file mode 100644
index 8977212c8..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE uint32_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 32
-#define SAT_MIN 0
-#define SAT_MAX 0xffffffff
-#define STRTOFIX strtoufix32
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c
deleted file mode 100644
index 2ace30c2d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- 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/>. */
-
-#define RETURN_TYPE uint64_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 64
-#define SAT_MIN 0
-#define SAT_MAX 0xffffffffffffffffLL
-#define STRTOFIX strtoufix64
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c
deleted file mode 100644
index 220df545f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c
+++ /dev/null
@@ -1,493 +0,0 @@
-/* Test SPE PIM functions.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2007.
-
- 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 <errno.h>
-#include <fenv.h>
-#include <spe.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-typedef int16_t sint16_t;
-typedef int32_t sint32_t;
-typedef int64_t sint64_t;
-
-#define SAT_MAX_U16 0xffff
-#define SAT_MAX_U32 0xffffffffu
-#define SAT_MAX_U64 0xffffffffffffffffull
-#define SAT_MAX_S16 0x7fff
-#define SAT_MAX_S32 0x7fffffff
-#define SAT_MAX_S64 0x7fffffffffffffffll
-#define SAT_MIN_S16 (-SAT_MAX_S16 - 1)
-#define SAT_MIN_S32 (-SAT_MAX_S32 - 1)
-#define SAT_MIN_S64 (-SAT_MAX_S64 - 1)
-
-/* Test results for a single rounding mode. For each type of result,
- store the expected result and the expected errno. */
-struct res {
- sint16_t s16;
- int es16;
- sint32_t s32;
- int es32;
- sint64_t s64;
- int es64;
- uint16_t u16;
- int eu16;
- uint32_t u32;
- int eu32;
- uint64_t u64;
- int eu64;
-};
-
-struct testcase {
- /* String to test. */
- const char *s;
- /* Number of junk characters at end. */
- size_t njunk;
- /* Expected results for rounding to nearest, zero, upward and
- downward. */
- struct res res[4];
-};
-
-/* Saturating value. */
-#define SAT(VAL) VAL, ERANGE
-/* Unsaturating value. */
-#define UNSAT(VAL) VAL, 0
-/* Values saturating for both signed and unsigned. */
-#define SAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- SAT (VAL0), SAT (VAL1), SAT (VAL2), \
- SAT (VAL3), SAT (VAL4), SAT (VAL5) \
- }
-#define SAT6_MAX \
- SAT6 (SAT_MAX_S16, SAT_MAX_S32, SAT_MAX_S64, \
- SAT_MAX_U16, SAT_MAX_U32, SAT_MAX_U64)
-#define SAT6_MIN \
- SAT6 (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64, 0, 0, 0)
-/* Values saturating for unsigned but not signed. */
-#define SATNEG(VAL0, VAL1, VAL2) \
- { \
- UNSAT (VAL0), UNSAT (VAL1), UNSAT (VAL2), \
- SAT (0), SAT (0), SAT (0) \
- }
-/* Values not saturating. */
-#define UNSAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- UNSAT (VAL0), UNSAT (VAL1), UNSAT (VAL2), \
- UNSAT (VAL3), UNSAT (VAL4), UNSAT (VAL5) \
- }
-/* Results not depending on rounding mode. */
-#define EXACT_SAT6_MAX \
- { \
- SAT6_MAX, \
- SAT6_MAX, \
- SAT6_MAX, \
- SAT6_MAX \
- }
-#define EXACT_SAT6_MIN \
- { \
- SAT6_MIN, \
- SAT6_MIN, \
- SAT6_MIN, \
- SAT6_MIN \
- }
-#define EXACT_SATNEG(VAL0, VAL1, VAL2) \
- { \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2) \
- }
-#define EXACT_UNSAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- }
-
-static const struct testcase tests[] = {
- /* Strings evaluating to 0, including INF and NaN (not supported by
- SPE PIM functions). */
- { "", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "00", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0.0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { ".0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " \n-0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0e100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " \t 0e-100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0.p100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0x0.p002000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.0p-100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { ".", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " .", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+.", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " +.", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " -.", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0xp", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.p", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+0x.p", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0x.p0", 4, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0q", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "INF", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "nan", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- /* Strings evaluating to 1.0 or greater, saturating unconditionally. */
- { "1", 0, EXACT_SAT6_MAX },
- { "1.0", 0, EXACT_SAT6_MAX },
- { "1e0", 0, EXACT_SAT6_MAX },
- { "10e-1", 0, EXACT_SAT6_MAX },
- { "0.1e1", 0, EXACT_SAT6_MAX },
- { "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-100", 0, EXACT_SAT6_MAX },
- { "2", 0, EXACT_SAT6_MAX },
- { "0x1", 0, EXACT_SAT6_MAX },
- { "0x2p-1", 0, EXACT_SAT6_MAX },
- { "0x.8p1", 0, EXACT_SAT6_MAX },
- { "0x.40p2", 0, EXACT_SAT6_MAX },
- /* Strings evaluating to less than -1.0, saturating unconditionally. */
- { "-1.1", 0, EXACT_SAT6_MIN },
- { "-.11e1", 0, EXACT_SAT6_MIN },
- { "-11e-1", 0, EXACT_SAT6_MIN },
- { "-100", 0, EXACT_SAT6_MIN },
- { "-2", 0, EXACT_SAT6_MIN },
- { "-0x1.00000000000000000000000001", 0, EXACT_SAT6_MIN },
- { "-0x2.00000000000000000000000001p-1", 0, EXACT_SAT6_MIN },
- { "-0x0.80000000000000000000000001p1", 0, EXACT_SAT6_MIN },
- { "-1.000000000000000000000000000000000000000000000000000000000000000000000000000000001", 0, EXACT_SAT6_MIN },
- /* Strings evaluating to -1.0 exactly, saturating for unsigned but
- exactly representable for signed. */
- { "-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-1e", 1, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-1.0", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-10e-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-.1e+1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-.0000000001e+10", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-10000000000e-10", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x1p+", 2, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x2p-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x4.0p-2", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x8.p-3", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x10p-4", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.8p1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.4p+2", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.2p+3", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.1p+4", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.08p5", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- /* Strings evaluating to exactly representable values between -1.0
- and 0.0, saturating for unsigned. */
- { "-0.5", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.5e-", 2, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-05e-1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-05000000000e-10", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.5e0", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.00000000005e10", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x.8", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x1p-1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x.4p1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.25", 0, EXACT_SATNEG (-0x2000, -0x20000000, -0x2000000000000000ll) },
- { "-2.5e-1", 0, EXACT_SATNEG (-0x2000, -0x20000000, -0x2000000000000000ll) },
- { "-0.75", 0, EXACT_SATNEG (-0x6000, -0x60000000, -0x6000000000000000ll) },
- { "-0.000030517578125", 0, EXACT_SATNEG (-0x0001, -0x00010000, -0x0001000000000000ll) },
- { "-0.376739501953125", 0, EXACT_SATNEG (-12345, -12345*0x10000, -12345*0x1000000000000ll) },
- { "-0x.dcba", 0, EXACT_SATNEG (-0x6e5d, -0x6e5d0000, -0x6e5d000000000000ll) },
- { "-0xd.cbap-4", 0, EXACT_SATNEG (-0x6e5d, -0x6e5d0000, -0x6e5d000000000000ll) },
- /* Strings evaluating to exactly representable values between 0.0
- and 1.0. */
- { "0.5", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.5e-", 2, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "05e-1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "05000000000e-10", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.5e0", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.00000000005e10", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x.8", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x1p-1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x.4p1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.25", 0, EXACT_UNSAT6 (0x2000, 0x20000000, 0x2000000000000000ll, 0x4000, 0x40000000u, 0x4000000000000000ull) },
- { "2.5e-1", 0, EXACT_UNSAT6 (0x2000, 0x20000000, 0x2000000000000000ll, 0x4000, 0x40000000u, 0x4000000000000000ull) },
- { "0.75", 0, EXACT_UNSAT6 (0x6000, 0x60000000, 0x6000000000000000ll, 0xc000, 0xc0000000u, 0xc000000000000000ull) },
- { "0.000030517578125", 0, EXACT_UNSAT6 (0x0001, 0x00010000, 0x0001000000000000ll, 0x0002, 0x00020000u, 0x0002000000000000ull) },
- { "0.376739501953125", 0, EXACT_UNSAT6 (12345, 12345*0x10000, 12345*0x1000000000000ll, 12345*0x2, 12345*0x20000u, 12345*0x2000000000000ull) },
- { "0x.dcba", 0, EXACT_UNSAT6 (0x6e5d, 0x6e5d0000, 0x6e5d000000000000ll, 0xdcba, 0xdcba0000u, 0xdcba000000000000ull) },
- { "0xd.cbap-4", 0, EXACT_UNSAT6 (0x6e5d, 0x6e5d0000, 0x6e5d000000000000ll, 0xdcba, 0xdcba0000u, 0xdcba000000000000ull) },
- /* Strings evaluating to values between 0.0 and 1.0, depending on
- rounding mode. */
- { "0.1", 0,
- {
- UNSAT6 (0xccd, 0xccccccd, 0xccccccccccccccdll, 0x199a, 0x1999999au, 0x199999999999999aull),
- UNSAT6 (0xccc, 0xccccccc, 0xcccccccccccccccll, 0x1999, 0x19999999u, 0x1999999999999999ull),
- UNSAT6 (0xccd, 0xccccccd, 0xccccccccccccccdll, 0x199a, 0x1999999au, 0x199999999999999aull),
- UNSAT6 (0xccc, 0xccccccc, 0xcccccccccccccccll, 0x1999, 0x19999999u, 0x1999999999999999ull)
- }
- },
- { "0.5000152587890625", 0,
- {
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4001, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull)
- }
- },
- { "0.50001525878906250000000000000000000000000000000000000000000000000000000000001", 0,
- {
- UNSAT6 (0x4001, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4001, 0x40008001, 0x4000800000000001ll, 0x8002, 0x80010001u, 0x8001000000000001ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359375", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359376", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359374", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0x0.80000000000000018", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0x0.80000000000000017", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- /* Strings evaluating to values between -1.0 and 0.0, depending on
- rounding mode. */
- { "-0.1", 0,
- {
- SATNEG (-0xccd, -0xccccccd, -0xccccccccccccccdll),
- SATNEG (-0xccc, -0xccccccc, -0xcccccccccccccccll),
- SATNEG (-0xccc, -0xccccccc, -0xcccccccccccccccll),
- SATNEG (-0xccd, -0xccccccd, -0xccccccccccccccdll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671875", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671874", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671876", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0x.8000000000000003", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0x.8000000000000002f", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- /* Strings evaluating very close to 1.0, saturation depending on
- rounding mode. */
- { "0x.fffe1", 0,
- {
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { SAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xffff), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) }
- }
- },
- { "0x.ffff8", 0,
- {
- { SAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), SAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), UNSAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { SAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), SAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), UNSAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) }
- }
- },
- { "0x.fffffffffffffffff", 0,
- {
- { SAT (0x7fff), SAT (0x7fffffff), SAT (0x7fffffffffffffffll), SAT (0xffff), SAT (0xffffffffu), SAT (0xffffffffffffffffull) },
- { UNSAT (0x7fff), UNSAT (0x7fffffff), UNSAT (0x7fffffffffffffffll), UNSAT (0xffff), UNSAT (0xffffffffu), UNSAT (0xffffffffffffffffull) },
- { SAT (0x7fff), SAT (0x7fffffff), SAT (0x7fffffffffffffffll), SAT (0xffff), SAT (0xffffffffu), SAT (0xffffffffffffffffull) },
- { UNSAT (0x7fff), UNSAT (0x7fffffff), UNSAT (0x7fffffffffffffffll), UNSAT (0xffff), UNSAT (0xffffffffu), UNSAT (0xffffffffffffffffull) }
- }
- },
- /* Strings evaluating very close to -1.0, may round to -1 but only
- saturate for unsigned. */
- { "-0x.fffe1", 0,
- {
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (SAT_MIN_S16, -0x7fff0800, -0x7fff080000000000ll)
- }
- },
- { "-0x.ffffffffffffffff", 0,
- {
- SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64),
- SATNEG (-0x7fff, -0x7fffffff, -0x7fffffffffffffffll),
- SATNEG (-0x7fff, -0x7fffffff, -0x7fffffffffffffffll),
- SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64)
- }
- }
-};
-
-static const int rounding_modes[4] = {
- FE_TONEAREST,
- FE_TOWARDZERO,
- FE_UPWARD,
- FE_DOWNWARD
-};
-
-static const char *const mode_names[4] = {
- "FE_TONEAREST",
- "FE_TOWARDZERO",
- "FE_UPWARD",
- "FE_DOWNWARD"
-};
-
-int
-main (void)
-{
- int passes = 0;
- int fails = 0;
- size_t i;
- for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
- {
- size_t j;
- for (j = 0; j < 4; j++)
- {
- if (fesetround (rounding_modes[j]) != 0)
- {
- printf ("fesetround (%s) failed.\n", mode_names[j]);
- abort ();
- }
-#define DO_TEST(SU, SZ, PR) \
- do { \
- SU##int##SZ##_t expret = tests[i].res[j].SU##SZ; \
- int experr = tests[i].res[j].e##SU##SZ; \
- size_t explen = strlen (tests[i].s) - tests[i].njunk; \
- SU##int##SZ##_t ret0, ret1; \
- int reterr; \
- size_t retlen; \
- char *ep; \
- errno = 0; \
- ret0 = strto##SU##fix##SZ (tests[i].s, &ep); \
- reterr = errno; \
- retlen = ep - tests[i].s; \
- if (ret0 == expret) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "returned %0"PR"x, expected %0"PR"x.\n", \
- tests[i].s, mode_names[j], ret0, expret); \
- } \
- if (reterr == experr) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "left errno as %d, expected %d.\n", \
- tests[i].s, mode_names[j], reterr, experr); \
- } \
- if (retlen == explen) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "consumed %zu characters, expected %zu.\n", \
- tests[i].s, mode_names[j], retlen, explen); \
- } \
- if (experr == 0) \
- { \
- ret1 = ato##SU##fix##SZ (tests[i].s); \
- if (ret1 == expret) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("ato"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "returned %0"PR"x, expected %0"PR"x.\n", \
- tests[i].s, mode_names[j], ret1, expret); \
- } \
- } \
- } while (0)
- DO_TEST (s, 16, "4h");
- DO_TEST (s, 32, "8");
- DO_TEST (s, 64, "16ll");
- DO_TEST (u, 16, "4h");
- DO_TEST (u, 32, "8");
- DO_TEST (u, 64, "16ll");
- }
- }
- printf ("Number of passes: %d\nNumber of failures: %d\n", passes, fails);
- return fails != 0;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c
deleted file mode 100644
index 3721f24a7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/w_sqrt.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c
deleted file mode 100644
index 7c6ca901a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/w_sqrtf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile
deleted file mode 100644
index 2d7d09205..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# Double precision floating point gets emulated.
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(gcc-double-routines) fraiseexcept-soft
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs
deleted file mode 100644
index 87eadf302..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions
deleted file mode 100644
index f126c9a8a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions
+++ /dev/null
@@ -1,19 +0,0 @@
-libc {
- GLIBC_2.3.3 {
- __feraiseexcept_soft;
- __adddf3; __truncdfsf2;
- __divdf3; __eqdf2;
- __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi;
- __fixtfdi;
- __fixunsdfdi; __fixunsdfsi;
- __floatdidf; __floatsidf;
- __gedf2; __ledf2; __muldf3;
- __negdf2; __sqrtdf2; __subdf3;
- __truncdfsf2;
- }
- GLIBC_2.5 {
- __floatundidf; __floatunsidf;
- __unorddf2; __nedf2;
- __gtdf2; __ltdf2;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c
deleted file mode 100644
index d2bb5410f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- 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 <fenv_libc.h>
-#include <libc-symbols.h>
-
-int __feraiseexcept_soft (int);
-libc_hidden_proto (__feraiseexcept_soft)
-
-#define __FERAISEEXCEPT_INTERNAL __feraiseexcept_soft
-#include "../spe-raise.c"
-libc_hidden_def (__feraiseexcept_soft)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h
deleted file mode 100644
index 8b80e128b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef _SFP_MACHINE_H_
-#define _SFP_MACHINE_H_
-#include <fenv_libc.h>
-#include <libc-symbols.h>
-
-int __feraiseexcept_soft (int);
-libc_hidden_proto (__feraiseexcept_soft)
-
-#define _FP_W_TYPE_SIZE 32
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#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_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 << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Someone please check this. */
-#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)
-
-/* Exception flags. We use the bit positions of the appropriate bits
- in the FPEFSCR, which also correspond to the FE_* bits. This makes
- everything easier ;-). */
-#define FP_EX_INEXACT (1 << (63 - 42))
-#define FP_EX_INVALID (1 << (63 - 43))
-#define FP_EX_DIVZERO (1 << (63 - 44))
-#define FP_EX_UNDERFLOW (1 << (63 - 45))
-#define FP_EX_OVERFLOW (1 << (63 - 46))
-
-/* This will work inasmuch as FP_EX_* are the same as FE_*. */
-#define FP_HANDLE_EXCEPTIONS __feraiseexcept_soft (_fex)
-
-#define FP_ROUNDMODE (fegetenv_register() & 0x3)
-#endif /* _SFP_MACHINE_H_ */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c
deleted file mode 100644
index 79398e3b1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 1997-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 <fenv_libc.h>
-
-int
-__FERAISEEXCEPT_INTERNAL (int excepts)
-{
- unsigned long f;
-
- f = fegetenv_register ();
- f |= (excepts & FE_ALL_EXCEPT);
- fesetenv_register (f);
-
- /* Force the operations that cause the exceptions. */
- if ((FE_INVALID & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* 0 / 0 */
- asm volatile ("efsdiv %0,%0,%1" : : "r" (0), "r" (0));
- }
-
- if ((FE_DIVBYZERO & excepts) != 0)
- {
- /* 1.0 / 0.0 */
- asm volatile ("efsdiv %0,%0,%1" : : "r" (1.0F), "r" (0));
- }
-
- if ((FE_OVERFLOW & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* Largest normalized number plus itself. */
- asm volatile ("efsadd %0,%0,%1" : : "r" (0x7f7fffff), "r" (0x7f7fffff));
- }
-
- if ((FE_UNDERFLOW & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* Smallest normalized number times itself. */
- asm volatile ("efsmul %0,%0,%1" : : "r" (0x800000), "r" (0x800000));
- }
-
- if ((FE_INEXACT & excepts) != 0)
- {
- /* Smallest normalized minus 1.0 raises the inexact flag. */
- asm volatile ("efssub %0,%0,%1" : : "r" (0x00800000), "r" (1.0F));
- }
-
- /* Success. */
- return 0;
-}
diff --git a/libc/ports/sysdeps/powerpc/preconfigure b/libc/ports/sysdeps/powerpc/preconfigure
deleted file mode 100644
index 57f24a086..000000000
--- a/libc/ports/sysdeps/powerpc/preconfigure
+++ /dev/null
@@ -1,20 +0,0 @@
-# Check for E500.
-
-case "$machine" in
-powerpc)
- if test "$with_fp" = "yes"; then
- variant=`(echo "#ifdef __NO_FPRS__"
- echo "#ifdef _SOFT_DOUBLE"
- echo "e500/single"
- echo "#else"
- echo "e500"
- echo "#endif"
- echo "#endif") |
- $CC $CFLAGS $CPPFLAGS -E - |
- grep '^[a-z]'`
- if test -n "$variant"; then
- base_machine=powerpc machine=powerpc/powerpc32/$variant
- fi
- fi
- ;;
-esac
diff --git a/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h b/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h
deleted file mode 100644
index 508d8698d..000000000
--- a/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#define _FP_W_TYPE_SIZE 32
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#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_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 << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Someone please check this. */
-#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)
-
-/* Exception flags. We use the bit positions of the appropriate bits
- in the FPSCR, which also correspond to the FE_* bits. This makes
- everything easier ;-). */
-#define FP_EX_INVALID (1 << (31 - 2))
-#define FP_EX_OVERFLOW (1 << (31 - 3))
-#define FP_EX_UNDERFLOW (1 << (31 - 4))
-#define FP_EX_DIVZERO (1 << (31 - 5))
-#define FP_EX_INEXACT (1 << (31 - 6))
-
-#define FP_HANDLE_EXCEPTIONS __simulate_exceptions (_fex)
-#define FP_ROUNDMODE __sim_round_mode
-#define FP_TRAPPING_EXCEPTIONS (~__sim_disabled_exceptions & 0x3e000000)
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-extern int __sim_exceptions;
-libc_hidden_proto (__sim_exceptions);
-extern int __sim_disabled_exceptions;
-libc_hidden_proto (__sim_disabled_exceptions);
-extern int __sim_round_mode;
-libc_hidden_proto (__sim_round_mode);
-
-extern void __simulate_exceptions (int x) attribute_hidden;