diff options
Diffstat (limited to 'libc/sysdeps')
82 files changed, 13908 insertions, 1188 deletions
diff --git a/libc/sysdeps/generic/ldconfig.h b/libc/sysdeps/generic/ldconfig.h index ca3f0e430..d96089d49 100644 --- a/libc/sysdeps/generic/ldconfig.h +++ b/libc/sysdeps/generic/ldconfig.h @@ -19,6 +19,8 @@ #ifndef _LDCONFIG_H #define _LDCONFIG_H +#include <stdint.h> + #define FLAG_ANY -1 #define FLAG_TYPE_MASK 0x00ff #define FLAG_LIBC4 0x0000 diff --git a/libc/sysdeps/generic/ldsodefs.h b/libc/sysdeps/generic/ldsodefs.h index a8d6852e1..3289afe1f 100644 --- a/libc/sysdeps/generic/ldsodefs.h +++ b/libc/sysdeps/generic/ldsodefs.h @@ -26,6 +26,7 @@ #define __need_NULL #include <stddef.h> #include <string.h> +#include <stdint.h> #include <elf.h> #include <dlfcn.h> @@ -647,6 +648,16 @@ extern char **_dl_argv #endif ; #ifdef IS_IN_rtld +extern unsigned int _dl_skip_args attribute_hidden +# ifndef DL_ARGV_NOT_RELRO + attribute_relro +# endif + ; +extern unsigned int _dl_skip_args_internal attribute_hidden +# ifndef DL_ARGV_NOT_RELRO + attribute_relro +# endif + ; extern char **_dl_argv_internal attribute_hidden # ifndef DL_ARGV_NOT_RELRO attribute_relro diff --git a/libc/sysdeps/generic/math_private.h b/libc/sysdeps/generic/math_private.h index 7661788e6..9d6ecade6 100644 --- a/libc/sysdeps/generic/math_private.h +++ b/libc/sysdeps/generic/math_private.h @@ -371,6 +371,18 @@ extern float __x2y2m1f (float x, float y); extern double __x2y2m1 (double x, double y); extern long double __x2y2m1l (long double x, long double y); +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ +extern float __gamma_productf (float x, float x_eps, int n, float *eps); +extern double __gamma_product (double x, double x_eps, int n, double *eps); +extern long double __gamma_productl (long double x, long double x_eps, + int n, long double *eps); + #ifndef math_opt_barrier # define math_opt_barrier(x) \ ({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; }) diff --git a/libc/sysdeps/generic/memusage.h b/libc/sysdeps/generic/memusage.h index 849f6e6bf..631287827 100644 --- a/libc/sysdeps/generic/memusage.h +++ b/libc/sysdeps/generic/memusage.h @@ -18,6 +18,7 @@ #include <limits.h> #include <atomic.h> +#include <stdint.h> #ifndef GETSP # warning "GETSP is not defined for this architecture." diff --git a/libc/sysdeps/generic/not-cancel.h b/libc/sysdeps/generic/not-cancel.h index 66882442c..d5e76d56c 100644 --- a/libc/sysdeps/generic/not-cancel.h +++ b/libc/sysdeps/generic/not-cancel.h @@ -44,3 +44,11 @@ __fcntl (fd, cmd, val) # define waitpid_not_cancel(pid, stat_loc, options) \ __waitpid (pid, stat_loc, options) +#define pause_not_cancel() \ + __pause () +#define nanosleep_not_cancel(requested_time, remaining) \ + __nanosleep (requested_time, remaining) +#define sigsuspend_not_cancel(set) \ + __sigsuspend (set) + +#define NO_CANCELLATION 1 diff --git a/libc/sysdeps/gnu/netinet/tcp.h b/libc/sysdeps/gnu/netinet/tcp.h index b62a696e5..b7bf9b38d 100644 --- a/libc/sysdeps/gnu/netinet/tcp.h +++ b/libc/sysdeps/gnu/netinet/tcp.h @@ -60,6 +60,7 @@ #define TCP_QUEUE_SEQ 21 /* Set sequence number of repaired queue. */ #define TCP_REPAIR_OPTIONS 22 /* Repair TCP connection options */ #define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ +#define TCP_TIMESTAMP 24 /* TCP time stamp */ #ifdef __USE_MISC # include <sys/types.h> diff --git a/libc/sysdeps/i386/fpu/libm-test-ulps b/libc/sysdeps/i386/fpu/libm-test-ulps index e36d0c374..3b8f2af08 100644 --- a/libc/sysdeps/i386/fpu/libm-test-ulps +++ b/libc/sysdeps/i386/fpu/libm-test-ulps @@ -3480,6 +3480,29 @@ double: 1 idouble: 1 # catan +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i) == -7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -7.853981633974483095919439232967553115548e-1 + 5.820766091346740722958646680334721192083e-11 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i) == -7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 + 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 + 3.725290298461913200853528590596263270474e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 + 1.0 i) == -7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 - 1.0 i) == -7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": ildouble: 1 ldouble: 1 @@ -3492,11 +3515,73 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i) == -1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 + 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 - 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16382 + 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-64 + 1.0 i) == -7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-64 - 1.0 i) == -7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-1.0 + 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i) == 7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 7.853981633974483095919439232967553115548e-1 + 5.820766091346740722958646680334721192083e-11 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i) == 7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 + 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 + 3.725290298461913200853528590596263270474e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 + 1.0 i) == 7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 - 1.0 i) == 7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": ildouble: 1 ldouble: 1 @@ -3509,8 +3594,65 @@ ldouble: 1 Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i) == 1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 + 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 - 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16382 + 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-64 + 1.0 i) == 7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-64 - 1.0 i) == 7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (1.0 + 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 # catanh +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": ildouble: 1 ldouble: 1 @@ -3523,6 +3665,42 @@ ldouble: 1 Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i) == -1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1p-13 + 1.0 i) == -6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-64 + 1.0 i) == -2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-64 - 1.0 i) == -2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i": double: 2 float: 1 @@ -3535,6 +3713,24 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": ildouble: 1 ldouble: 1 @@ -3547,6 +3743,58 @@ ldouble: 1 Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i) == 1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 + 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 - 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 + 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 + 0x1.0000000000001p0 i) == 3.725290298461913200853528590596263270474e-9 + 7.853981633974484345157511161499711112683e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 - 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 - 0x1.0000000000001p0 i) == 3.725290298461913200853528590596263270474e-9 - 7.853981633974484345157511161499711112683e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 5.820766091346740722958646680334721192083e-11 + 7.853981633974483095919439232967553115548e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 5.820766091346740722958646680334721192083e-11 - 7.853981633974483095919439232967553115548e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-64 + 1.0 i) == 2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-64 - 1.0 i) == 2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 # cbrt Test "cbrt (-27.0) == -3.0": @@ -5123,10 +5371,13 @@ ldouble: 1 # hypot Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271": float: 1 +ifloat: 1 Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271": float: 1 +ifloat: 1 Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271": float: 1 +ifloat: 1 Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271": float: 1 ifloat: 1 @@ -5138,6 +5389,7 @@ float: 1 ifloat: 1 Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271": float: 1 +ifloat: 1 Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271": float: 1 ifloat: 1 @@ -5917,6 +6169,379 @@ idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x0.ffffffffffffffffp0) == -1.8446744073709551616422784335098467139470e+19": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.000002p0) == 8.3886075772158332060084424806449513922858e+06": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.0a32a2p+5) == 1.8125267978155035272941154746083439329912e-37": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.5800000080001p+7) == -3.1439271448823567326093363350637118195240e-304": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1.fffffffffffffp0) == 2.2517998136852484613921675492337776673289e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffep0) == 2.1550026214525536756224040483579183652119e-13": +float: 1 +ifloat: 1 +Test "tgamma (-0x13.ffffffffffffffep0) == 2.3694367893405502075347562184931828448654e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffffffffffp0) == 1.1569515572952029402736625857313236848570e-04": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x14.000000000001p0) == -1.1569515572951781096476686854873801225397e-04": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1d.ffffep0) == 1.9765721589464867957912772592816027583176e-27": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.ffffffffffffffep0) == 2.1732499046818166459536268654187775086902e-15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.000000000000002p0) == -2.1732499046818166201837145753965837196590e-15": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1e.00002p0) == -1.9765463890341964384070157599286498212650e-27": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1f4.00000000000002p0) == -2.9528489142763131406565394149878256133744e-1118": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x1p-24) == -1.6777216577215723853867349114260580375249e+07": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000000004p0) == -2.3058430092136939515386078324507664305064e+18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000002p0) == -1.1258999068426235386078324507668462444260e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.000004p0) == -2.0971515386080557574407223895988378776747e+06": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.fffffcp0) == -6.9905087601970247876992248591045142913324e+05": +double: 1 +idouble: 1 +Test "tgamma (-0x27.ffffcp0) == 3.2129279441390812141195076945616975790225e-43": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.fffffffffffep0) == 1.7249032006742266376460389310340465554361e-34": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.000000000002p0) == -1.7249032006741359094184881234822934593822e-34": +double: 1 +idouble: 1 +Test "tgamma (-0x28.00004p0) == -3.2128372159115252365699015758097981155793e-43": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.ffffcp0) == -7.8364103489619817539676737414096652170685e-45": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.fffffffffffep0) == -4.2070809772542120404320040128839297118648e-36": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.ffffffffffffffcp0) == -8.6161018414163982777002940498289948893044e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.000000000000004p0) == 8.6161018414163980549537337663264762179535e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.000000000002p0) == 4.2070809772539892938717205103652583609422e-36": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.00004p0) == 7.8361876024016854597745353972619195760515e-45": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.ffffcp0) == 1.8658121573125798145204120066590953505132e-46": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.00004p0) == -1.8657587834931410688246126853566488626385e-46": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2ed.fffffffffffffcp0) == 6.9801511765871818502006905472380418430269e-1817": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.0000000000002p0) == 3.7529996894754112398038859470009084971438e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.000004p0) == 6.9905045731381300146131914617735687322025e+05": +double: 1 +idouble: 1 +Test "tgamma (-0x3.fffffcp0) == 1.7476272942159602684441970627092458855771e+05": +float: 1 +ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep0) == 9.3824992236885396088236184658402406857503e+13": +double: 1 +idouble: 1 +Test "tgamma (-0x3.fffffffffffffffcp0) == 1.9215358410114116272942156951799168638773e+17": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x31.fffffffffffep0) == 4.6273774273632946947805289899230181990085e-51": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000000004p0) == -9.4768689712397633101385547903658075308777e-48": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000002p0) == -4.6273774273630367887073532197576655720178e-51": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e7.fffffffffffffcp0) == 4.4768809295877296071892611539415773519036e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e8.00000000000004p0) == -4.4768809295877261735541135972060089530309e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.0000000000000008p0) == -9.6076792050570581270578430482008313684602e+16": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.000008p0) == -8.7381270578483499672965708923121931082305e+04": +float: 2 +ifloat: 2 +Test "tgamma (-0x4.fffff8p0) == -1.7476280884325863043793087474680780379554e+04": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.ffffffffffffcp0) == -9.3824992236885475509805702650262155809819e+12": +double: 1 +idouble: 1 +Test "tgamma (-0x4e2.00000000000008p0) == -5.4651488569236421026544487194247355967789e-3315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000000008p0) == 1.9215358410114116252449019429734996071487e+16": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000004p0) == 9.3824992236885191156860964016850034672946e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.000008p0) == 1.7476252449031389167286893378510439443844e+04": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.fffff8p0) == 2.9127137122026653716311560165769071985443e+03": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x5.ffffffffffffcp0) == 1.5637498706147581566449098589862357835505e+12": +double: 1 +idouble: 1 +Test "tgamma (-0x5db.fffffffffffff8p0) == 1.8718211510339187689122114747834510481993e-4099": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.0000000000000008p0) == -3.2025597350190193751766884234743511972877e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.000008p0) == -2.9127085100239567622341538102130981196910e+03": +double: 1 +idouble: 1 +Test "tgamma (-0x6.fffff8p0) == -4.1610198723079349791939054365613377035519e+02": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6.ffffffffffffcp0) == -2.2339283865925119357965832452642909859289e+11": +double: 3 +idouble: 3 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.fffffffffffcp0) == 7.5400833348840965463348754984345825364294e-145": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.ffffffffffffff8p0) == 1.5442090669841618542494279375256856430049e-141": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000000008p0) == -1.5442090669841617554527108348771968070612e-141": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000004p0) == -7.5400833348831085791638490135462230991587e-145": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6d6.00000000000008p0) == -4.2925786447266421378134368786479937285900e-4902": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000000008p0) == 4.5750853357414562499689653215166468353753e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000004p0) == 2.2339283865925039372192897706214475877342e+11": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.000008p0) == 4.1610118737306415004517215226199741948733e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.fffff8p0) == 5.2012751504050764429534086402871289946986e+01": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.ffffffffffffcp0) == 2.7924104832406402297655703264222230055898e+10": +double: 2 +idouble: 2 +Test "tgamma (-0x7.fffffffffffffff8p0) == 5.7188566696768203227694481100089533685959e+13": +ildouble: 4 +ldouble: 4 +Test "tgamma (-0x8.000000000000001p0) == -2.8594283348384101534210280804672371201060e+13": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x8.00001p0) == -2.6006296115134418896533598545925084576702e+01": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.ffffffffffff8p0) == 1.5513391573559147700413058496716749249803e+08": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x95.fffffffffff8p0) == 6.1582369322723207086020016423767264008839e-250": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x95.ffffffffffffffp0) == 1.2612069237291916400144732227892704713839e-246": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.000000000008p0) == -6.1582369322705655439003240743176243138734e-250": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xa.000000000000001p0) == -3.1771425942649001698860433502350057763905e+11": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xa.0000000000008p0) == -1.5513391573559018084419393002828541166901e+08": +double: 1 +idouble: 1 +Test "tgamma (-0xa.00001p0) == -2.8895878754728051776830454190076999107021e-01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb4.ffffffffffffffp0) == -1.9816628031468191243385005680879281767694e-315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.00000000000001p0) == 1.9816628031468188382579700510291588022368e-315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.000000000008p0) == 9.6760879059888966544677044221698800670218e-319": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb5.ffffffffffffffp0) == 1.0888257160147357826865964233809723297472e-317": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.00000000000001p0) == -1.0888257160147356253334423783317128355514e-317": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.fffffffffff8p0) == -2.9052086428846935908287469917922960610289e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.ffffffffffffffp0) == -5.9498673006269714905418984659220067091260e-320": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.fffffffffff8p0) == 1.5789177406982032823826953250736039527543e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.ffffffffffffffp0) == 3.2336235329494410277123118903958061569834e-322": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb8.000000000008p0) == -1.5789177406977349925854817486109369828857e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbb.ffffffffffffffp0) == 2.6730392040715350119087465463119939092815e-331": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbc.00000000000001p0) == -2.6730392040715346232108532050343031951651e-331": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0xbd.00000000000001p0) == 1.4143064571807061497431633629389135273431e-333": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.00000000000001p0) == -7.4437181956879271033676895858841525581153e-336": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.ffffffffffffffp0) == -3.8972346574282346536709453101948570578636e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbf.00000000000001p0) == 3.8972346574282340852496542564155275274974e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf9.ffffffffffffffp0) == 2.2289142548411573883553287678043297937797e-476": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xfa.00000000000001p0) == -2.2289142548411570466476165308364665814265e-476": +ildouble: 1 +ldouble: 1 +Test "tgamma (-1.5) == 2.3632718012073547030642233111215269103967e+00": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-2.5) == -9.4530872048294188122568932444861076415869e-01": +double: 1 +idouble: 1 +Test "tgamma (-4.5) == -6.0019601300504246427027893615784810422774e-02": +ildouble: 1 +ldouble: 1 +Test "tgamma (-5.5) == 1.0912654781909862986732344293779056440504e-02": +float: 1 +ifloat: 1 +Test "tgamma (-6.5) == -1.6788699664476712287280529682737009908468e-03": +float: 1 +ifloat: 1 +Test "tgamma (-7.5) == 2.2384932885968949716374039576982679877958e-04": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-8.5) == -2.6335215159963470254557693619979623385833e-05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-9.5) == 2.7721279115751021320587045915768024616666e-06": +ildouble: 2 +ldouble: 2 Test "tgamma (0.5) == sqrt (pi)": float: 1 ifloat: 1 @@ -5925,7 +6550,218 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.fffffep0) == 9.9999994960018563231526611134590489120697e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.fffffffffffffffep0) == 9.9999999999999999995416163053934024243282e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1p-24) == 1.6777215422784394050795179874582764575261e+07": +float: 1 +ifloat: 1 +Test "tgamma (0x1p-53) == 9.0071992547409914227843350984672492007618e+15": +double: 1 +idouble: 1 +Test "tgamma (0x1p-64) == 1.8446744073709551615422784335098467139447e+19": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.0000000000002p0) == 1.0000000000000001877539613108624482361963e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.000004p0) == 1.0000001007996638509889062631687945799175e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.30a43cp+4) == 3.4027979115654976101247558405326779640190e+38": +double: 1 +idouble: 1 +Test "tgamma (0x2.fffffcp0) == 1.9999995599822108706107786027549565954046e+00": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.ffffffffffffep0) == 1.9999999999999991804028675282128956223990e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.0000000000002p0) == 2.0000000000000008195971324717875960213536e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffcp0) == 5.9999982031095793171233994481968816873643e+00": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffffffffffffcp0) == 5.9999999999999999983657373939865784753909e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.0000000000000008p0) == 6.0000000000000000032685252120268430507939e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.000008p0) == 6.0000035937827461765660468073471093546129e+00": +float: 1 +ifloat: 1 +Test "tgamma (0x4.fffff8p0) == 2.3999982763857938712639837029547357501709e+01": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.fffffffffffffff8p0) == 2.3999999999999999984323813937927417165027e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000000008p0) == 2.4000000000000000015676186062072582846211e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.000008p0) == 2.4000017236155647574166073485628713443799e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.fffff8p0) == 1.1999990237520611552119807476573441975106e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.ffffffffffffcp0) == 1.1999999999999981815957265157389249327533e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000000008p0) == 1.2000000000000000008878927116622375680433e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.000008p0) == 1.2000009762487825358530770343720418162783e+02": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.fffff8p0) == 7.1999935703082425988147448928288557689866e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.ffffffffffffcp0) == 7.1999999999999880237602554542848858572672e+02": +double: 3 +idouble: 3 +Test "tgamma (0x7.0000000000000008p0) == 7.2000000000000000058477733127664675369681e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000004p0) == 7.2000000000000119762397445457359071259652e+02": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.000008p0) == 7.2000064296977505705636258629805621178587e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.fffff8p0) == 5.0399951558933225045148935487583089307135e+03": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.ffffffffffffcp0) == 5.0399999999999909771437166339103165198442e+03": +double: 2 +idouble: 2 +Test "tgamma (0x7.fffffffffffffff8p0) == 5.0399999999999999955943084553876474508520e+03": +ildouble: 3 +ldouble: 3 +Test "tgamma (0x8.000000000000001p0) == 5.0400000000000000088113830892247051102283e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.0000000000008p0) == 5.0400000000000180457125667322294144477136e+03": +double: 1 +idouble: 1 +Test "tgamma (0x8.00001p0) == 5.0400096882277802019946778420223050233915e+03": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd72b0fb238p+4) == 1.7976931348622298700886249281842651388250e+308": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (10) == 362880": +double: 1 +idouble: 1 +Test "tgamma (18.5) == 1.4986120533153361177371791123515513270334e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (19.5) == 2.7724322986333718178137813578503699550119e+16": +double: 1 +idouble: 1 +Test "tgamma (2.5) == 1.3293403881791370204736256125058588870982e+00": +float: 1 +ifloat: 1 +Test "tgamma (23.5) == 5.3613035875444147334274983856108155717836e+21": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (29.5) == 1.6348125198274266444378807806868221866931e+30": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (3) == 2": +float: 1 +ifloat: 1 +Test "tgamma (3.5) == 3.3233509704478425511840640312646472177454e+00": +float: 1 +ifloat: 1 +Test "tgamma (30.5) == 4.8226969334909086010917483030261254507447e+31": +float: 1 +ifloat: 1 +Test "tgamma (31.5) == 1.4709225647147271233329832324229682624771e+33": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (32.5) == 4.6334060788513904384988971821323500268029e+34": +ildouble: 1 +ldouble: 1 +Test "tgamma (34.5) == 5.0446208683494513399156743070465960916817e+37": +ildouble: 1 +ldouble: 1 Test "tgamma (4) == 6": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (4.5) == 1.1631728396567448929144224109426265262109e+01": +double: 1 +idouble: 1 +Test "tgamma (5.5) == 5.2342777784553520181149008492418193679490e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (6.5) == 2.8788527781504436099631954670830006523720e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (7.5) == 1.8712543057977883464760770536039504240418e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (8) == 5040": +ildouble: 1 +ldouble: 1 +Test "tgamma (8.5) == 1.4034407293483412598570577902029628180313e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (9) == 40320": +ildouble: 1 +ldouble: 1 +Test "tgamma (9.5) == 1.1929246199460900708784991216725183953266e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 @@ -6855,12 +7691,12 @@ ildouble: 2 ldouble: 2 Function: "tgamma": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 +double: 4 +float: 2 +idouble: 4 +ifloat: 2 +ildouble: 4 +ldouble: 4 Function: "y0": double: 2 diff --git a/libc/sysdeps/ieee754/dbl-64/e_gamma_r.c b/libc/sysdeps/ieee754/dbl-64/e_gamma_r.c index 987355175..5b17f7b5a 100644 --- a/libc/sysdeps/ieee754/dbl-64/e_gamma_r.c +++ b/libc/sysdeps/ieee754/dbl-64/e_gamma_r.c @@ -19,14 +19,104 @@ #include <math.h> #include <math_private.h> +#include <float.h> +/* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's + approximation to gamma function. */ + +static const double gamma_coeff[] = + { + 0x1.5555555555555p-4, + -0xb.60b60b60b60b8p-12, + 0x3.4034034034034p-12, + -0x2.7027027027028p-12, + 0x3.72a3c5631fe46p-12, + -0x7.daac36664f1f4p-12, + }; + +#define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0])) + +/* Return gamma (X), for positive X less than 184, in the form R * + 2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to + avoid overflow or underflow in intermediate calculations. */ + +static double +gamma_positive (double x, int *exp2_adj) +{ + int local_signgam; + if (x < 0.5) + { + *exp2_adj = 0; + return __ieee754_exp (__ieee754_lgamma_r (x + 1, &local_signgam)) / x; + } + else if (x <= 1.5) + { + *exp2_adj = 0; + return __ieee754_exp (__ieee754_lgamma_r (x, &local_signgam)); + } + else if (x < 6.5) + { + /* Adjust into the range for using exp (lgamma). */ + *exp2_adj = 0; + double n = __ceil (x - 1.5); + double x_adj = x - n; + double eps; + double prod = __gamma_product (x_adj, 0, n, &eps); + return (__ieee754_exp (__ieee754_lgamma_r (x_adj, &local_signgam)) + * prod * (1.0 + eps)); + } + else + { + double eps = 0; + double x_eps = 0; + double x_adj = x; + double prod = 1; + if (x < 12.0) + { + /* Adjust into the range for applying Stirling's + approximation. */ + double n = __ceil (12.0 - x); +#if FLT_EVAL_METHOD != 0 + volatile +#endif + double x_tmp = x + n; + x_adj = x_tmp; + x_eps = (x - (x_adj - n)); + prod = __gamma_product (x_adj - n, x_eps, n, &eps); + } + /* The result is now gamma (X_ADJ + X_EPS) / (PROD * (1 + EPS)). + Compute gamma (X_ADJ + X_EPS) using Stirling's approximation, + starting by computing pow (X_ADJ, X_ADJ) with a power of 2 + factored out. */ + double exp_adj = -eps; + double x_adj_int = __round (x_adj); + double x_adj_frac = x_adj - x_adj_int; + int x_adj_log2; + double x_adj_mant = __frexp (x_adj, &x_adj_log2); + if (x_adj_mant < M_SQRT1_2) + { + x_adj_log2--; + x_adj_mant *= 2.0; + } + *exp2_adj = x_adj_log2 * (int) x_adj_int; + double ret = (__ieee754_pow (x_adj_mant, x_adj) + * __ieee754_exp2 (x_adj_log2 * x_adj_frac) + * __ieee754_exp (-x_adj) + * __ieee754_sqrt (2 * M_PI / x_adj) + / prod); + exp_adj += x_eps * __ieee754_log (x); + double bsum = gamma_coeff[NCOEFF - 1]; + double x_adj2 = x_adj * x_adj; + for (size_t i = 1; i <= NCOEFF - 1; i++) + bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i]; + exp_adj += bsum / x_adj; + return ret + ret * __expm1 (exp_adj); + } +} double __ieee754_gamma_r (double x, int *signgamp) { - /* We don't have a real gamma implementation now. We'll use lgamma - and the exp function. But due to the required boundary - conditions we must check some values separately. */ int32_t hx; u_int32_t lx; @@ -51,8 +141,48 @@ __ieee754_gamma_r (double x, int *signgamp) *signgamp = 0; return x - x; } + if (__builtin_expect ((hx & 0x7ff00000) == 0x7ff00000, 0)) + { + /* Positive infinity (return positive infinity) or NaN (return + NaN). */ + *signgamp = 0; + return x + x; + } - /* XXX FIXME. */ - return __ieee754_exp (__ieee754_lgamma_r (x, signgamp)); + if (x >= 172.0) + { + /* Overflow. */ + *signgamp = 0; + return DBL_MAX * DBL_MAX; + } + else if (x > 0.0) + { + *signgamp = 0; + int exp2_adj; + double ret = gamma_positive (x, &exp2_adj); + return __scalbn (ret, exp2_adj); + } + else if (x >= -DBL_EPSILON / 4.0) + { + *signgamp = 0; + return 1.0 / x; + } + else + { + double tx = __trunc (x); + *signgamp = (tx == 2.0 * __trunc (tx / 2.0)) ? -1 : 1; + if (x <= -184.0) + /* Underflow. */ + return DBL_MIN * DBL_MIN; + double frac = tx - x; + if (frac > 0.5) + frac = 1.0 - frac; + double sinpix = (frac <= 0.25 + ? __sin (M_PI * frac) + : __cos (M_PI * (0.5 - frac))); + int exp2_adj; + double ret = M_PI / (-x * sinpix * gamma_positive (-x, &exp2_adj)); + return __scalbn (ret, -exp2_adj); + } } strong_alias (__ieee754_gamma_r, __gamma_r_finite) diff --git a/libc/sysdeps/ieee754/dbl-64/e_remainder.c b/libc/sysdeps/ieee754/dbl-64/e_remainder.c index 39ca0c2d0..2d20bb1df 100644 --- a/libc/sysdeps/ieee754/dbl-64/e_remainder.c +++ b/libc/sysdeps/ieee754/dbl-64/e_remainder.c @@ -51,6 +51,7 @@ double __ieee754_remainder(double x, double y) ky=t.i[HIGH_HALF]; /*------ |x| < 2^1023 and 2^-970 < |y| < 2^1024 ------------------*/ if (kx<0x7fe00000 && ky<0x7ff00000 && ky>=0x03500000) { + SET_RESTORE_ROUND_NOEX (FE_TONEAREST); if (kx+0x00100000<ky) return x; if ((kx-0x01500000)<ky) { z=x/t.x; diff --git a/libc/sysdeps/ieee754/dbl-64/gamma_product.c b/libc/sysdeps/ieee754/dbl-64/gamma_product.c new file mode 100644 index 000000000..2a3fc1aff --- /dev/null +++ b/libc/sysdeps/ieee754/dbl-64/gamma_product.c @@ -0,0 +1,75 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> +#include <float.h> + +/* Calculate X * Y exactly and store the result in *HI + *LO. It is + given that the values are small enough that no overflow occurs and + large enough (or zero) that no underflow occurs. */ + +static void +mul_split (double *hi, double *lo, double x, double y) +{ +#ifdef __FP_FAST_FMA + /* Fast built-in fused multiply-add. */ + *hi = x * y; + *lo = __builtin_fma (x, y, -*hi); +#elif defined FP_FAST_FMA + /* Fast library fused multiply-add, compiler before GCC 4.6. */ + *hi = x * y; + *lo = __fma (x, y, -*hi); +#else + /* Apply Dekker's algorithm. */ + *hi = x * y; +# define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1) + double x1 = x * C; + double y1 = y * C; +# undef C + x1 = (x - x1) + x1; + y1 = (y - y1) + y1; + double x2 = x - x1; + double y2 = y - y1; + *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2; +#endif +} + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +double +__gamma_product (double x, double x_eps, int n, double *eps) +{ + SET_RESTORE_ROUND (FE_TONEAREST); + double ret = x; + *eps = x_eps / x; + for (int i = 1; i < n; i++) + { + *eps += x_eps / (x + i); + double lo; + mul_split (&ret, &lo, ret, x + i); + *eps += lo / ret; + } + return ret; +} diff --git a/libc/sysdeps/ieee754/dbl-64/gamma_productf.c b/libc/sysdeps/ieee754/dbl-64/gamma_productf.c new file mode 100644 index 000000000..46072f16e --- /dev/null +++ b/libc/sysdeps/ieee754/dbl-64/gamma_productf.c @@ -0,0 +1,46 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> +#include <float.h> + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +float +__gamma_productf (float x, float x_eps, int n, float *eps) +{ + double x_full = (double) x + (double) x_eps; + double ret = x_full; + for (int i = 1; i < n; i++) + ret *= x_full + i; + +#if FLT_EVAL_METHOD != 0 + volatile +#endif + float fret = ret; + *eps = (ret - fret) / fret; + + return fret; +} diff --git a/libc/sysdeps/ieee754/dbl-64/s_sin.c b/libc/sysdeps/ieee754/dbl-64/s_sin.c index 5038b7261..5c388c8b9 100644 --- a/libc/sysdeps/ieee754/dbl-64/s_sin.c +++ b/libc/sysdeps/ieee754/dbl-64/s_sin.c @@ -66,299 +66,359 @@ extern const union } __sincostab attribute_hidden; static const double - sn3 = -1.66666666666664880952546298448555E-01, - sn5 = 8.33333214285722277379541354343671E-03, - cs2 = 4.99999999999999999999950396842453E-01, - cs4 = -4.16666666666664434524222570944589E-02, - cs6 = 1.38888874007937613028114285595617E-03; - -void __dubsin(double x, double dx, double w[]); -void __docos(double x, double dx, double w[]); -double __mpsin(double x, double dx); -double __mpcos(double x, double dx); -double __mpsin1(double x); -double __mpcos1(double x); -static double slow(double x); -static double slow1(double x); -static double slow2(double x); -static double sloww(double x, double dx, double orig); -static double sloww1(double x, double dx, double orig); -static double sloww2(double x, double dx, double orig, int n); -static double bsloww(double x, double dx, double orig, int n); -static double bsloww1(double x, double dx, double orig, int n); -static double bsloww2(double x, double dx, double orig, int n); -int __branred(double x, double *a, double *aa); -static double cslow2(double x); -static double csloww(double x, double dx, double orig); -static double csloww1(double x, double dx, double orig); -static double csloww2(double x, double dx, double orig, int n); + sn3 = -1.66666666666664880952546298448555E-01, + sn5 = 8.33333214285722277379541354343671E-03, + cs2 = 4.99999999999999999999950396842453E-01, + cs4 = -4.16666666666664434524222570944589E-02, + cs6 = 1.38888874007937613028114285595617E-03; + +void __dubsin (double x, double dx, double w[]); +void __docos (double x, double dx, double w[]); +double __mpsin (double x, double dx); +double __mpcos (double x, double dx); +double __mpsin1 (double x); +double __mpcos1 (double x); +static double slow (double x); +static double slow1 (double x); +static double slow2 (double x); +static double sloww (double x, double dx, double orig); +static double sloww1 (double x, double dx, double orig); +static double sloww2 (double x, double dx, double orig, int n); +static double bsloww (double x, double dx, double orig, int n); +static double bsloww1 (double x, double dx, double orig, int n); +static double bsloww2 (double x, double dx, double orig, int n); +int __branred (double x, double *a, double *aa); +static double cslow2 (double x); +static double csloww (double x, double dx, double orig); +static double csloww1 (double x, double dx, double orig); +static double csloww2 (double x, double dx, double orig, int n); + /*******************************************************************/ /* An ultimate sin routine. Given an IEEE double machine number x */ /* it computes the correctly rounded (to nearest) value of sin(x) */ /*******************************************************************/ double SECTION -__sin(double x){ - double xx,res,t,cor,y,s,c,sn,ssn,cs,ccs,xn,a,da,db,eps,xn1,xn2; - mynumber u,v; - int4 k,m,n; - double retval = 0; - - SET_RESTORE_ROUND_53BIT (FE_TONEAREST); - - u.x = x; - m = u.i[HIGH_HALF]; - k = 0x7fffffff&m; /* no sign */ - if (k < 0x3e500000) /* if x->0 =>sin(x)=x */ - { retval = x; goto ret; } +__sin (double x) +{ + double xx, res, t, cor, y, s, c, sn, ssn, cs, ccs, xn, a, da, db, eps, xn1, + xn2; + mynumber u, v; + int4 k, m, n; + double retval = 0; + + SET_RESTORE_ROUND_53BIT (FE_TONEAREST); + + u.x = x; + m = u.i[HIGH_HALF]; + k = 0x7fffffff & m; /* no sign */ + if (k < 0x3e500000) /* if x->0 =>sin(x)=x */ + { + retval = x; + goto ret; + } /*---------------------------- 2^-26 < |x|< 0.25 ----------------------*/ - else if (k < 0x3fd00000){ - xx = x*x; - /*Taylor series */ - t = ((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*(xx*x); - res = x+t; - cor = (x-res)+t; - retval = (res == res + 1.07*cor)? res : slow(x); - goto ret; - } /* else if (k < 0x3fd00000) */ + else if (k < 0x3fd00000) + { + xx = x * x; + /*Taylor series. */ + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + s1.x) + * (xx * x)); + res = x + t; + cor = (x - res) + t; + retval = (res == res + 1.07 * cor) ? res : slow (x); + goto ret; + } /* else if (k < 0x3fd00000) */ /*---------------------------- 0.25<|x|< 0.855469---------------------- */ - else if (k < 0x3feb6000) { - u.x=(m>0)?big.x+x:big.x-x; - y=(m>0)?x-(u.x-big.x):x+(u.x-big.x); - xx=y*y; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=(m>0)?__sincostab.x[k]:-__sincostab.x[k]; - ssn=(m>0)?__sincostab.x[k+1]:-__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - retval = (res==res+1.096*cor)? res : slow1(x); - goto ret; - } /* else if (k < 0x3feb6000) */ + else if (k < 0x3feb6000) + { + u.x = (m > 0) ? big.x + x : big.x - x; + y = (m > 0) ? x - (u.x - big.x) : x + (u.x - big.x); + xx = y * y; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = (m > 0) ? __sincostab.x[k] : -__sincostab.x[k]; + ssn = (m > 0) ? __sincostab.x[k + 1] : -__sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + retval = (res == res + 1.096 * cor) ? res : slow1 (x); + goto ret; + } /* else if (k < 0x3feb6000) */ /*----------------------- 0.855469 <|x|<2.426265 ----------------------*/ - else if (k < 0x400368fd ) { - - y = (m>0)? hp0.x-x:hp0.x+x; - if (y>=0) { - u.x = big.x+y; - y = (y-(u.x-big.x))+hp1.x; - } - else { - u.x = big.x-y; - y = (-hp1.x) - (y+(u.x-big.x)); - } - xx=y*y; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - retval = (res==res+1.020*cor)? ((m>0)?res:-res) : slow2(x); - goto ret; - } /* else if (k < 0x400368fd) */ + else if (k < 0x400368fd) + { + + y = (m > 0) ? hp0.x - x : hp0.x + x; + if (y >= 0) + { + u.x = big.x + y; + y = (y - (u.x - big.x)) + hp1.x; + } + else + { + u.x = big.x - y; + y = (-hp1.x) - (y + (u.x - big.x)); + } + xx = y * y; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + retval = (res == res + 1.020 * cor) ? ((m > 0) ? res : -res) : slow2 (x); + goto ret; + } /* else if (k < 0x400368fd) */ /*-------------------------- 2.426265<|x|< 105414350 ----------------------*/ - else if (k < 0x419921FB ) { - t = (x*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - y = (x - xn*mp1.x) - xn*mp2.x; - n =v.i[LOW_HALF]&3; - da = xn*mp3.x; - a=y-da; - da = (y-a)-da; - eps = ABS(x)*1.2e-30; - - switch (n) { /* quarter of unit circle */ - case 0: - case 2: - xx = a*a; - if (n) {a=-a;da=-da;} - if (xx < 0.01588) { - /*Taylor series */ - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*a - 0.5*da)*xx+da; - res = a+t; - cor = (a-res)+t; - cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps; - retval = (res == res + cor)? res : sloww(a,da,x); + else if (k < 0x419921FB) + { + t = (x * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + y = (x - xn * mp1.x) - xn * mp2.x; + n = v.i[LOW_HALF] & 3; + da = xn * mp3.x; + a = y - da; + da = (y - a) - da; + eps = ABS (x) * 1.2e-30; + + switch (n) + { /* quarter of unit circle */ + case 0: + case 2: + xx = a * a; + if (n) + { + a = -a; + da = -da; + } + if (xx < 0.01588) + { + /*Taylor series */ + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + + s1.x) * a - 0.5 * da) * xx + da; + res = a + t; + cor = (a - res) + t; + cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps; + retval = (res == res + cor) ? res : sloww (a, da, x); goto ret; } - else { - if (a>0) - {m=1;t=a;db=da;} + else + { + if (a > 0) + { + m = 1; + t = a; + db = da; + } else - {m=0;t=-a;db=-da;} - u.x=big.x+t; - y=t-(u.x-big.x); - xx=y*y; - s = y + (db+y*xx*(sn3 +xx*sn5)); - c = y*db+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps; - retval = (res==res+cor)? ((m)?res:-res) : sloww1(a,da,x); + { + m = 0; + t = -a; + db = -da; + } + u.x = big.x + t; + y = t - (u.x - big.x); + xx = y * y; + s = y + (db + y * xx * (sn3 + xx * sn5)); + c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) + : sloww1 (a, da, x)); goto ret; } - break; - - case 1: - case 3: - if (a<0) - {a=-a;da=-da;} - u.x=big.x+a; - y=a-(u.x-big.x)+da; - xx=y*y; - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps; - retval = (res==res+cor)? ((n&2)?-res:res) : sloww2(a,da,x,n); - goto ret; - - break; - - } - - } /* else if (k < 0x419921FB ) */ + break; + + case 1: + case 3: + if (a < 0) + { + a = -a; + da = -da; + } + u.x = big.x + a; + y = a - (u.x - big.x) + da; + xx = y * y; + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps; + retval = ((res == res + cor) ? ((n & 2) ? -res : res) + : sloww2 (a, da, x, n)); + goto ret; + + break; + } + + } /* else if (k < 0x419921FB ) */ /*---------------------105414350 <|x|< 281474976710656 --------------------*/ - else if (k < 0x42F00000 ) { - t = (x*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - xn1 = (xn+8.0e22)-8.0e22; - xn2 = xn - xn1; - y = ((((x - xn1*mp1.x) - xn1*mp2.x)-xn2*mp1.x)-xn2*mp2.x); - n =v.i[LOW_HALF]&3; - da = xn1*pp3.x; - t=y-da; - da = (y-t)-da; - da = (da - xn2*pp3.x) -xn*pp4.x; - a = t+da; - da = (t-a)+da; - eps = 1.0e-24; - - switch (n) { - case 0: - case 2: - xx = a*a; - if (n) {a=-a;da=-da;} - if (xx < 0.01588) { + else if (k < 0x42F00000) + { + t = (x * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + xn1 = (xn + 8.0e22) - 8.0e22; + xn2 = xn - xn1; + y = ((((x - xn1 * mp1.x) - xn1 * mp2.x) - xn2 * mp1.x) - xn2 * mp2.x); + n = v.i[LOW_HALF] & 3; + da = xn1 * pp3.x; + t = y - da; + da = (y - t) - da; + da = (da - xn2 * pp3.x) - xn * pp4.x; + a = t + da; + da = (t - a) + da; + eps = 1.0e-24; + + switch (n) + { + case 0: + case 2: + xx = a * a; + if (n) + { + a = -a; + da = -da; + } + if (xx < 0.01588) + { /* Taylor series */ - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*a - 0.5*da)*xx+da; - res = a+t; - cor = (a-res)+t; - cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps; - retval = (res == res + cor)? res : bsloww(a,da,x,n); + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + + s1.x) * a - 0.5 * da) * xx + da; + res = a + t; + cor = (a - res) + t; + cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps; + retval = (res == res + cor) ? res : bsloww (a, da, x, n); goto ret; } - else { - if (a>0) {m=1;t=a;db=da;} - else {m=0;t=-a;db=-da;} - u.x=big.x+t; - y=t-(u.x-big.x); - xx=y*y; - s = y + (db+y*xx*(sn3 +xx*sn5)); - c = y*db+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps; - retval = (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n); + else + { + if (a > 0) + { + m = 1; + t = a; + db = da; + } + else + { + m = 0; + t = -a; + db = -da; + } + u.x = big.x + t; + y = t - (u.x - big.x); + xx = y * y; + s = y + (db + y * xx * (sn3 + xx * sn5)); + c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) + : bsloww1 (a, da, x, n)); goto ret; - } - break; - - case 1: - case 3: - if (a<0) - {a=-a;da=-da;} - u.x=big.x+a; - y=a-(u.x-big.x)+da; - xx=y*y; - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps; - retval = (res==res+cor)? ((n&2)?-res:res) : bsloww2(a,da,x,n); - goto ret; - - break; - - } - - } /* else if (k < 0x42F00000 ) */ + } + break; + + case 1: + case 3: + if (a < 0) + { + a = -a; + da = -da; + } + u.x = big.x + a; + y = a - (u.x - big.x) + da; + xx = y * y; + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps; + retval = ((res == res + cor) ? ((n & 2) ? -res : res) + : bsloww2 (a, da, x, n)); + goto ret; + + break; + } + } /* else if (k < 0x42F00000 ) */ /* -----------------281474976710656 <|x| <2^1024----------------------------*/ - else if (k < 0x7ff00000) { - - n = __branred(x,&a,&da); - switch (n) { - case 0: - if (a*a < 0.01588) retval = bsloww(a,da,x,n); - else retval = bsloww1(a,da,x,n); - goto ret; - break; - case 2: - if (a*a < 0.01588) retval = bsloww(-a,-da,x,n); - else retval = bsloww1(-a,-da,x,n); - goto ret; - break; - - case 1: - case 3: - retval = bsloww2(a,da,x,n); - goto ret; - break; - } - - } /* else if (k < 0x7ff00000 ) */ + else if (k < 0x7ff00000) + { + n = __branred (x, &a, &da); + switch (n) + { + case 0: + if (a * a < 0.01588) + retval = bsloww (a, da, x, n); + else + retval = bsloww1 (a, da, x, n); + goto ret; + break; + case 2: + if (a * a < 0.01588) + retval = bsloww (-a, -da, x, n); + else + retval = bsloww1 (-a, -da, x, n); + goto ret; + break; -/*--------------------- |x| > 2^1024 ----------------------------------*/ - else { - if (k == 0x7ff00000 && u.i[LOW_HALF] == 0) - __set_errno (EDOM); - retval = x / x; + case 1: + case 3: + retval = bsloww2 (a, da, x, n); goto ret; + break; } + } /* else if (k < 0x7ff00000 ) */ + +/*--------------------- |x| > 2^1024 ----------------------------------*/ + else + { + if (k == 0x7ff00000 && u.i[LOW_HALF] == 0) + __set_errno (EDOM); + retval = x / x; + goto ret; + } - ret: - return retval; +ret: + return retval; } @@ -369,11 +429,12 @@ __sin(double x){ double SECTION -__cos(double x) +__cos (double x) { - double y,xx,res,t,cor,s,c,sn,ssn,cs,ccs,xn,a,da,db,eps,xn1,xn2; - mynumber u,v; - int4 k,m,n; + double y, xx, res, t, cor, s, c, sn, ssn, cs, ccs, xn, a, da, db, eps, xn1, + xn2; + mynumber u, v; + int4 k, m, n; double retval = 0; @@ -381,251 +442,318 @@ __cos(double x) u.x = x; m = u.i[HIGH_HALF]; - k = 0x7fffffff&m; - - if (k < 0x3e400000 ) { retval = 1.0; goto ret; } /* |x|<2^-27 => cos(x)=1 */ - - else if (k < 0x3feb6000 ) {/* 2^-27 < |x| < 0.855469 */ - y=ABS(x); - u.x = big.x+y; - y = y-(u.x-big.x); - xx=y*y; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - retval = (res==res+1.020*cor)? res : cslow2(x); - goto ret; - -} /* else if (k < 0x3feb6000) */ - - else if (k < 0x400368fd ) {/* 0.855469 <|x|<2.426265 */; - y=hp0.x-ABS(x); - a=y+hp1.x; - da=(y-a)+hp1.x; - xx=a*a; - if (xx < 0.01588) { - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*a - 0.5*da)*xx+da; - res = a+t; - cor = (a-res)+t; - cor = (cor>0)? 1.02*cor+1.0e-31 : 1.02*cor -1.0e-31; - retval = (res == res + cor)? res : csloww(a,da,x); - goto ret; - } - else { - if (a>0) {m=1;t=a;db=da;} - else {m=0;t=-a;db=-da;} - u.x=big.x+t; - y=t-(u.x-big.x); - xx=y*y; - s = y + (db+y*xx*(sn3 +xx*sn5)); - c = y*db+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - cor = (cor>0)? 1.035*cor+1.0e-31 : 1.035*cor-1.0e-31; - retval = (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x); - goto ret; -} + k = 0x7fffffff & m; -} /* else if (k < 0x400368fd) */ - - - else if (k < 0x419921FB ) {/* 2.426265<|x|< 105414350 */ - t = (x*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - y = (x - xn*mp1.x) - xn*mp2.x; - n =v.i[LOW_HALF]&3; - da = xn*mp3.x; - a=y-da; - da = (y-a)-da; - eps = ABS(x)*1.2e-30; - - switch (n) { - case 1: - case 3: - xx = a*a; - if (n == 1) {a=-a;da=-da;} - if (xx < 0.01588) { - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*a - 0.5*da)*xx+da; - res = a+t; - cor = (a-res)+t; - cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps; - retval = (res == res + cor)? res : csloww(a,da,x); - goto ret; - } - else { - if (a>0) {m=1;t=a;db=da;} - else {m=0;t=-a;db=-da;} - u.x=big.x+t; - y=t-(u.x-big.x); - xx=y*y; - s = y + (db+y*xx*(sn3 +xx*sn5)); - c = y*db+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps; - retval = (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x); - goto ret; - } - break; - - case 0: - case 2: - if (a<0) {a=-a;da=-da;} - u.x=big.x+a; - y=a-(u.x-big.x)+da; - xx=y*y; - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps; - retval = (res==res+cor)? ((n)?-res:res) : csloww2(a,da,x,n); + if (k < 0x3e400000) + { + retval = 1.0; + goto ret; + } /* |x|<2^-27 => cos(x)=1 */ + + else if (k < 0x3feb6000) + { /* 2^-27 < |x| < 0.855469 */ + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + xx = y * y; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + retval = (res == res + 1.020 * cor) ? res : cslow2 (x); goto ret; + } /* else if (k < 0x3feb6000) */ + + else if (k < 0x400368fd) + { /* 0.855469 <|x|<2.426265 */ ; + y = hp0.x - ABS (x); + a = y + hp1.x; + da = (y - a) + hp1.x; + xx = a * a; + if (xx < 0.01588) + { + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + s1.x) + * a - 0.5 * da) * xx + da; + res = a + t; + cor = (a - res) + t; + cor = (cor > 0) ? 1.02 * cor + 1.0e-31 : 1.02 * cor - 1.0e-31; + retval = (res == res + cor) ? res : csloww (a, da, x); + goto ret; + } + else + { + if (a > 0) + { + m = 1; + t = a; + db = da; + } + else + { + m = 0; + t = -a; + db = -da; + } + u.x = big.x + t; + y = t - (u.x - big.x); + xx = y * y; + s = y + (db + y * xx * (sn3 + xx * sn5)); + c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + cor = (cor > 0) ? 1.035 * cor + 1.0e-31 : 1.035 * cor - 1.0e-31; + retval = ((res == res + cor) ? ((m) ? res : -res) + : csloww1 (a, da, x)); + goto ret; + } - break; + } /* else if (k < 0x400368fd) */ - } - } /* else if (k < 0x419921FB ) */ - - - else if (k < 0x42F00000 ) { - t = (x*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - xn1 = (xn+8.0e22)-8.0e22; - xn2 = xn - xn1; - y = ((((x - xn1*mp1.x) - xn1*mp2.x)-xn2*mp1.x)-xn2*mp2.x); - n =v.i[LOW_HALF]&3; - da = xn1*pp3.x; - t=y-da; - da = (y-t)-da; - da = (da - xn2*pp3.x) -xn*pp4.x; - a = t+da; - da = (t-a)+da; - eps = 1.0e-24; - - switch (n) { - case 1: - case 3: - xx = a*a; - if (n==1) {a=-a;da=-da;} - if (xx < 0.01588) { - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*a - 0.5*da)*xx+da; - res = a+t; - cor = (a-res)+t; - cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps; - retval = (res == res + cor)? res : bsloww(a,da,x,n); - goto ret; - } - else { - if (a>0) {m=1;t=a;db=da;} - else {m=0;t=-a;db=-da;} - u.x=big.x+t; - y=t-(u.x-big.x); - xx=y*y; - s = y + (db+y*xx*(sn3 +xx*sn5)); - c = y*db+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - cor=(ssn+s*ccs-sn*c)+cs*s; - res=sn+cor; - cor=(sn-res)+cor; - cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps; - retval = (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n); - goto ret; - } - break; - - case 0: - case 2: - if (a<0) {a=-a;da=-da;} - u.x=big.x+a; - y=a-(u.x-big.x)+da; - xx=y*y; - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - s = y + y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - cor=(ccs-s*ssn-cs*c)-sn*s; - res=cs+cor; - cor=(cs-res)+cor; - cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps; - retval = (res==res+cor)? ((n)?-res:res) : bsloww2(a,da,x,n); - goto ret; - break; + else if (k < 0x419921FB) + { /* 2.426265<|x|< 105414350 */ + t = (x * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + y = (x - xn * mp1.x) - xn * mp2.x; + n = v.i[LOW_HALF] & 3; + da = xn * mp3.x; + a = y - da; + da = (y - a) - da; + eps = ABS (x) * 1.2e-30; + + switch (n) + { + case 1: + case 3: + xx = a * a; + if (n == 1) + { + a = -a; + da = -da; + } + if (xx < 0.01588) + { + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + + s1.x) * a - 0.5 * da) * xx + da; + res = a + t; + cor = (a - res) + t; + cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps; + retval = (res == res + cor) ? res : csloww (a, da, x); + goto ret; + } + else + { + if (a > 0) + { + m = 1; + t = a; + db = da; + } + else + { + m = 0; + t = -a; + db = -da; + } + u.x = big.x + t; + y = t - (u.x - big.x); + xx = y * y; + s = y + (db + y * xx * (sn3 + xx * sn5)); + c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) + : csloww1 (a, da, x)); + goto ret; + } + break; + + case 0: + case 2: + if (a < 0) + { + a = -a; + da = -da; + } + u.x = big.x + a; + y = a - (u.x - big.x) + da; + xx = y * y; + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps; + retval = ((res == res + cor) ? ((n) ? -res : res) + : csloww2 (a, da, x, n)); + goto ret; - } + break; + } + } /* else if (k < 0x419921FB ) */ - } /* else if (k < 0x42F00000 ) */ + else if (k < 0x42F00000) + { + t = (x * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + xn1 = (xn + 8.0e22) - 8.0e22; + xn2 = xn - xn1; + y = ((((x - xn1 * mp1.x) - xn1 * mp2.x) - xn2 * mp1.x) - xn2 * mp2.x); + n = v.i[LOW_HALF] & 3; + da = xn1 * pp3.x; + t = y - da; + da = (y - t) - da; + da = (da - xn2 * pp3.x) - xn * pp4.x; + a = t + da; + da = (t - a) + da; + eps = 1.0e-24; + + switch (n) + { + case 1: + case 3: + xx = a * a; + if (n == 1) + { + a = -a; + da = -da; + } + if (xx < 0.01588) + { + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + + s1.x) * a - 0.5 * da) * xx + da; + res = a + t; + cor = (a - res) + t; + cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps; + retval = (res == res + cor) ? res : bsloww (a, da, x, n); + goto ret; + } + else + { + if (a > 0) + { + m = 1; + t = a; + db = da; + } + else + { + m = 0; + t = -a; + db = -da; + } + u.x = big.x + t; + y = t - (u.x - big.x); + xx = y * y; + s = y + (db + y * xx * (sn3 + xx * sn5)); + c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + cor = (ssn + s * ccs - sn * c) + cs * s; + res = sn + cor; + cor = (sn - res) + cor; + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) + : bsloww1 (a, da, x, n)); + goto ret; + } + break; + + case 0: + case 2: + if (a < 0) + { + a = -a; + da = -da; + } + u.x = big.x + a; + y = a - (u.x - big.x) + da; + xx = y * y; + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + s = y + y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + cor = (ccs - s * ssn - cs * c) - sn * s; + res = cs + cor; + cor = (cs - res) + cor; + cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps; + retval = ((res == res + cor) ? ((n) ? -res : res) + : bsloww2 (a, da, x, n)); + goto ret; + break; + } + } /* else if (k < 0x42F00000 ) */ + + else if (k < 0x7ff00000) + { /* 281474976710656 <|x| <2^1024 */ + + n = __branred (x, &a, &da); + switch (n) + { + case 1: + if (a * a < 0.01588) + retval = bsloww (-a, -da, x, n); + else + retval = bsloww1 (-a, -da, x, n); + goto ret; + break; + case 3: + if (a * a < 0.01588) + retval = bsloww (a, da, x, n); + else + retval = bsloww1 (a, da, x, n); + goto ret; + break; - else if (k < 0x7ff00000) {/* 281474976710656 <|x| <2^1024 */ + case 0: + case 2: + retval = bsloww2 (a, da, x, n); + goto ret; + break; + } + } /* else if (k < 0x7ff00000 ) */ - n = __branred(x,&a,&da); - switch (n) { - case 1: - if (a*a < 0.01588) retval = bsloww(-a,-da,x,n); - else retval = bsloww1(-a,-da,x,n); + else + { + if (k == 0x7ff00000 && u.i[LOW_HALF] == 0) + __set_errno (EDOM); + retval = x / x; /* |x| > 2^1024 */ goto ret; - break; - case 3: - if (a*a < 0.01588) retval = bsloww(a,da,x,n); - else retval = bsloww1(a,da,x,n); - goto ret; - break; - - case 0: - case 2: - retval = bsloww2(a,da,x,n); - goto ret; - break; } - } /* else if (k < 0x7ff00000 ) */ - - - - - else { - if (k == 0x7ff00000 && u.i[LOW_HALF] == 0) - __set_errno (EDOM); - retval = x / x; /* |x| > 2^1024 */ - goto ret; - } - - ret: +ret: return retval; } @@ -636,25 +764,32 @@ __cos(double x) static double SECTION -slow(double x) { -static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ - double y,x1,x2,xx,r,t,res,cor,w[2]; - x1=(x+th2_36)-th2_36; - y = aa.x*x1*x1*x1; - r=x+y; - x2=x-x1; - xx=x*x; - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + bb.x)*xx + 3.0*aa.x*x1*x2)*x +aa.x*x2*x2*x2; - t=((x-r)+y)+t; - res=r+t; - cor = (r-res)+t; - if (res == res + 1.0007*cor) return res; - else { - __dubsin(ABS(x),0,w); - if (w[0] == w[0]+1.000000001*w[1]) return (x>0)?w[0]:-w[0]; - else return (x>0)?__mpsin(x,0):-__mpsin(-x,0); - } +slow (double x) +{ + static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ + double y, x1, x2, xx, r, t, res, cor, w[2]; + x1 = (x + th2_36) - th2_36; + y = aa.x * x1 * x1 * x1; + r = x + y; + x2 = x - x1; + xx = x * x; + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + bb.x) * xx + + 3.0 * aa.x * x1 * x2) * x + aa.x * x2 * x2 * x2; + t = ((x - r) + y) + t; + res = r + t; + cor = (r - res) + t; + if (res == res + 1.0007 * cor) + return res; + else + { + __dubsin (ABS (x), 0, w); + if (w[0] == w[0] + 1.000000001 * w[1]) + return (x > 0) ? w[0] : -w[0]; + else + return (x > 0) ? __mpsin (x, 0) : -__mpsin (-x, 0); + } } + /*******************************************************************************/ /* Routine compute sin(x) for 0.25<|x|< 0.855469 by __sincostab.tbl and Taylor */ /* and if result still doesn't accurate enough by mpsin or dubsin */ @@ -662,88 +797,102 @@ static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ static double SECTION -slow1(double x) { +slow1 (double x) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,c1,c2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; /* Data */ - ssn=__sincostab.x[k+1]; /* from */ - cs=__sincostab.x[k+2]; /* tables */ - ccs=__sincostab.x[k+3]; /* __sincostab.tbl */ - y1 = (y+t22)-t22; + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; /* Data */ + ssn = __sincostab.x[k + 1]; /* from */ + cs = __sincostab.x[k + 2]; /* tables */ + ccs = __sincostab.x[k + 3]; /* __sincostab.tbl */ + y1 = (y + t22) - t22; y2 = y - y1; - c1 = (cs+t22)-t22; - c2=(cs-c1)+ccs; - cor=(ssn+s*ccs+cs*s+c2*y+c1*y2)-sn*c; - y=sn+c1*y1; - cor = cor+((sn-y)+c1*y1); - res=y+cor; - cor=(y-res)+cor; - if (res == res+1.0005*cor) return (x>0)?res:-res; - else { - __dubsin(ABS(x),0,w); - if (w[0] == w[0]+1.000000005*w[1]) return (x>0)?w[0]:-w[0]; - else return (x>0)?__mpsin(x,0):-__mpsin(-x,0); - } + c1 = (cs + t22) - t22; + c2 = (cs - c1) + ccs; + cor = (ssn + s * ccs + cs * s + c2 * y + c1 * y2) - sn * c; + y = sn + c1 * y1; + cor = cor + ((sn - y) + c1 * y1); + res = y + cor; + cor = (y - res) + cor; + if (res == res + 1.0005 * cor) + return (x > 0) ? res : -res; + else + { + __dubsin (ABS (x), 0, w); + if (w[0] == w[0] + 1.000000005 * w[1]) + return (x > 0) ? w[0] : -w[0]; + else + return (x > 0) ? __mpsin (x, 0) : -__mpsin (-x, 0); + } } + /**************************************************************************/ /* Routine compute sin(x) for 0.855469 <|x|<2.426265 by __sincostab.tbl */ /* and if result still doesn't accurate enough by mpsin or dubsin */ /**************************************************************************/ static double SECTION -slow2(double x) { +slow2 (double x) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,e1,e2,xx,cor,res,del; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res, del; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - y = hp0.x-y; - if (y>=0) { - u.x = big.x+y; - y = y-(u.x-big.x); - del = hp1.x; - } - else { - u.x = big.x-y; - y = -(y+(u.x-big.x)); - del = -hp1.x; - } - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = y*del+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - y1 = (y+t22)-t22; - y2 = (y - y1)+del; - e1 = (sn+t22)-t22; - e2=(sn-e1)+ssn; - cor=(ccs-cs*c-e1*y2-e2*y)-sn*s; - y=cs-e1*y1; - cor = cor+((cs-y)-e1*y1); - res=y+cor; - cor=(y-res)+cor; - if (res == res+1.0005*cor) return (x>0)?res:-res; - else { - y=ABS(x)-hp0.x; - y1=y-hp1.x; - y2=(y-y1)-hp1.x; - __docos(y1,y2,w); - if (w[0] == w[0]+1.000000005*w[1]) return (x>0)?w[0]:-w[0]; - else return (x>0)?__mpsin(x,0):-__mpsin(-x,0); - } + y = ABS (x); + y = hp0.x - y; + if (y >= 0) + { + u.x = big.x + y; + y = y - (u.x - big.x); + del = hp1.x; + } + else + { + u.x = big.x - y; + y = -(y + (u.x - big.x)); + del = -hp1.x; + } + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = y * del + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + y1 = (y + t22) - t22; + y2 = (y - y1) + del; + e1 = (sn + t22) - t22; + e2 = (sn - e1) + ssn; + cor = (ccs - cs * c - e1 * y2 - e2 * y) - sn * s; + y = cs - e1 * y1; + cor = cor + ((cs - y) - e1 * y1); + res = y + cor; + cor = (y - res) + cor; + if (res == res + 1.0005 * cor) + return (x > 0) ? res : -res; + else + { + y = ABS (x) - hp0.x; + y1 = y - hp1.x; + y2 = (y - y1) - hp1.x; + __docos (y1, y2, w); + if (w[0] == w[0] + 1.000000005 * w[1]) + return (x > 0) ? w[0] : -w[0]; + else + return (x > 0) ? __mpsin (x, 0) : -__mpsin (-x, 0); + } } + /***************************************************************************/ /* Routine compute sin(x+dx) (Double-Length number) where x is small enough*/ /* to use Taylor series around zero and (x+dx) */ @@ -754,46 +903,74 @@ slow2(double x) { static double SECTION -sloww(double x,double dx, double orig) { - static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ - double y,x1,x2,xx,r,t,res,cor,w[2],a,da,xn; - union {int4 i[2]; double x;} v; +sloww (double x, double dx, double orig) +{ + static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ + double y, x1, x2, xx, r, t, res, cor, w[2], a, da, xn; + union + { + int4 i[2]; + double x; + } v; int4 n; - x1=(x+th2_36)-th2_36; - y = aa.x*x1*x1*x1; - r=x+y; - x2=(x-x1)+dx; - xx=x*x; - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + bb.x)*xx + 3.0*aa.x*x1*x2)*x +aa.x*x2*x2*x2+dx; - t=((x-r)+y)+t; - res=r+t; - cor = (r-res)+t; - cor = (cor>0)? 1.0005*cor+ABS(orig)*3.1e-30 : 1.0005*cor-ABS(orig)*3.1e-30; - if (res == res + cor) return res; - else { - (x>0)? __dubsin(x,dx,w) : __dubsin(-x,-dx,w); - cor = (w[1]>0)? 1.000000001*w[1] + ABS(orig)*1.1e-30 : 1.000000001*w[1] - ABS(orig)*1.1e-30; - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else { - t = (orig*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - y = (orig - xn*mp1.x) - xn*mp2.x; - n =v.i[LOW_HALF]&3; - da = xn*pp3.x; - t=y-da; - da = (y-t)-da; - y = xn*pp4.x; - a = t - y; - da = ((t-a)-y)+da; - if (n&2) {a=-a; da=-da;} - (a>0)? __dubsin(a,da,w) : __dubsin(-a,-da,w); - cor = (w[1]>0)? 1.000000001*w[1] + ABS(orig)*1.1e-40 : 1.000000001*w[1] - ABS(orig)*1.1e-40; - if (w[0] == w[0]+cor) return (a>0)?w[0]:-w[0]; - else return __mpsin1(orig); + x1 = (x + th2_36) - th2_36; + y = aa.x * x1 * x1 * x1; + r = x + y; + x2 = (x - x1) + dx; + xx = x * x; + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + bb.x) * xx + + 3.0 * aa.x * x1 * x2) * x + aa.x * x2 * x2 * x2 + dx; + t = ((x - r) + y) + t; + res = r + t; + cor = (r - res) + t; + cor = + (cor > + 0) ? 1.0005 * cor + ABS (orig) * 3.1e-30 : 1.0005 * cor - + ABS (orig) * 3.1e-30; + if (res == res + cor) + return res; + else + { + (x > 0) ? __dubsin (x, dx, w) : __dubsin (-x, -dx, w); + if (w[1] > 0) + cor = 1.000000001 * w[1] + ABS (orig) * 1.1e-30; + else + cor = 1.000000001 * w[1] - ABS (orig) * 1.1e-30; + + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + { + t = (orig * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + y = (orig - xn * mp1.x) - xn * mp2.x; + n = v.i[LOW_HALF] & 3; + da = xn * pp3.x; + t = y - da; + da = (y - t) - da; + y = xn * pp4.x; + a = t - y; + da = ((t - a) - y) + da; + if (n & 2) + { + a = -a; + da = -da; + } + (a > 0) ? __dubsin (a, da, w) : __dubsin (-a, -da, w); + if (w[1] > 0) + cor = 1.000000001 * w[1] + ABS (orig) * 1.1e-40; + else + cor = 1.000000001 * w[1] - ABS (orig) * 1.1e-40; + + if (w[0] == w[0] + cor) + return (a > 0) ? w[0] : -w[0]; + else + return __mpsin1 (orig); + } } - } } + /***************************************************************************/ /* Routine compute sin(x+dx) (Double-Length number) where x in first or */ /* third quarter of unit circle.Routine receive also (right argument) the */ @@ -803,41 +980,58 @@ sloww(double x,double dx, double orig) { static double SECTION -sloww1(double x, double dx, double orig) { +sloww1 (double x, double dx, double orig) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,c1,c2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - c1 = (cs+t22)-t22; - c2=(cs-c1)+ccs; - cor=(ssn+s*ccs+cs*s+c2*y+c1*y2-sn*y*dx)-sn*c; - y=sn+c1*y1; - cor = cor+((sn-y)+c1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+3.1e-30*ABS(orig) : 1.0005*cor-3.1e-30*ABS(orig); - if (res == res + cor) return (x>0)?res:-res; - else { - __dubsin(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-30*ABS(orig) : 1.000000005*w[1]-1.1e-30*ABS(orig); - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else return __mpsin1(orig); - } + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + c1 = (cs + t22) - t22; + c2 = (cs - c1) + ccs; + cor = (ssn + s * ccs + cs * s + c2 * y + c1 * y2 - sn * y * dx) - sn * c; + y = sn + c1 * y1; + cor = cor + ((sn - y) + c1 * y1); + res = y + cor; + cor = (y - res) + cor; + + if (cor > 0) + cor = 1.0005 * cor + 3.1e-30 * ABS (orig); + else + cor = 1.0005 * cor - 3.1e-30 * ABS (orig); + + if (res == res + cor) + return (x > 0) ? res : -res; + else + { + __dubsin (ABS (x), dx, w); + + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-30 * ABS (orig); + else + cor = 1.000000005 * w[1] - 1.1e-30 * ABS (orig); + + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + return __mpsin1 (orig); + } } + /***************************************************************************/ /* Routine compute sin(x+dx) (Double-Length number) where x in second or */ /* fourth quarter of unit circle.Routine receive also the original value */ @@ -847,42 +1041,59 @@ sloww1(double x, double dx, double orig) { static double SECTION -sloww2(double x, double dx, double orig, int n) { +sloww2 (double x, double dx, double orig, int n) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,e1,e2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = y*dx+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - e1 = (sn+t22)-t22; - e2=(sn-e1)+ssn; - cor=(ccs-cs*c-e1*y2-e2*y)-sn*s; - y=cs-e1*y1; - cor = cor+((cs-y)-e1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+3.1e-30*ABS(orig) : 1.0005*cor-3.1e-30*ABS(orig); - if (res == res + cor) return (n&2)?-res:res; - else { - __docos(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-30*ABS(orig) : 1.000000005*w[1]-1.1e-30*ABS(orig); - if (w[0] == w[0]+cor) return (n&2)?-w[0]:w[0]; - else return __mpsin1(orig); - } + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = y * dx + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + e1 = (sn + t22) - t22; + e2 = (sn - e1) + ssn; + cor = (ccs - cs * c - e1 * y2 - e2 * y) - sn * s; + y = cs - e1 * y1; + cor = cor + ((cs - y) - e1 * y1); + res = y + cor; + cor = (y - res) + cor; + + if (cor > 0) + cor = 1.0005 * cor + 3.1e-30 * ABS (orig); + else + cor = 1.0005 * cor - 3.1e-30 * ABS (orig); + + if (res == res + cor) + return (n & 2) ? -res : res; + else + { + __docos (ABS (x), dx, w); + + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-30 * ABS (orig); + else + cor = 1.000000005 * w[1] - 1.1e-30 * ABS (orig); + + if (w[0] == w[0] + cor) + return (n & 2) ? -w[0] : w[0]; + else + return __mpsin1 (orig); + } } + /***************************************************************************/ /* Routine compute sin(x+dx) or cos(x+dx) (Double-Length number) where x */ /* is small enough to use Taylor series around zero and (x+dx) */ @@ -893,26 +1104,36 @@ sloww2(double x, double dx, double orig, int n) { static double SECTION -bsloww(double x,double dx, double orig,int n) { - static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ - double y,x1,x2,xx,r,t,res,cor,w[2]; - x1=(x+th2_36)-th2_36; - y = aa.x*x1*x1*x1; - r=x+y; - x2=(x-x1)+dx; - xx=x*x; - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + bb.x)*xx + 3.0*aa.x*x1*x2)*x +aa.x*x2*x2*x2+dx; - t=((x-r)+y)+t; - res=r+t; - cor = (r-res)+t; - cor = (cor>0)? 1.0005*cor+1.1e-24 : 1.0005*cor-1.1e-24; - if (res == res + cor) return res; - else { - (x>0)? __dubsin(x,dx,w) : __dubsin(-x,-dx,w); - cor = (w[1]>0)? 1.000000001*w[1] + 1.1e-24 : 1.000000001*w[1] - 1.1e-24; - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else return (n&1)?__mpcos1(orig):__mpsin1(orig); - } +bsloww (double x, double dx, double orig, int n) +{ + static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ + double y, x1, x2, xx, r, t, res, cor, w[2]; + + x1 = (x + th2_36) - th2_36; + y = aa.x * x1 * x1 * x1; + r = x + y; + x2 = (x - x1) + dx; + xx = x * x; + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + bb.x) * xx + + 3.0 * aa.x * x1 * x2) * x + aa.x * x2 * x2 * x2 + dx; + t = ((x - r) + y) + t; + res = r + t; + cor = (r - res) + t; + cor = (cor > 0) ? 1.0005 * cor + 1.1e-24 : 1.0005 * cor - 1.1e-24; + if (res == res + cor) + return res; + else + { + (x > 0) ? __dubsin (x, dx, w) : __dubsin (-x, -dx, w); + if (w[1] > 0) + cor = 1.000000001 * w[1] + 1.1e-24; + else + cor = 1.000000001 * w[1] - 1.1e-24; + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + return (n & 1) ? __mpcos1 (orig) : __mpsin1 (orig); + } } /***************************************************************************/ @@ -924,40 +1145,51 @@ bsloww(double x,double dx, double orig,int n) { static double SECTION -bsloww1(double x, double dx, double orig,int n) { -mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,c1,c2,xx,cor,res; - static const double t22 = 6291456.0; - int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - c1 = (cs+t22)-t22; - c2=(cs-c1)+ccs; - cor=(ssn+s*ccs+cs*s+c2*y+c1*y2-sn*y*dx)-sn*c; - y=sn+c1*y1; - cor = cor+((sn-y)+c1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+1.1e-24 : 1.0005*cor-1.1e-24; - if (res == res + cor) return (x>0)?res:-res; - else { - __dubsin(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-24: 1.000000005*w[1]-1.1e-24; - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else return (n&1)?__mpcos1(orig):__mpsin1(orig); - } +bsloww1 (double x, double dx, double orig, int n) +{ + mynumber u; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res; + static const double t22 = 6291456.0; + int4 k; + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + c1 = (cs + t22) - t22; + c2 = (cs - c1) + ccs; + cor = (ssn + s * ccs + cs * s + c2 * y + c1 * y2 - sn * y * dx) - sn * c; + y = sn + c1 * y1; + cor = cor + ((sn - y) + c1 * y1); + res = y + cor; + cor = (y - res) + cor; + cor = (cor > 0) ? 1.0005 * cor + 1.1e-24 : 1.0005 * cor - 1.1e-24; + if (res == res + cor) + return (x > 0) ? res : -res; + else + { + __dubsin (ABS (x), dx, w); + + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-24; + else + cor = 1.000000005 * w[1] - 1.1e-24; + + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + return (n & 1) ? __mpcos1 (orig) : __mpsin1 (orig); + } } /***************************************************************************/ @@ -969,41 +1201,52 @@ mynumber u; static double SECTION -bsloww2(double x, double dx, double orig, int n) { -mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,e1,e2,xx,cor,res; - static const double t22 = 6291456.0; - int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = y*dx+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - e1 = (sn+t22)-t22; - e2=(sn-e1)+ssn; - cor=(ccs-cs*c-e1*y2-e2*y)-sn*s; - y=cs-e1*y1; - cor = cor+((cs-y)-e1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+1.1e-24 : 1.0005*cor-1.1e-24; - if (res == res + cor) return (n&2)?-res:res; - else { - __docos(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-24 : 1.000000005*w[1]-1.1e-24; - if (w[0] == w[0]+cor) return (n&2)?-w[0]:w[0]; - else return (n&1)?__mpsin1(orig):__mpcos1(orig); - } +bsloww2 (double x, double dx, double orig, int n) +{ + mynumber u; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res; + static const double t22 = 6291456.0; + int4 k; + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = y * dx + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + e1 = (sn + t22) - t22; + e2 = (sn - e1) + ssn; + cor = (ccs - cs * c - e1 * y2 - e2 * y) - sn * s; + y = cs - e1 * y1; + cor = cor + ((cs - y) - e1 * y1); + res = y + cor; + cor = (y - res) + cor; + cor = (cor > 0) ? 1.0005 * cor + 1.1e-24 : 1.0005 * cor - 1.1e-24; + if (res == res + cor) + return (n & 2) ? -res : res; + else + { + __docos (ABS (x), dx, w); + + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-24; + else + cor = 1.000000005 * w[1] - 1.1e-24; + + if (w[0] == w[0] + cor) + return (n & 2) ? -w[0] : w[0]; + else + return (n & 1) ? __mpsin1 (orig) : __mpcos1 (orig); + } } /************************************************************************/ @@ -1013,39 +1256,44 @@ mynumber u; static double SECTION -cslow2(double x) { +cslow2 (double x) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,e1,e2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x = big.x+y; - y = y-(u.x-big.x); - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - y1 = (y+t22)-t22; + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + y1 = (y + t22) - t22; y2 = y - y1; - e1 = (sn+t22)-t22; - e2=(sn-e1)+ssn; - cor=(ccs-cs*c-e1*y2-e2*y)-sn*s; - y=cs-e1*y1; - cor = cor+((cs-y)-e1*y1); - res=y+cor; - cor=(y-res)+cor; - if (res == res+1.0005*cor) + e1 = (sn + t22) - t22; + e2 = (sn - e1) + ssn; + cor = (ccs - cs * c - e1 * y2 - e2 * y) - sn * s; + y = cs - e1 * y1; + cor = cor + ((cs - y) - e1 * y1); + res = y + cor; + cor = (y - res) + cor; + if (res == res + 1.0005 * cor) return res; - else { - y=ABS(x); - __docos(y,0,w); - if (w[0] == w[0]+1.000000005*w[1]) return w[0]; - else return __mpcos(x,0); - } + else + { + y = ABS (x); + __docos (y, 0, w); + if (w[0] == w[0] + 1.000000005 * w[1]) + return w[0]; + else + return __mpcos (x, 0); + } } /***************************************************************************/ @@ -1058,46 +1306,78 @@ cslow2(double x) { static double SECTION -csloww(double x,double dx, double orig) { - static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ - double y,x1,x2,xx,r,t,res,cor,w[2],a,da,xn; - union {int4 i[2]; double x;} v; +csloww (double x, double dx, double orig) +{ + static const double th2_36 = 206158430208.0; /* 1.5*2**37 */ + double y, x1, x2, xx, r, t, res, cor, w[2], a, da, xn; + union + { + int4 i[2]; + double x; + } v; int4 n; - x1=(x+th2_36)-th2_36; - y = aa.x*x1*x1*x1; - r=x+y; - x2=(x-x1)+dx; - xx=x*x; - /* Taylor series */ - t = (((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + bb.x)*xx + 3.0*aa.x*x1*x2)*x +aa.x*x2*x2*x2+dx; - t=((x-r)+y)+t; - res=r+t; - cor = (r-res)+t; - cor = (cor>0)? 1.0005*cor+ABS(orig)*3.1e-30 : 1.0005*cor-ABS(orig)*3.1e-30; - if (res == res + cor) return res; - else { - (x>0)? __dubsin(x,dx,w) : __dubsin(-x,-dx,w); - cor = (w[1]>0)? 1.000000001*w[1] + ABS(orig)*1.1e-30 : 1.000000001*w[1] - ABS(orig)*1.1e-30; - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else { - t = (orig*hpinv.x + toint.x); - xn = t - toint.x; - v.x = t; - y = (orig - xn*mp1.x) - xn*mp2.x; - n =v.i[LOW_HALF]&3; - da = xn*pp3.x; - t=y-da; - da = (y-t)-da; - y = xn*pp4.x; - a = t - y; - da = ((t-a)-y)+da; - if (n==1) {a=-a; da=-da;} - (a>0)? __dubsin(a,da,w) : __dubsin(-a,-da,w); - cor = (w[1]>0)? 1.000000001*w[1] + ABS(orig)*1.1e-40 : 1.000000001*w[1] - ABS(orig)*1.1e-40; - if (w[0] == w[0]+cor) return (a>0)?w[0]:-w[0]; - else return __mpcos1(orig); + + x1 = (x + th2_36) - th2_36; + y = aa.x * x1 * x1 * x1; + r = x + y; + x2 = (x - x1) + dx; + xx = x * x; + /* Taylor series */ + t = (((((s5.x * xx + s4.x) * xx + s3.x) * xx + s2.x) * xx + bb.x) * xx + + 3.0 * aa.x * x1 * x2) * x + aa.x * x2 * x2 * x2 + dx; + t = ((x - r) + y) + t; + res = r + t; + cor = (r - res) + t; + + if (cor > 0) + cor = 1.0005 * cor + ABS (orig) * 3.1e-30; + else + cor = 1.0005 * cor - ABS (orig) * 3.1e-30; + + if (res == res + cor) + return res; + else + { + (x > 0) ? __dubsin (x, dx, w) : __dubsin (-x, -dx, w); + + if (w[1] > 0) + cor = 1.000000001 * w[1] + ABS (orig) * 1.1e-30; + else + cor = 1.000000001 * w[1] - ABS (orig) * 1.1e-30; + + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + { + t = (orig * hpinv.x + toint.x); + xn = t - toint.x; + v.x = t; + y = (orig - xn * mp1.x) - xn * mp2.x; + n = v.i[LOW_HALF] & 3; + da = xn * pp3.x; + t = y - da; + da = (y - t) - da; + y = xn * pp4.x; + a = t - y; + da = ((t - a) - y) + da; + if (n == 1) + { + a = -a; + da = -da; + } + (a > 0) ? __dubsin (a, da, w) : __dubsin (-a, -da, w); + + if (w[1] > 0) + cor = 1.000000001 * w[1] + ABS (orig) * 1.1e-40; + else + cor = 1.000000001 * w[1] - ABS (orig) * 1.1e-40; + + if (w[0] == w[0] + cor) + return (a > 0) ? w[0] : -w[0]; + else + return __mpcos1 (orig); + } } - } } /***************************************************************************/ @@ -1109,40 +1389,54 @@ csloww(double x,double dx, double orig) { static double SECTION -csloww1(double x, double dx, double orig) { +csloww1 (double x, double dx, double orig) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,c1,c2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - c1 = (cs+t22)-t22; - c2=(cs-c1)+ccs; - cor=(ssn+s*ccs+cs*s+c2*y+c1*y2-sn*y*dx)-sn*c; - y=sn+c1*y1; - cor = cor+((sn-y)+c1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+3.1e-30*ABS(orig) : 1.0005*cor-3.1e-30*ABS(orig); - if (res == res + cor) return (x>0)?res:-res; - else { - __dubsin(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-30*ABS(orig) : 1.000000005*w[1]-1.1e-30*ABS(orig); - if (w[0] == w[0]+cor) return (x>0)?w[0]:-w[0]; - else return __mpcos1(orig); - } + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + c1 = (cs + t22) - t22; + c2 = (cs - c1) + ccs; + cor = (ssn + s * ccs + cs * s + c2 * y + c1 * y2 - sn * y * dx) - sn * c; + y = sn + c1 * y1; + cor = cor + ((sn - y) + c1 * y1); + res = y + cor; + cor = (y - res) + cor; + + if (cor > 0) + cor = 1.0005 * cor + 3.1e-30 * ABS (orig); + else + cor = 1.0005 * cor - 3.1e-30 * ABS (orig); + + if (res == res + cor) + return (x > 0) ? res : -res; + else + { + __dubsin (ABS (x), dx, w); + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-30 * ABS (orig); + else + cor = 1.000000005 * w[1] - 1.1e-30 * ABS (orig); + if (w[0] == w[0] + cor) + return (x > 0) ? w[0] : -w[0]; + else + return __mpcos1 (orig); + } } @@ -1155,41 +1449,55 @@ csloww1(double x, double dx, double orig) { static double SECTION -csloww2(double x, double dx, double orig, int n) { +csloww2 (double x, double dx, double orig, int n) +{ mynumber u; - double sn,ssn,cs,ccs,s,c,w[2],y,y1,y2,e1,e2,xx,cor,res; + double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res; static const double t22 = 6291456.0; int4 k; - y=ABS(x); - u.x=big.x+y; - y=y-(u.x-big.x); - dx=(x>0)?dx:-dx; - xx=y*y; - s = y*xx*(sn3 +xx*sn5); - c = y*dx+xx*(cs2 +xx*(cs4 + xx*cs6)); - k=u.i[LOW_HALF]<<2; - sn=__sincostab.x[k]; - ssn=__sincostab.x[k+1]; - cs=__sincostab.x[k+2]; - ccs=__sincostab.x[k+3]; - - y1 = (y+t22)-t22; - y2 = (y - y1)+dx; - e1 = (sn+t22)-t22; - e2=(sn-e1)+ssn; - cor=(ccs-cs*c-e1*y2-e2*y)-sn*s; - y=cs-e1*y1; - cor = cor+((cs-y)-e1*y1); - res=y+cor; - cor=(y-res)+cor; - cor = (cor>0)? 1.0005*cor+3.1e-30*ABS(orig) : 1.0005*cor-3.1e-30*ABS(orig); - if (res == res + cor) return (n)?-res:res; - else { - __docos(ABS(x),dx,w); - cor = (w[1]>0)? 1.000000005*w[1]+1.1e-30*ABS(orig) : 1.000000005*w[1]-1.1e-30*ABS(orig); - if (w[0] == w[0]+cor) return (n)?-w[0]:w[0]; - else return __mpcos1(orig); - } + + y = ABS (x); + u.x = big.x + y; + y = y - (u.x - big.x); + dx = (x > 0) ? dx : -dx; + xx = y * y; + s = y * xx * (sn3 + xx * sn5); + c = y * dx + xx * (cs2 + xx * (cs4 + xx * cs6)); + k = u.i[LOW_HALF] << 2; + sn = __sincostab.x[k]; + ssn = __sincostab.x[k + 1]; + cs = __sincostab.x[k + 2]; + ccs = __sincostab.x[k + 3]; + + y1 = (y + t22) - t22; + y2 = (y - y1) + dx; + e1 = (sn + t22) - t22; + e2 = (sn - e1) + ssn; + cor = (ccs - cs * c - e1 * y2 - e2 * y) - sn * s; + y = cs - e1 * y1; + cor = cor + ((cs - y) - e1 * y1); + res = y + cor; + cor = (y - res) + cor; + + if (cor > 0) + cor = 1.0005 * cor + 3.1e-30 * ABS (orig); + else + cor = 1.0005 * cor - 3.1e-30 * ABS (orig); + + if (res == res + cor) + return (n) ? -res : res; + else + { + __docos (ABS (x), dx, w); + if (w[1] > 0) + cor = 1.000000005 * w[1] + 1.1e-30 * ABS (orig); + else + cor = 1.000000005 * w[1] - 1.1e-30 * ABS (orig); + if (w[0] == w[0] + cor) + return (n) ? -w[0] : w[0]; + else + return __mpcos1 (orig); + } } #ifndef __cos diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c index a630d10fe..f686bb670 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> static const double one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c index 488a0efae..dcb7b58a1 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c @@ -45,6 +45,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> static const double two54 = 1.80143985094819840000e+16; /* 0x4350000000000000 */ static const double ivln10 = 4.34294481903251816668e-01; /* 0x3FDBCB7B1526E50E */ diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h b/libc/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h index b66085eb1..4f9219934 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h @@ -1,6 +1,7 @@ #ifndef _MATH_PRIVATE_H_ #include_next <math_private.h> +#include <stdint.h> #ifndef __isnan extern __always_inline int diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c index f25ede8f9..fcf2e6d5b 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c @@ -16,6 +16,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> #undef __finite int diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c index 5beccb0ac..914a3c823 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c @@ -32,6 +32,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> /* * floor(x) diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c index 70a620cf6..e80b84ca0 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c @@ -17,6 +17,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> #undef __isnan int __isnan(double x) diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c index 89743168c..c309e5627 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c @@ -22,6 +22,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> static const double one = 1.0; diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c index e9ae82bdb..29e62874b 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c @@ -20,7 +20,7 @@ #include <math.h> #include <math_private.h> - +#include <stdint.h> static const double zero = 0.0; diff --git a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c index df674670e..bea796083 100644 --- a/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c +++ b/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c @@ -20,7 +20,7 @@ #include <math.h> #include <math_private.h> - +#include <stdint.h> static const double huge = 1.0e300; diff --git a/libc/sysdeps/ieee754/flt-32/e_gammaf_r.c b/libc/sysdeps/ieee754/flt-32/e_gammaf_r.c index a312957b0..f58f4c805 100644 --- a/libc/sysdeps/ieee754/flt-32/e_gammaf_r.c +++ b/libc/sysdeps/ieee754/flt-32/e_gammaf_r.c @@ -19,14 +19,97 @@ #include <math.h> #include <math_private.h> +#include <float.h> +/* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's + approximation to gamma function. */ + +static const float gamma_coeff[] = + { + 0x1.555556p-4f, + -0xb.60b61p-12f, + 0x3.403404p-12f, + }; + +#define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0])) + +/* Return gamma (X), for positive X less than 42, in the form R * + 2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to + avoid overflow or underflow in intermediate calculations. */ + +static float +gammaf_positive (float x, int *exp2_adj) +{ + int local_signgam; + if (x < 0.5f) + { + *exp2_adj = 0; + return __ieee754_expf (__ieee754_lgammaf_r (x + 1, &local_signgam)) / x; + } + else if (x <= 1.5f) + { + *exp2_adj = 0; + return __ieee754_expf (__ieee754_lgammaf_r (x, &local_signgam)); + } + else if (x < 2.5f) + { + *exp2_adj = 0; + float x_adj = x - 1; + return (__ieee754_expf (__ieee754_lgammaf_r (x_adj, &local_signgam)) + * x_adj); + } + else + { + float eps = 0; + float x_eps = 0; + float x_adj = x; + float prod = 1; + if (x < 4.0f) + { + /* Adjust into the range for applying Stirling's + approximation. */ + float n = __ceilf (4.0f - x); +#if FLT_EVAL_METHOD != 0 + volatile +#endif + float x_tmp = x + n; + x_adj = x_tmp; + x_eps = (x - (x_adj - n)); + prod = __gamma_productf (x_adj - n, x_eps, n, &eps); + } + /* The result is now gamma (X_ADJ + X_EPS) / (PROD * (1 + EPS)). + Compute gamma (X_ADJ + X_EPS) using Stirling's approximation, + starting by computing pow (X_ADJ, X_ADJ) with a power of 2 + factored out. */ + float exp_adj = -eps; + float x_adj_int = __roundf (x_adj); + float x_adj_frac = x_adj - x_adj_int; + int x_adj_log2; + float x_adj_mant = __frexpf (x_adj, &x_adj_log2); + if (x_adj_mant < (float) M_SQRT1_2) + { + x_adj_log2--; + x_adj_mant *= 2.0f; + } + *exp2_adj = x_adj_log2 * (int) x_adj_int; + float ret = (__ieee754_powf (x_adj_mant, x_adj) + * __ieee754_exp2f (x_adj_log2 * x_adj_frac) + * __ieee754_expf (-x_adj) + * __ieee754_sqrtf (2 * (float) M_PI / x_adj) + / prod); + exp_adj += x_eps * __ieee754_logf (x); + float bsum = gamma_coeff[NCOEFF - 1]; + float x_adj2 = x_adj * x_adj; + for (size_t i = 1; i <= NCOEFF - 1; i++) + bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i]; + exp_adj += bsum / x_adj; + return ret + ret * __expm1f (exp_adj); + } +} float __ieee754_gammaf_r (float x, int *signgamp) { - /* We don't have a real gamma implementation now. We'll use lgamma - and the exp function. But due to the required boundary - conditions we must check some values separately. */ int32_t hx; GET_FLOAT_WORD (hx, x); @@ -50,8 +133,49 @@ __ieee754_gammaf_r (float x, int *signgamp) *signgamp = 0; return x - x; } + if (__builtin_expect ((hx & 0x7f800000) == 0x7f800000, 0)) + { + /* Positive infinity (return positive infinity) or NaN (return + NaN). */ + *signgamp = 0; + return x + x; + } - /* XXX FIXME. */ - return __ieee754_expf (__ieee754_lgammaf_r (x, signgamp)); + if (x >= 36.0f) + { + /* Overflow. */ + *signgamp = 0; + return FLT_MAX * FLT_MAX; + } + else if (x > 0.0f) + { + *signgamp = 0; + int exp2_adj; + float ret = gammaf_positive (x, &exp2_adj); + return __scalbnf (ret, exp2_adj); + } + else if (x >= -FLT_EPSILON / 4.0f) + { + *signgamp = 0; + return 1.0f / x; + } + else + { + float tx = __truncf (x); + *signgamp = (tx == 2.0f * __truncf (tx / 2.0f)) ? -1 : 1; + if (x <= -42.0f) + /* Underflow. */ + return FLT_MIN * FLT_MIN; + float frac = tx - x; + if (frac > 0.5f) + frac = 1.0f - frac; + float sinpix = (frac <= 0.25f + ? __sinf ((float) M_PI * frac) + : __cosf ((float) M_PI * (0.5f - frac))); + int exp2_adj; + float ret = (float) M_PI / (-x * sinpix + * gammaf_positive (-x, &exp2_adj)); + return __scalbnf (ret, -exp2_adj); + } } strong_alias (__ieee754_gammaf_r, __gammaf_r_finite) diff --git a/libc/sysdeps/ieee754/k_standard.c b/libc/sysdeps/ieee754/k_standard.c index cd3123046..150921f90 100644 --- a/libc/sysdeps/ieee754/k_standard.c +++ b/libc/sysdeps/ieee754/k_standard.c @@ -837,7 +837,7 @@ __kernel_standard(double x, double y, int type) exc.type = OVERFLOW; exc.name = type < 100 ? "tgamma" : (type < 200 ? "tgammaf" : "tgammal"); - exc.retval = HUGE_VAL; + exc.retval = __copysign (HUGE_VAL, x); if (_LIB_VERSION == _POSIX_) __set_errno (ERANGE); else if (!matherr(&exc)) { diff --git a/libc/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/libc/sysdeps/ieee754/ldbl-128/e_gammal_r.c index b6da31c13..e8d49e987 100644 --- a/libc/sysdeps/ieee754/ldbl-128/e_gammal_r.c +++ b/libc/sysdeps/ieee754/ldbl-128/e_gammal_r.c @@ -20,14 +20,108 @@ #include <math.h> #include <math_private.h> +#include <float.h> +/* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's + approximation to gamma function. */ + +static const long double gamma_coeff[] = + { + 0x1.5555555555555555555555555555p-4L, + -0xb.60b60b60b60b60b60b60b60b60b8p-12L, + 0x3.4034034034034034034034034034p-12L, + -0x2.7027027027027027027027027028p-12L, + 0x3.72a3c5631fe46ae1d4e700dca8f2p-12L, + -0x7.daac36664f1f207daac36664f1f4p-12L, + 0x1.a41a41a41a41a41a41a41a41a41ap-8L, + -0x7.90a1b2c3d4e5f708192a3b4c5d7p-8L, + 0x2.dfd2c703c0cfff430edfd2c703cp-4L, + -0x1.6476701181f39edbdb9ce625987dp+0L, + 0xd.672219167002d3a7a9c886459cp+0L, + -0x9.cd9292e6660d55b3f712eb9e07c8p+4L, + 0x8.911a740da740da740da740da741p+8L, + -0x8.d0cc570e255bf59ff6eec24b49p+12L, + }; + +#define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0])) + +/* Return gamma (X), for positive X less than 1775, in the form R * + 2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to + avoid overflow or underflow in intermediate calculations. */ + +static long double +gammal_positive (long double x, int *exp2_adj) +{ + int local_signgam; + if (x < 0.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x + 1, &local_signgam)) / x; + } + else if (x <= 1.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x, &local_signgam)); + } + else if (x < 12.5L) + { + /* Adjust into the range for using exp (lgamma). */ + *exp2_adj = 0; + long double n = __ceill (x - 1.5L); + long double x_adj = x - n; + long double eps; + long double prod = __gamma_productl (x_adj, 0, n, &eps); + return (__ieee754_expl (__ieee754_lgammal_r (x_adj, &local_signgam)) + * prod * (1.0L + eps)); + } + else + { + long double eps = 0; + long double x_eps = 0; + long double x_adj = x; + long double prod = 1; + if (x < 24.0L) + { + /* Adjust into the range for applying Stirling's + approximation. */ + long double n = __ceill (24.0L - x); + x_adj = x + n; + x_eps = (x - (x_adj - n)); + prod = __gamma_productl (x_adj - n, x_eps, n, &eps); + } + /* The result is now gamma (X_ADJ + X_EPS) / (PROD * (1 + EPS)). + Compute gamma (X_ADJ + X_EPS) using Stirling's approximation, + starting by computing pow (X_ADJ, X_ADJ) with a power of 2 + factored out. */ + long double exp_adj = -eps; + long double x_adj_int = __roundl (x_adj); + long double x_adj_frac = x_adj - x_adj_int; + int x_adj_log2; + long double x_adj_mant = __frexpl (x_adj, &x_adj_log2); + if (x_adj_mant < M_SQRT1_2l) + { + x_adj_log2--; + x_adj_mant *= 2.0L; + } + *exp2_adj = x_adj_log2 * (int) x_adj_int; + long double ret = (__ieee754_powl (x_adj_mant, x_adj) + * __ieee754_exp2l (x_adj_log2 * x_adj_frac) + * __ieee754_expl (-x_adj) + * __ieee754_sqrtl (2 * M_PIl / x_adj) + / prod); + exp_adj += x_eps * __ieee754_logl (x); + long double bsum = gamma_coeff[NCOEFF - 1]; + long double x_adj2 = x_adj * x_adj; + for (size_t i = 1; i <= NCOEFF - 1; i++) + bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i]; + exp_adj += bsum / x_adj; + return ret + ret * __expm1l (exp_adj); + } +} long double __ieee754_gammal_r (long double x, int *signgamp) { - /* We don't have a real gamma implementation now. We'll use lgamma - and the exp function. But due to the required boundary - conditions we must check some values separately. */ int64_t hx; u_int64_t lx; @@ -51,8 +145,49 @@ __ieee754_gammal_r (long double x, int *signgamp) *signgamp = 0; return x - x; } + if ((hx & 0x7fff000000000000ULL) == 0x7fff000000000000ULL) + { + /* Positive infinity (return positive infinity) or NaN (return + NaN). */ + *signgamp = 0; + return x + x; + } - /* XXX FIXME. */ - return __ieee754_expl (__ieee754_lgammal_r (x, signgamp)); + if (x >= 1756.0L) + { + /* Overflow. */ + *signgamp = 0; + return LDBL_MAX * LDBL_MAX; + } + else if (x > 0.0L) + { + *signgamp = 0; + int exp2_adj; + long double ret = gammal_positive (x, &exp2_adj); + return __scalbnl (ret, exp2_adj); + } + else if (x >= -LDBL_EPSILON / 4.0L) + { + *signgamp = 0; + return 1.0f / x; + } + else + { + long double tx = __truncl (x); + *signgamp = (tx == 2.0L * __truncl (tx / 2.0L)) ? -1 : 1; + if (x <= -1775.0L) + /* Underflow. */ + return LDBL_MIN * LDBL_MIN; + long double frac = tx - x; + if (frac > 0.5L) + frac = 1.0L - frac; + long double sinpix = (frac <= 0.25L + ? __sinl (M_PIl * frac) + : __cosl (M_PIl * (0.5L - frac))); + int exp2_adj; + long double ret = M_PIl / (-x * sinpix + * gammal_positive (-x, &exp2_adj)); + return __scalbnl (ret, -exp2_adj); + } } strong_alias (__ieee754_gammal_r, __gammal_r_finite) diff --git a/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c b/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c index 84846fdc3..ee856acd5 100644 --- a/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c +++ b/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c @@ -184,13 +184,13 @@ static const int32_t two_over_pi[] = { }; static const long double c[] = { -/* 93 bits of pi/2 */ +/* 113 bits of pi/2 */ #define PI_2_1 c[0] - 1.57079632679489661923132169155131424e+00L, /* 3fff921fb54442d18469898cc5100000 */ + 0x1.921fb54442d18469898cc51701b8p+0L, /* pi/2 - PI_2_1 */ #define PI_2_1t c[1] - 8.84372056613570112025531863263659260e-29L, /* 3fa1c06e0e68948127044533e63a0106 */ + 0x3.9a252049c1114cf98e804177d4c8p-116L, }; int32_t __ieee754_rem_pio2l(long double x, long double *y) @@ -213,7 +213,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y) { if (hx > 0) { - /* 113 + 93 bit PI is ok */ + /* 113 + 113 bit PI is ok */ z = x - PI_2_1; y[0] = z - PI_2_1t; y[1] = (z - y[0]) - PI_2_1t; @@ -221,7 +221,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y) } else { - /* 113 + 93 bit PI is ok */ + /* 113 + 113 bit PI is ok */ z = x + PI_2_1; y[0] = z + PI_2_1t; y[1] = (z - y[0]) + PI_2_1t; diff --git a/libc/sysdeps/ieee754/ldbl-128/gamma_productl.c b/libc/sysdeps/ieee754/ldbl-128/gamma_productl.c new file mode 100644 index 000000000..157dbab9f --- /dev/null +++ b/libc/sysdeps/ieee754/ldbl-128/gamma_productl.c @@ -0,0 +1,75 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> +#include <float.h> + +/* Calculate X * Y exactly and store the result in *HI + *LO. It is + given that the values are small enough that no overflow occurs and + large enough (or zero) that no underflow occurs. */ + +static inline void +mul_split (long double *hi, long double *lo, long double x, long double y) +{ +#ifdef __FP_FAST_FMAL + /* Fast built-in fused multiply-add. */ + *hi = x * y; + *lo = __builtin_fmal (x, y, -*hi); +#elif defined FP_FAST_FMAL + /* Fast library fused multiply-add, compiler before GCC 4.6. */ + *hi = x * y; + *lo = __fmal (x, y, -*hi); +#else + /* Apply Dekker's algorithm. */ + *hi = x * y; +# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1) + long double x1 = x * C; + long double y1 = y * C; +# undef C + x1 = (x - x1) + x1; + y1 = (y - y1) + y1; + long double x2 = x - x1; + long double y2 = y - y1; + *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2; +#endif +} + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +long double +__gamma_productl (long double x, long double x_eps, int n, long double *eps) +{ + SET_RESTORE_ROUNDL (FE_TONEAREST); + long double ret = x; + *eps = x_eps / x; + for (int i = 1; i < n; i++) + { + *eps += x_eps / (x + i); + long double lo; + mul_split (&ret, &lo, ret, x + i); + *eps += lo / ret; + } + return ret; +} diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c b/libc/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c index 52ade9e4a..90d8e3f0d 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c @@ -20,14 +20,107 @@ #include <math.h> #include <math_private.h> +#include <float.h> +/* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's + approximation to gamma function. */ + +static const long double gamma_coeff[] = + { + 0x1.555555555555555555555555558p-4L, + -0xb.60b60b60b60b60b60b60b60b6p-12L, + 0x3.4034034034034034034034034p-12L, + -0x2.7027027027027027027027027p-12L, + 0x3.72a3c5631fe46ae1d4e700dca9p-12L, + -0x7.daac36664f1f207daac36664f2p-12L, + 0x1.a41a41a41a41a41a41a41a41a4p-8L, + -0x7.90a1b2c3d4e5f708192a3b4c5ep-8L, + 0x2.dfd2c703c0cfff430edfd2c704p-4L, + -0x1.6476701181f39edbdb9ce625988p+0L, + 0xd.672219167002d3a7a9c886459cp+0L, + -0x9.cd9292e6660d55b3f712eb9e08p+4L, + 0x8.911a740da740da740da740da74p+8L, + }; + +#define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0])) + +/* Return gamma (X), for positive X less than 191, in the form R * + 2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to + avoid overflow or underflow in intermediate calculations. */ + +static long double +gammal_positive (long double x, int *exp2_adj) +{ + int local_signgam; + if (x < 0.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x + 1, &local_signgam)) / x; + } + else if (x <= 1.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x, &local_signgam)); + } + else if (x < 11.5L) + { + /* Adjust into the range for using exp (lgamma). */ + *exp2_adj = 0; + long double n = __ceill (x - 1.5L); + long double x_adj = x - n; + long double eps; + long double prod = __gamma_productl (x_adj, 0, n, &eps); + return (__ieee754_expl (__ieee754_lgammal_r (x_adj, &local_signgam)) + * prod * (1.0L + eps)); + } + else + { + long double eps = 0; + long double x_eps = 0; + long double x_adj = x; + long double prod = 1; + if (x < 23.0L) + { + /* Adjust into the range for applying Stirling's + approximation. */ + long double n = __ceill (23.0L - x); + x_adj = x + n; + x_eps = (x - (x_adj - n)); + prod = __gamma_productl (x_adj - n, x_eps, n, &eps); + } + /* The result is now gamma (X_ADJ + X_EPS) / (PROD * (1 + EPS)). + Compute gamma (X_ADJ + X_EPS) using Stirling's approximation, + starting by computing pow (X_ADJ, X_ADJ) with a power of 2 + factored out. */ + long double exp_adj = -eps; + long double x_adj_int = __roundl (x_adj); + long double x_adj_frac = x_adj - x_adj_int; + int x_adj_log2; + long double x_adj_mant = __frexpl (x_adj, &x_adj_log2); + if (x_adj_mant < M_SQRT1_2l) + { + x_adj_log2--; + x_adj_mant *= 2.0L; + } + *exp2_adj = x_adj_log2 * (int) x_adj_int; + long double ret = (__ieee754_powl (x_adj_mant, x_adj) + * __ieee754_exp2l (x_adj_log2 * x_adj_frac) + * __ieee754_expl (-x_adj) + * __ieee754_sqrtl (2 * M_PIl / x_adj) + / prod); + exp_adj += x_eps * __ieee754_logl (x); + long double bsum = gamma_coeff[NCOEFF - 1]; + long double x_adj2 = x_adj * x_adj; + for (size_t i = 1; i <= NCOEFF - 1; i++) + bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i]; + exp_adj += bsum / x_adj; + return ret + ret * __expm1l (exp_adj); + } +} long double __ieee754_gammal_r (long double x, int *signgamp) { - /* We don't have a real gamma implementation now. We'll use lgamma - and the exp function. But due to the required boundary - conditions we must check some values separately. */ int64_t hx; u_int64_t lx; @@ -51,8 +144,49 @@ __ieee754_gammal_r (long double x, int *signgamp) *signgamp = 0; return x - x; } + if ((hx & 0x7ff0000000000000ULL) == 0x7ff0000000000000ULL) + { + /* Positive infinity (return positive infinity) or NaN (return + NaN). */ + *signgamp = 0; + return x + x; + } - /* XXX FIXME. */ - return __ieee754_expl (__ieee754_lgammal_r (x, signgamp)); + if (x >= 172.0L) + { + /* Overflow. */ + *signgamp = 0; + return LDBL_MAX * LDBL_MAX; + } + else if (x > 0.0L) + { + *signgamp = 0; + int exp2_adj; + long double ret = gammal_positive (x, &exp2_adj); + return __scalbnl (ret, exp2_adj); + } + else if (x >= -0x1p-110L) + { + *signgamp = 0; + return 1.0f / x; + } + else + { + long double tx = __truncl (x); + *signgamp = (tx == 2.0L * __truncl (tx / 2.0L)) ? -1 : 1; + if (x <= -191.0L) + /* Underflow. */ + return LDBL_MIN * LDBL_MIN; + long double frac = tx - x; + if (frac > 0.5L) + frac = 1.0L - frac; + long double sinpix = (frac <= 0.25L + ? __sinl (M_PIl * frac) + : __cosl (M_PIl * (0.5L - frac))); + int exp2_adj; + long double ret = M_PIl / (-x * sinpix + * gammal_positive (-x, &exp2_adj)); + return __scalbnl (ret, -exp2_adj); + } } strong_alias (__ieee754_gammal_r, __gammal_r_finite) diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c b/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c index 692ae2493..6a72d6a85 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c @@ -185,13 +185,13 @@ static const int32_t two_over_pi[] = { }; static const long double c[] = { -/* 93 bits of pi/2 */ +/* 106 bits of pi/2 */ #define PI_2_1 c[0] - 1.57079632679489661923132169155131424e+00L, /* 3fff921fb54442d18469898cc5100000 */ + 0x1.921fb54442d18469898cc517018p+0L, /* pi/2 - PI_2_1 */ #define PI_2_1t c[1] - 8.84372056613570112025531863263659260e-29L, /* 3fa1c06e0e68948127044533e63a0106 */ + 0x3.839a252049c1114cf98e804178p-108L, }; int32_t __ieee754_rem_pio2l(long double x, long double *y) @@ -216,7 +216,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y) { if (hx > 0) { - /* 113 + 93 bit PI is ok */ + /* 106 + 106 bit PI is ok */ z = x - PI_2_1; y[0] = z - PI_2_1t; y[1] = (z - y[0]) - PI_2_1t; @@ -224,7 +224,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y) } else { - /* 113 + 93 bit PI is ok */ + /* 106 + 106 bit PI is ok */ z = x + PI_2_1; y[0] = z + PI_2_1t; y[1] = (z - y[0]) + PI_2_1t; diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/gamma_productl.c b/libc/sysdeps/ieee754/ldbl-128ibm/gamma_productl.c new file mode 100644 index 000000000..7c6186d23 --- /dev/null +++ b/libc/sysdeps/ieee754/ldbl-128ibm/gamma_productl.c @@ -0,0 +1,42 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +long double +__gamma_productl (long double x, long double x_eps, int n, long double *eps) +{ + long double ret = x; + *eps = x_eps / x; + for (int i = 1; i < n; i++) + { + *eps += x_eps / (x + i); + ret *= x + i; + /* FIXME: no error estimates for the multiplication. */ + } + return ret; +} diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h b/libc/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h index 1cce1fc4d..58eb57cd6 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h +++ b/libc/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h @@ -4,6 +4,7 @@ #include <sysdeps/ieee754/ldbl-128/math_ldbl.h> #include <ieee754.h> +#include <stdint.h> static inline void ldbl_extract_mantissa (int64_t *hi64, uint64_t *lo64, int *exp, long double x) diff --git a/libc/sysdeps/ieee754/ldbl-96/e_gammal_r.c b/libc/sysdeps/ieee754/ldbl-96/e_gammal_r.c index 0974351a1..7cb3e8563 100644 --- a/libc/sysdeps/ieee754/ldbl-96/e_gammal_r.c +++ b/libc/sysdeps/ieee754/ldbl-96/e_gammal_r.c @@ -19,14 +19,102 @@ #include <math.h> #include <math_private.h> +#include <float.h> +/* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's + approximation to gamma function. */ + +static const long double gamma_coeff[] = + { + 0x1.5555555555555556p-4L, + -0xb.60b60b60b60b60bp-12L, + 0x3.4034034034034034p-12L, + -0x2.7027027027027028p-12L, + 0x3.72a3c5631fe46aep-12L, + -0x7.daac36664f1f208p-12L, + 0x1.a41a41a41a41a41ap-8L, + -0x7.90a1b2c3d4e5f708p-8L, + }; + +#define NCOEFF (sizeof (gamma_coeff) / sizeof (gamma_coeff[0])) + +/* Return gamma (X), for positive X less than 1766, in the form R * + 2^(*EXP2_ADJ), where R is the return value and *EXP2_ADJ is set to + avoid overflow or underflow in intermediate calculations. */ + +static long double +gammal_positive (long double x, int *exp2_adj) +{ + int local_signgam; + if (x < 0.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x + 1, &local_signgam)) / x; + } + else if (x <= 1.5L) + { + *exp2_adj = 0; + return __ieee754_expl (__ieee754_lgammal_r (x, &local_signgam)); + } + else if (x < 7.5L) + { + /* Adjust into the range for using exp (lgamma). */ + *exp2_adj = 0; + long double n = __ceill (x - 1.5L); + long double x_adj = x - n; + long double eps; + long double prod = __gamma_productl (x_adj, 0, n, &eps); + return (__ieee754_expl (__ieee754_lgammal_r (x_adj, &local_signgam)) + * prod * (1.0L + eps)); + } + else + { + long double eps = 0; + long double x_eps = 0; + long double x_adj = x; + long double prod = 1; + if (x < 13.0L) + { + /* Adjust into the range for applying Stirling's + approximation. */ + long double n = __ceill (13.0L - x); + x_adj = x + n; + x_eps = (x - (x_adj - n)); + prod = __gamma_productl (x_adj - n, x_eps, n, &eps); + } + /* The result is now gamma (X_ADJ + X_EPS) / (PROD * (1 + EPS)). + Compute gamma (X_ADJ + X_EPS) using Stirling's approximation, + starting by computing pow (X_ADJ, X_ADJ) with a power of 2 + factored out. */ + long double exp_adj = -eps; + long double x_adj_int = __roundl (x_adj); + long double x_adj_frac = x_adj - x_adj_int; + int x_adj_log2; + long double x_adj_mant = __frexpl (x_adj, &x_adj_log2); + if (x_adj_mant < M_SQRT1_2l) + { + x_adj_log2--; + x_adj_mant *= 2.0L; + } + *exp2_adj = x_adj_log2 * (int) x_adj_int; + long double ret = (__ieee754_powl (x_adj_mant, x_adj) + * __ieee754_exp2l (x_adj_log2 * x_adj_frac) + * __ieee754_expl (-x_adj) + * __ieee754_sqrtl (2 * M_PIl / x_adj) + / prod); + exp_adj += x_eps * __ieee754_logl (x); + long double bsum = gamma_coeff[NCOEFF - 1]; + long double x_adj2 = x_adj * x_adj; + for (size_t i = 1; i <= NCOEFF - 1; i++) + bsum = bsum / x_adj2 + gamma_coeff[NCOEFF - 1 - i]; + exp_adj += bsum / x_adj; + return ret + ret * __expm1l (exp_adj); + } +} long double __ieee754_gammal_r (long double x, int *signgamp) { - /* We don't have a real gamma implementation now. We'll use lgamma - and the exp function. But due to the required boundary - conditions we must check some values separately. */ u_int32_t es, hx, lx; GET_LDOUBLE_WORDS (es, hx, lx, x); @@ -43,22 +131,55 @@ __ieee754_gammal_r (long double x, int *signgamp) *signgamp = 0; return x - x; } - if (__builtin_expect ((es & 0x7fff) == 0x7fff, 0) - && ((hx & 0x7fffffff) | lx) != 0) + if (__builtin_expect ((es & 0x7fff) == 0x7fff, 0)) { - /* NaN, return it. */ + /* Positive infinity (return positive infinity) or NaN (return + NaN). */ *signgamp = 0; - return x; + return x + x; } - if (__builtin_expect ((es & 0x8000) != 0, 0) - && x < 0xffffffff && __rintl (x) == x) + if (__builtin_expect ((es & 0x8000) != 0, 0) && __rintl (x) == x) { /* Return value for integer x < 0 is NaN with invalid exception. */ *signgamp = 0; return (x - x) / (x - x); } - /* XXX FIXME. */ - return __ieee754_expl (__ieee754_lgammal_r (x, signgamp)); + if (x >= 1756.0L) + { + /* Overflow. */ + *signgamp = 0; + return LDBL_MAX * LDBL_MAX; + } + else if (x > 0.0L) + { + *signgamp = 0; + int exp2_adj; + long double ret = gammal_positive (x, &exp2_adj); + return __scalbnl (ret, exp2_adj); + } + else if (x >= -LDBL_EPSILON / 4.0L) + { + *signgamp = 0; + return 1.0f / x; + } + else + { + long double tx = __truncl (x); + *signgamp = (tx == 2.0L * __truncl (tx / 2.0L)) ? -1 : 1; + if (x <= -1766.0L) + /* Underflow. */ + return LDBL_MIN * LDBL_MIN; + long double frac = tx - x; + if (frac > 0.5L) + frac = 1.0L - frac; + long double sinpix = (frac <= 0.25L + ? __sinl (M_PIl * frac) + : __cosl (M_PIl * (0.5L - frac))); + int exp2_adj; + long double ret = M_PIl / (-x * sinpix + * gammal_positive (-x, &exp2_adj)); + return __scalbnl (ret, -exp2_adj); + } } strong_alias (__ieee754_gammal_r, __gammal_r_finite) diff --git a/libc/sysdeps/ieee754/ldbl-96/gamma_product.c b/libc/sysdeps/ieee754/ldbl-96/gamma_product.c new file mode 100644 index 000000000..d464e7084 --- /dev/null +++ b/libc/sysdeps/ieee754/ldbl-96/gamma_product.c @@ -0,0 +1,46 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> +#include <float.h> + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +double +__gamma_product (double x, double x_eps, int n, double *eps) +{ + long double x_full = (long double) x + (long double) x_eps; + long double ret = x_full; + for (int i = 1; i < n; i++) + ret *= x_full + i; + +#if FLT_EVAL_METHOD != 0 + volatile +#endif + double fret = ret; + *eps = (ret - fret) / fret; + + return fret; +} diff --git a/libc/sysdeps/ieee754/ldbl-96/gamma_productl.c b/libc/sysdeps/ieee754/ldbl-96/gamma_productl.c new file mode 100644 index 000000000..157dbab9f --- /dev/null +++ b/libc/sysdeps/ieee754/ldbl-96/gamma_productl.c @@ -0,0 +1,75 @@ +/* Compute a product of X, X+1, ..., with an error estimate. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <math.h> +#include <math_private.h> +#include <float.h> + +/* Calculate X * Y exactly and store the result in *HI + *LO. It is + given that the values are small enough that no overflow occurs and + large enough (or zero) that no underflow occurs. */ + +static inline void +mul_split (long double *hi, long double *lo, long double x, long double y) +{ +#ifdef __FP_FAST_FMAL + /* Fast built-in fused multiply-add. */ + *hi = x * y; + *lo = __builtin_fmal (x, y, -*hi); +#elif defined FP_FAST_FMAL + /* Fast library fused multiply-add, compiler before GCC 4.6. */ + *hi = x * y; + *lo = __fmal (x, y, -*hi); +#else + /* Apply Dekker's algorithm. */ + *hi = x * y; +# define C ((1LL << (LDBL_MANT_DIG + 1) / 2) + 1) + long double x1 = x * C; + long double y1 = y * C; +# undef C + x1 = (x - x1) + x1; + y1 = (y - y1) + y1; + long double x2 = x - x1; + long double y2 = y - y1; + *lo = (((x1 * y1 - *hi) + x1 * y2) + x2 * y1) + x2 * y2; +#endif +} + +/* Compute the product of X + X_EPS, X + X_EPS + 1, ..., X + X_EPS + N + - 1, in the form R * (1 + *EPS) where the return value R is an + approximation to the product and *EPS is set to indicate the + approximate error in the return value. X is such that all the + values X + 1, ..., X + N - 1 are exactly representable, and X_EPS / + X is small enough that factors quadratic in it can be + neglected. */ + +long double +__gamma_productl (long double x, long double x_eps, int n, long double *eps) +{ + SET_RESTORE_ROUNDL (FE_TONEAREST); + long double ret = x; + *eps = x_eps / x; + for (int i = 1; i < n; i++) + { + *eps += x_eps / (x + i); + long double lo; + mul_split (&ret, &lo, ret, x + i); + *eps += lo / ret; + } + return ret; +} diff --git a/libc/sysdeps/ieee754/s_lib_version.c b/libc/sysdeps/ieee754/s_lib_version.c index a377ab1f7..7abb3e07a 100644 --- a/libc/sysdeps/ieee754/s_lib_version.c +++ b/libc/sysdeps/ieee754/s_lib_version.c @@ -25,16 +25,17 @@ static char rcsid[] = "$NetBSD: s_lib_version.c,v 1.6 1995/05/10 20:47:44 jtc Ex * define and initialize _LIB_VERSION */ #ifdef _POSIX_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _POSIX_; +_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _POSIX_; #else #ifdef _XOPEN_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _XOPEN_; +_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _XOPEN_; #else #ifdef _SVID3_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _SVID_; +_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _SVID_; #else /* default _IEEE_MODE */ -_LIB_VERSION_TYPE _LIB_VERSION = _IEEE_; +_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _IEEE_; #endif #endif #endif +weak_alias (_LIB_VERSION_INTERNAL, _LIB_VERSION) diff --git a/libc/sysdeps/mach/hurd/bits/statvfs.h b/libc/sysdeps/mach/hurd/bits/statvfs.h index ecde762f1..68bd058b4 100644 --- a/libc/sysdeps/mach/hurd/bits/statvfs.h +++ b/libc/sysdeps/mach/hurd/bits/statvfs.h @@ -87,7 +87,9 @@ enum , ST_NOEXEC = 8, # define ST_NOEXEC ST_NOEXEC - ST_SYNCHRONOUS = 16 + ST_SYNCHRONOUS = 16, # define ST_SYNCHRONOUS ST_SYNCHRONOUS + ST_NOATIME = 32 /* Do not update access times. */ +# define ST_NOATIME ST_NOATIME #endif }; diff --git a/libc/sysdeps/mach/hurd/open.c b/libc/sysdeps/mach/hurd/open.c index 2ba2b5d6e..49dd287c0 100644 --- a/libc/sysdeps/mach/hurd/open.c +++ b/libc/sysdeps/mach/hurd/open.c @@ -52,20 +52,9 @@ weak_alias (__libc_open, __open) libc_hidden_weak (__open) weak_alias (__libc_open, open) -int -__open_2 (file, oflag) - const char *file; - int oflag; -{ - if (oflag & O_CREAT) - __fortify_fail ("invalid open call: O_CREAT without mode"); - - return __open (file, oflag); -} /* open64 is just the same as open for us. */ weak_alias (__libc_open, __libc_open64) weak_alias (__libc_open, __open64) libc_hidden_weak (_open64) weak_alias (__libc_open, open64) -strong_alias (__open_2, __open64_2) diff --git a/libc/sysdeps/mach/hurd/openat.c b/libc/sysdeps/mach/hurd/openat.c index 9eb163f84..e568acc87 100644 --- a/libc/sysdeps/mach/hurd/openat.c +++ b/libc/sysdeps/mach/hurd/openat.c @@ -56,20 +56,7 @@ __openat (fd, file, oflag) libc_hidden_def (__openat) weak_alias (__openat, openat) -int -__openat_2 (fd, file, oflag) - int fd; - const char *file; - int oflag; -{ - if (oflag & O_CREAT) - __fortify_fail ("invalid openat call: O_CREAT without mode"); - - return __openat (fd, file, oflag); -} - /* openat64 is just the same as openat for us. */ weak_alias (__openat, __openat64) libc_hidden_weak (__openat64) weak_alias (__openat, openat64) -strong_alias (__openat_2, __openat64_2) diff --git a/libc/sysdeps/posix/getaddrinfo.c b/libc/sysdeps/posix/getaddrinfo.c index d3683066a..ab135ada7 100644 --- a/libc/sysdeps/posix/getaddrinfo.c +++ b/libc/sysdeps/posix/getaddrinfo.c @@ -47,6 +47,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <stdio_ext.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> #include <arpa/inet.h> #include <net/if.h> #include <netinet/in.h> diff --git a/libc/sysdeps/posix/opendir.c b/libc/sysdeps/posix/opendir.c index 0efeb5d30..ddfc3a751 100644 --- a/libc/sysdeps/posix/opendir.c +++ b/libc/sysdeps/posix/opendir.c @@ -22,6 +22,7 @@ #include <stdlib.h> #include <dirent.h> #include <fcntl.h> +#include <sys/param.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> diff --git a/libc/sysdeps/posix/truncate.c b/libc/sysdeps/posix/truncate.c index ae29be810..7ef1400eb 100644 --- a/libc/sysdeps/posix/truncate.c +++ b/libc/sysdeps/posix/truncate.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1995-2013 Free Software Foundation, Inc. +/* Truncate a file given by name. Generic POSIX.1 version. + 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 @@ -22,20 +23,22 @@ /* Truncate PATH to LENGTH bytes. */ int -truncate (path, length) - const char *path; - off_t length; +__truncate (const char *path, off_t length) { int fd, ret, save; - fd = open (path, O_WRONLY); + fd = __open (path, O_WRONLY | (length == 0 ? O_TRUNC : 0)); if (fd < 0) return -1; - ret = ftruncate (fd, length); + if (length == 0) + ret = 0; + else + ret = __ftruncate (fd, length); save = errno; - (void) close (fd); + (void) __close (fd); if (ret < 0) __set_errno (save); return ret; } +weak_alias (__truncate, truncate) diff --git a/libc/sysdeps/powerpc/fpu/e_hypot.c b/libc/sysdeps/powerpc/fpu/e_hypot.c index f23633946..8cf5b02d9 100644 --- a/libc/sysdeps/powerpc/fpu/e_hypot.c +++ b/libc/sysdeps/powerpc/fpu/e_hypot.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> +#include <stdint.h> static const double two60 = 1.152921504606847e+18; static const double two500 = 3.2733906078961419e+150; @@ -26,6 +27,7 @@ static const double two600 = 4.149515568880993e+180; static const double two1022 = 4.49423283715579e+307; static const double twoM500 = 3.054936363499605e-151; static const double twoM600 = 2.4099198651028841e-181; +static const double two60factor = 1.5592502418239997e+290; static const double pdnum = 2.225073858507201e-308; /* __ieee754_hypot(x,y) @@ -52,13 +54,13 @@ static const double pdnum = 2.225073858507201e-308; ieee_double_shape_type gh_u2; \ gh_u1.value = (d1); \ gh_u2.value = (d2); \ - (i1) = gh_u1.parts.msw; \ - (i2) = gh_u2.parts.msw; \ + (i1) = gh_u1.parts.msw & 0x7fffffff; \ + (i2) = gh_u2.parts.msw & 0x7fffffff; \ } while (0) # define TEST_INF_NAN(x, y) \ do { \ - int32_t hx, hy; \ + uint32_t hx, hy; \ GET_TW0_HIGH_WORD(x, y, hx, hy); \ if (hy > hx) { \ uint32_t ht = hx; hx = hy; hy = ht; \ @@ -87,9 +89,20 @@ __ieee754_hypot (double x, double y) x = y; y = t; } - if (y == 0.0 || (x / y) > two60) + if (y == 0.0) + return x; + /* if y is higher enough, y * 2^60 might overflow. The tests if + y >= 1.7976931348623157e+308/2^60 (two60factor) and uses the + appropriate check to avoid the overflow exception generation. */ + if (y > two60factor) { - return x + y; + if ((x / y) > two60) + return x + y; + } + else + { + if (x > (y * two60)) + return x + y; } if (x > two500) { diff --git a/libc/sysdeps/powerpc/fpu/e_hypotf.c b/libc/sysdeps/powerpc/fpu/e_hypotf.c index e97f0c35e..5fc91ee4c 100644 --- a/libc/sysdeps/powerpc/fpu/e_hypotf.c +++ b/libc/sysdeps/powerpc/fpu/e_hypotf.c @@ -19,7 +19,7 @@ #include <math.h> #include <math_private.h> - +#include <stdint.h> static const float two30 = 1.0737418e09; @@ -46,13 +46,13 @@ static const float two30 = 1.0737418e09; ieee_float_shape_type gf_u2; \ gf_u1.value = (f1); \ gf_u2.value = (f2); \ - (i1) = gf_u1.word; \ - (i2) = gf_u2.word; \ + (i1) = gf_u1.word & 0x7fffffff; \ + (i2) = gf_u2.word & 0x7fffffff; \ } while (0) # define TEST_INF_NAN(x, y) \ do { \ - int32_t hx, hy; \ + uint32_t hx, hy; \ GET_TWO_FLOAT_WORD(x, y, hx, hy); \ if (hy > hx) { \ uint32_t ht = hx; hx = hy; hy = ht; \ @@ -69,22 +69,8 @@ static const float two30 = 1.0737418e09; float __ieee754_hypotf (float x, float y) { - x = fabsf (x); - y = fabsf (y); - TEST_INF_NAN (x, y); - if (y > x) - { - float t = y; - y = x; - x = t; - } - if (y == 0.0 || (x / y) > two30) - { - return x + y; - } - return __ieee754_sqrt ((double) x * x + (double) y * y); } strong_alias (__ieee754_hypotf, __hypotf_finite) diff --git a/libc/sysdeps/powerpc/fpu/e_sqrt.c b/libc/sysdeps/powerpc/fpu/e_sqrt.c index 97bb87036..3efe277f3 100644 --- a/libc/sysdeps/powerpc/fpu/e_sqrt.c +++ b/libc/sysdeps/powerpc/fpu/e_sqrt.c @@ -20,7 +20,7 @@ #include <math_private.h> #include <fenv_libc.h> #include <inttypes.h> - +#include <stdint.h> #include <sysdep.h> #include <ldsodefs.h> diff --git a/libc/sysdeps/powerpc/fpu/e_sqrtf.c b/libc/sysdeps/powerpc/fpu/e_sqrtf.c index 3b2e243bb..6e50a3cd7 100644 --- a/libc/sysdeps/powerpc/fpu/e_sqrtf.c +++ b/libc/sysdeps/powerpc/fpu/e_sqrtf.c @@ -20,7 +20,7 @@ #include <math_private.h> #include <fenv_libc.h> #include <inttypes.h> - +#include <stdint.h> #include <sysdep.h> #include <ldsodefs.h> diff --git a/libc/sysdeps/powerpc/fpu/libm-test-ulps b/libc/sysdeps/powerpc/fpu/libm-test-ulps index 5072190fd..18927b470 100644 --- a/libc/sysdeps/powerpc/fpu/libm-test-ulps +++ b/libc/sysdeps/powerpc/fpu/libm-test-ulps @@ -240,37 +240,942 @@ ifloat: 1 Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": double: 1 idouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.25 + 1.0 i) == 1.747098759571863549650000258275841544745 - 8.924633639033482359562124741744951972772e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.25 + 1.0 i) == 1.747098759571863549650000258275841544745 - 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.25 - 1.0 i) == 1.747098759571863549650000258275841544745 + 8.924633639033482359562124741744951972772e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.25 - 1.0 i) == 1.747098759571863549650000258275841544745 + 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (-0.5 + +0 i) == 2.094395102393195492308428922186335256131 - 0 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i) == 2.094395102393195492308428922186335256131 - 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 - 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-105 i) == 2.094395102393195492308428922186335256131 - 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i) == 2.094395102393195492308428922186335256131 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-112 i) == 2.094395102393195492308428922186335256131 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i) == 2.094395102393195492308428922186335256131 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-23 i) == 2.094395102393190022547898764614298351924 - 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i) == 2.094395102393190022547898764614298351924 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-52 i) == 2.094395102393195492308428922186316279087 - 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-52 i) == 2.094395102393195492308428922186316279087 - 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-63 i) == 2.094395102393195492308428922186335256127 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 1.0 i) == 1.920235389652109912858733517715121394831 - 9.261330313501824245501244453057873152694e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.5 + 1.0 i) == 1.920235389652109912858733517715121394831 - 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 ldouble: 1 Test "Real part of: cacos (-0.5 - 0 i) == 2.094395102393195492308428922186335256131 + +0 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i) == 2.094395102393195492308428922186335256131 + 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 + 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-105 i) == 2.094395102393195492308428922186335256131 + 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i) == 2.094395102393195492308428922186335256131 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-112 i) == 2.094395102393195492308428922186335256131 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i) == 2.094395102393195492308428922186335256131 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-23 i) == 2.094395102393190022547898764614298351924 + 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i) == 2.094395102393190022547898764614298351924 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-52 i) == 2.094395102393195492308428922186316279087 + 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-52 i) == 2.094395102393195492308428922186316279087 + 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-63 i) == 2.094395102393195492308428922186335256127 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 1.0 i) == 1.920235389652109912858733517715121394831 + 9.261330313501824245501244453057873152694e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0.5 - 1.0 i) == 1.920235389652109912858733517715121394831 + 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 3.141592634635223399311902261000251614142 - 1.171456840272878582596796205397918831268e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 3.141592634635223399311902261000251614142 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 3.141592634635223399311902261000251614142 + 1.171456840272878582596796205397918831268e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 3.141592634635223399311902261000251614142 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == 3.141592653170952461345846619605307690007 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == 3.141592653170952461345846619605307690007 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x0.ffffffp0 + 0.0 i) == 3.141247386605077034875040133796864147700 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x0.ffffffp0 + 0x1.fp-129 i) == 3.141247386605077034875040133796864147700 - 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i) == 3.141153467203602189751698864505105063797 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacos (-0x0.ffffffp0 - 0.0 i) == 3.141247386605077034875040133796864147700 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x0.ffffffp0 - 0x1.fp-129 i) == 3.141247386605077034875040133796864147700 + 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i) == 3.141153467203602189751698864505105063797 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacos (-0x1.0000000000000002p0 + 0x1p-63 i) == 3.141592653377875508152537040020250564229 - 5.116146586219826555037807251857670783420e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.0000000000000002p0 - 0x1p-63 i) == 3.141592653377875508152537040020250564229 + 5.116146586219826555037807251857670783420e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i) == 3.141592643999491532482601997450598791535 - 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i) == 3.141592643999491532482601997450598791535 - 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i) == 3.141592643999491532482601997450598791535 + 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i) == 3.141592643999491532482601997450598791535 + 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.000002p0 + 0x1p-23 i) == 3.141370441751352383825802745874586120521 - 5.364668491573609633134147164031476452679e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i) == 3.141370441751352383825802745874586120521 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: cacos (-0x1.000002p0 - 0x1p-23 i) == 3.141370441751352383825802745874586120521 + 5.364668491573609633134147164031476452679e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i) == 3.141370441751352383825802745874586120521 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i) == 1.572134236154454360143880041170803681211 - 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i) == 1.572134236154454360143880041170803681211 + 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.fp-100 + 1.0 i) == 1.570796326794896619231321691640832196834 - 8.813735870195430252326093249797923090282e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i) == 1.570796326794896619231321691640832196834 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-100 - 1.0 i) == 1.570796326794896619231321691640832196834 + 8.813735870195430252326093249797923090282e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i) == 1.570796326794896619231321691640832196834 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i) == 1.570796326794896619231321691639751442099 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i) == 1.570796326794896619231321691639751442099 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442101 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442101 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i) == 1.570796326794896619231321691639751442101 - 8.813735448726938863015878255140556727969e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i) == 1.570796326794896619231321691639751442101 - 8.813736713132375348727889167749389235161e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i) == 1.570796326794896619231321691639751442101 - 2.846900380897727558361783801085126250967e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i) == 1.570796326794896619231321691639751442101 - 1.192092895507809676556842485683592032154e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 1.0 i) == 1.570796326794896619231321691639751442101 - 8.813735870195430252326093249797923090282e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i) == 1.570796326794896619231321691639751442101 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 1.5 i) == 1.570796326794896619231321691639751442100 - 1.194763217287109304111930828519090523536 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i) == 1.570796326794896619231321691639751442100 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442101 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442101 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i) == 1.570796326794896619231321691639751442101 + 8.813735448726938863015878255140556727969e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i) == 1.570796326794896619231321691639751442101 + 8.813736713132375348727889167749389235161e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i) == 1.570796326794896619231321691639751442101 + 2.846900380897727558361783801085126250967e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i) == 1.570796326794896619231321691639751442101 + 1.192092895507809676556842485683592032154e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 1.0 i) == 1.570796326794896619231321691639751442101 + 8.813735870195430252326093249797923090282e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i) == 1.570796326794896619231321691639751442101 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 1.5 i) == 1.570796326794896619231321691639751442100 + 1.194763217287109304111930828519090523536 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i) == 1.570796326794896619231321691639751442100 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1.fp-30 + 1.0 i) == 1.570796328070826603447840231892468927106 - 8.813735870195430258081932989769495326854e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i) == 1.570796328070826603447840231892468927106 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-30 - 1.0 i) == 1.570796328070826603447840231892468927106 + 8.813735870195430258081932989769495326854e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i) == 1.570796328070826603447840231892468927106 + 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0.0 i) == 1.570796326794896619231321691639776094002 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0.5 i) == 1.570796326794896619231321691639773491431 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i) == 1.570796326794896619231321691639773491431 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639768873627 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i) == 1.570796326794896619231321691639776094002 - 2.465190328815661891911651766508706967729e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.0 i) == 1.570796326794896619231321691639776094002 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.5 i) == 1.570796326794896619231321691639773491431 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i) == 1.570796326794896619231321691639773491431 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639768873627 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i) == 1.570796326794896619231321691639776094002 + 2.465190328815661891911651766508706967729e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.0 i) == 1.570796326794896619231321691639751634692 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751614359 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751614359 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i) == 1.570796326794896619231321691639751634692 - 1.925929944387235853055977942584927318538e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.0 i) == 1.570796326794896619231321691639751634692 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751614359 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751614359 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i) == 1.570796326794896619231321691639751634692 + 1.925929944387235853055977942584927318538e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0.0 i) == 1.570796446004186170012854035955502877351 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0.5 i) == 1.570796433418926613232299739606181733819 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i) == 1.570796433418926613232299739606181733819 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i) == 1.570796411088596153167306681647360823228 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0x1.000002p0 i) == 1.570796411088588616723617301287646121905 - 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i) == 1.570796446004186170012854035955502877351 - 2.846900380897747786805634596726756660388e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i) == 1.570796446004186170012007003008248567984 - 1.192092895507818146886315028596704749235e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0.0 i) == 1.570796446004186170012854035955502877351 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0.5 i) == 1.570796433418926613232299739606181733819 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i) == 1.570796433418926613232299739606181733819 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i) == 1.570796411088596153167306681647360823228 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0x1.000002p0 i) == 1.570796411088588616723617301287646121905 + 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i) == 1.570796446004186170012854035955502877351 + 2.846900380897747786805634596726756660388e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i) == 1.570796446004186170012007003008248567984 + 1.192092895507818146886315028596704749235e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0.0 i) == 1.570796326794896841275926616671059526825 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0.5 i) == 1.570796326794896817834053951421591208280 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i) == 1.570796326794896817834053951421591208280 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i) == 1.570796326794896841275926616671059526825 - 2.220446049250313080847263336181677117148e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.0 i) == 1.570796326794896841275926616671059526825 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.5 i) == 1.570796326794896817834053951421591208280 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i) == 1.570796326794896817834053951421591208280 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i) == 1.570796326794896841275926616671059526825 + 2.220446049250313080847263336181677117148e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.0 i) == 1.570796326794896619339741908888301885499 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.5 i) == 1.570796326794896619328295682000973043547 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i) == 1.570796326794896619328295682000973043547 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i) == 1.570796326794896619339741908888301885499 - 1.084202172485504434007452800869941711430e-19 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.0 i) == 1.570796326794896619339741908888301885499 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.5 i) == 1.570796326794896619328295682000973043547 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i) == 1.570796326794896619328295682000973043547 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i) == 1.570796326794896619339741908888301885499 + 1.084202172485504434007452800869941711430e-19 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-1.0 + 0.5 i) == 2.466703808003786858297978415967328452322 - 7.328576759736452608886724437653071523305e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-1.0 + 0.5 i) == 2.466703808003786858297978415967328452322 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i) == 3.098101355958774410750062883737683164607 - 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-1.0 + 0x1.fp-100 i) == 3.141592653589792002170605123018614219682 - 1.236292038260260888664514866457202186027e-15 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-1.0 + 0x1p50 i) == 1.570796326794897507409741391764983781004 - 3.535050620855721078027883819436759661753e1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-1.0 - 0.5 i) == 2.466703808003786858297978415967328452322 + 7.328576759736452608886724437653071523305e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-1.0 - 0.5 i) == 2.466703808003786858297978415967328452322 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i) == 3.098101355958774410750062883737683164607 + 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-1.0 - 0x1.fp-100 i) == 3.141592653589792002170605123018614219682 + 1.236292038260260888664514866457202186027e-15 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-1.0 - 0x1p50 i) == 1.570796326794897507409741391764983781004 + 3.535050620855721078027883819436759661753e1 i": +float: 1 +ifloat: 1 Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: cacos (-2 - 3 i) == 2.1414491111159960199416055713254211 + 1.9833870299165354323470769028940395 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.0 + 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.25 + 1.0 i) == 1.394493894017929688812643125003661339452 - 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.25 - 1.0 i) == 1.394493894017929688812643125003661339452 + 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i": double: 1 idouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-1025 i) == 1.047197551196597746154214461093167628066 - 6.222508863508420569166420770843207333493e-309 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-105 i) == 1.047197551196597746154214461093167628066 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-105 i) == 1.047197551196597746154214461093167628066 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-112 i) == 1.047197551196597746154214461093167628066 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-112 i) == 1.047197551196597746154214461093167628066 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-23 i) == 1.047197551196603215914744618665204532273 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-52 i) == 1.047197551196597746154214461093186605110 - 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-63 i) == 1.047197551196597746154214461093167628070 - 1.251928832280966098829878787499365228659e-19 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 1.0 i) == 1.221357263937683325603909865564381489366 - 9.261330313501824245501244453057873152694e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.5 + 1.0 i) == 1.221357263937683325603909865564381489366 - 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i": double: 1 idouble: 1 +Test "Real part of: cacos (0.5 - 0x1.fp-1025 i) == 1.047197551196597746154214461093167628066 + 6.222508863508420569166420770843207333493e-309 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-105 i) == 1.047197551196597746154214461093167628066 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-105 i) == 1.047197551196597746154214461093167628066 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-112 i) == 1.047197551196597746154214461093167628066 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-112 i) == 1.047197551196597746154214461093167628066 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-23 i) == 1.047197551196603215914744618665204532273 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-52 i) == 1.047197551196597746154214461093186605110 + 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-63 i) == 1.047197551196597746154214461093167628070 + 1.251928832280966098829878787499365228659e-19 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 1.0 i) == 1.221357263937683325603909865564381489366 + 9.261330313501824245501244453057873152694e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0.5 - 1.0 i) == 1.221357263937683325603909865564381489366 + 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i": float: 1 ifloat: 1 -Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0.0 i) == 1.490116119384765638786343542550461592240e-8 - 0.0 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == 1.490116119384765638786343542550461592240e-8 - 3.616396521699973256461764099945789620604e-301 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.895456983915074112227925127005564372844e-8 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0.0 i) == 1.490116119384765638786343542550461592240e-8 + 0.0 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == 1.490116119384765638786343542550461592240e-8 + 3.616396521699973256461764099945789620604e-301 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.895456983915074112227925127005564372844e-8 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.997188458999618357060632049675702684031e-16 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.997188458999618357060632049675702684031e-16 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i) == 3.452669847162035876032494826387364972849e-4 - 0.0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i) == 3.452669847162035876032494826387364972849e-4 - 8.245504387859737323891843603996428534945e-36 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i) == 3.452669847162035876032494826387364972849e-4 + 0.0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i) == 3.452669847162035876032494826387364972849e-4 + 8.245504387859737323891843603996428534945e-36 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 - 2.315303644582684770975188768022139415020e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000001p0 + 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 - 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 + 2.315303644582684770975188768022139415020e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 + 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 - 5.364668491573609633134147164031476452679e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 + 5.364668491573609633134147164031476452679e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: cacos (0x1.fp-10 + 1.0 i) == 1.569458417435338878318763342108699202986 - 8.813742198809567991336704287826445879025e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i) == 1.569458417435338878318763342108699202986 - 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.fp-10 - 1.0 i) == 1.569458417435338878318763342108699202986 + 8.813742198809567991336704287826445879025e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i) == 1.569458417435338878318763342108699202986 + 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.fp-100 + 1.0 i) == 1.570796326794896619231321691638670687364 - 8.813735870195430252326093249797923090282e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i) == 1.570796326794896619231321691638670687364 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (0x1.fp-100 - 1.0 i) == 1.570796326794896619231321691638670687364 + 8.813735870195430252326093249797923090282e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i) == 1.570796326794896619231321691638670687364 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i) == 1.570796326794896619231321691639751442099 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i) == 1.570796326794896619231321691639751442099 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442096 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i) == 1.570796326794896619231321691639751442097 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i) == 1.570796326794896619231321691639751442097 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442096 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i) == 1.570796326794896619231321691639751442097 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i) == 1.570796326794896619231321691639751442097 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i) == 1.570796325518966635014803151387033957091 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i) == 1.570796325518966635014803151387033957091 + 8.813735870195430258081932989769495326854e-1 i": double: 1 float: 1 idouble: 1 ifloat: 1 Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i) == 7.853981633974483096156608458198757210493e-1 - 7.107906849659093345062145442726115449315e2 i": +double: 1 +idouble: 1 +ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i) == 7.853981633974483096156608458198757210493e-1 - 8.973081118419833726837456344608533993585e1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-105 + 0.5 i) == 1.570796326794896619231321691639729392766 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 + 0.5 i) == 1.570796326794896619231321691639729392766 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-105 - 0.5 i) == 1.570796326794896619231321691639729392766 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 - 0.5 i) == 1.570796326794896619231321691639729392766 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751269838 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751269838 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0.5 i) == 1.570796220170866625230343643673321150378 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i) == 1.570796242501197085295336701632142060969 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0x1.000002p0 i) == 1.570796242501204621739026081991856762292 - 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0.5 i) == 1.570796220170866625230343643673321150378 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i) == 1.570796242501197085295336701632142060969 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0x1.000002p0 i) == 1.570796242501204621739026081991856762292 + 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-52 + 0.5 i) == 1.570796326794896420628589431857911675917 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i) == 1.570796326794896462222075823262236786996 - 8.813735870195429467279863907910458761820e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 + 0x1.0000000000001p0 i) == 1.570796326794896462222075823262262934288 - 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-52 - 0.5 i) == 1.570796326794896420628589431857911675917 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i) == 1.570796326794896462222075823262236786996 + 8.813735870195429467279863907910458761820e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 - 0x1.0000000000001p0 i) == 1.570796326794896462222075823262262934288 + 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-63 + 0.5 i) == 1.570796326794896619134347701278529840650 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-63 - 0.5 i) == 1.570796326794896619134347701278529840650 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 + 0.25 i) == 4.890443302710802929202843732146540079124e-1 - 5.097911466811016354623559941115413499164e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (1.0 + 0.5 i) == 6.748888455860063801646649673121744318756e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.0 + 0.5 i) == 6.748888455860063801646649673121744318756e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 + 0x1.fp-10 i) == 4.349129763101882771258049954181971959031e-2 - 4.350501469856803800217957402220976497152e-2 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i) == 4.349129763101882771258049954181971959031e-2 - 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (1.0 + 0x1.fp-30 i) == 4.247867097467650115899790787875186617316e-5 - 4.247867098745151888768727039216644758847e-5 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (1.0 - 0.25 i) == 4.890443302710802929202843732146540079124e-1 + 5.097911466811016354623559941115413499164e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (1.0 - 0.5 i) == 6.748888455860063801646649673121744318756e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.0 - 0.5 i) == 6.748888455860063801646649673121744318756e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (1.0 - 0x1.fp-10 i) == 4.349129763101882771258049954181971959031e-2 + 4.350501469856803800217957402220976497152e-2 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i) == 4.349129763101882771258049954181971959031e-2 + 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (1.0 - 0x1.fp-30 i) == 4.247867097467650115899790787875186617316e-5 + 4.247867098745151888768727039216644758847e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 # cacosh Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": @@ -317,12 +1222,524 @@ ifloat: 1 Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": double: 1 idouble: 1 +Test "Real part of: cacosh (-0.0 + 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.747098759571863549650000258275841544745 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.747098759571863549650000258275841544745 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.747098759571863549650000258275841544745 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.747098759571863549650000258275841544745 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 + 2.094395102393190022547898764614298351924 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 + 2.094395102393190022547898764614298351924 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 + 2.094395102393195492308428922186316279087 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 + 2.094395102393195492308428922186316279087 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.920235389652109912858733517715121394831 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.920235389652109912858733517715121394831 i": +float: 1 +ifloat: 1 Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 - 2.094395102393190022547898764614298351924 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 - 2.094395102393190022547898764614298351924 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 - 2.094395102393195492308428922186316279087 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 - 2.094395102393195492308428922186316279087 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.920235389652109912858733517715121394831 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.920235389652109912858733517715121394831 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 + 3.141592634635223399311902261000251614142 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 + 3.141592634635223399311902261000251614142 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 - 3.141592634635223399311902261000251614142 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 - 3.141592634635223399311902261000251614142 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 + 3.141592653170952461345846619605307690007 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 - 3.141592653170952461345846619605307690007 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0.0 i) == 0.0 + 3.141247386605077034875040133796864147700 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 + 3.141247386605077034875040133796864147700 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 3.141153467203602189751698864505105063797 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0.0 i) == 0.0 - 3.141247386605077034875040133796864147700 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 - 3.141247386605077034875040133796864147700 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 3.141153467203602189751698864505105063797 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 + 0x1p-63 i) == 5.116146586219826555037807251857670783420e-10 + 3.141592653377875508152537040020250564229 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 - 0x1p-63 i) == 5.116146586219826555037807251857670783420e-10 - 3.141592653377875508152537040020250564229 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 + 3.141592643999491532482601997450598791535 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 + 3.141592643999491532482601997450598791535 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 - 3.141592643999491532482601997450598791535 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 - 3.141592643999491532482601997450598791535 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 3.141370441751352383825802745874586120521 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (-0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 3.141370441751352383825802745874586120521 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 3.141370441751352383825802745874586120521 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (-0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 3.141370441751352383825802745874586120521 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i) == 8.813742198809567991336704287826445879025e-1 + 1.572134236154454360143880041170803681211 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i) == 8.813742198809567991336704287826445879025e-1 - 1.572134236154454360143880041170803681211 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691640832196834 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691640832196834 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691640832196834 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691640832196834 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i) == 8.813735448726938863015878255140556727969e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i) == 8.813736713132375348727889167749389235161e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i) == 2.846900380897727558361783801085126250967e-39 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i) == 1.192092895507809676556842485683592032154e-7 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442101 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442100 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442100 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i) == 8.813735448726938863015878255140556727969e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i) == 8.813736713132375348727889167749389235161e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i) == 2.846900380897727558361783801085126250967e-39 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i) == 1.192092895507809676556842485683592032154e-7 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442101 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442100 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442100 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796328070826603447840231892468927106 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796328070826603447840231892468927106 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796328070826603447840231892468927106 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796328070826603447840231892468927106 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i) == 0.0 + 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639768873627 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i) == 2.465190328815661891911651766508706967729e-32 + 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i) == 0.0 - 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639768873627 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i) == 2.465190328815661891911651766508706967729e-32 - 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i) == 0.0 + 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i) == 1.925929944387235853055977942584927318538e-34 + 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i) == 0.0 - 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i) == 1.925929944387235853055977942584927318538e-34 - 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i) == 0.0 + 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 + 1.570796411088596153167306681647360823228 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 + 1.570796411088588616723617301287646121905 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i) == 2.846900380897747786805634596726756660388e-39 + 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i) == 1.192092895507818146886315028596704749235e-7 + 1.570796446004186170012007003008248567984 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i) == 0.0 - 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 - 1.570796411088596153167306681647360823228 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 - 1.570796411088588616723617301287646121905 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i) == 2.846900380897747786805634596726756660388e-39 - 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i) == 1.192092895507818146886315028596704749235e-7 - 1.570796446004186170012007003008248567984 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i) == 0.0 + 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i) == 2.220446049250313080847263336181677117148e-16 + 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i) == 0.0 - 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i) == 2.220446049250313080847263336181677117148e-16 - 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i) == 0.0 + 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i) == 1.084202172485504434007452800869941711430e-19 + 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i) == 0.0 - 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i) == 1.084202172485504434007452800869941711430e-19 - 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 2.466703808003786858297978415967328452322 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 2.466703808003786858297978415967328452322 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 3.098101355958774410750062883737683164607 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 + 0x1.fp-100 i) == 1.236292038260260888664514866457202186027e-15 + 3.141592653589792002170605123018614219682 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i) == 3.535050620855721078027883819436759661753e1 + 1.570796326794897507409741391764983781004 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 2.466703808003786858297978415967328452322 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 2.466703808003786858297978415967328452322 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 3.098101355958774410750062883737683164607 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 - 0x1.fp-100 i) == 1.236292038260260888664514866457202186027e-15 - 3.141592653589792002170605123018614219682 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i) == 3.535050620855721078027883819436759661753e1 - 1.570796326794897507409741391764983781004 i": +float: 1 +ifloat: 1 Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": float: 1 ifloat: 1 @@ -339,16 +1756,412 @@ double: 1 float: 3 idouble: 1 ifloat: 3 +Test "Real part of: cacosh (0.0 + 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.394493894017929688812643125003661339452 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.394493894017929688812643125003661339452 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (0.5 + +0 i) == +0 + 1.047197551196597746154214461093167628066 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 + 1.047197551196603215914744618665204532273 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 + 1.047197551196597746154214461093186605110 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 1.047197551196597746154214461093167628070 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.221357263937683325603909865564381489366 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.221357263937683325603909865564381489366 i": +float: 1 +ifloat: 1 Test "Imaginary part of: cacosh (0.5 - 0 i) == +0 - 1.047197551196597746154214461093167628066 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 - 1.047197551196603215914744618665204532273 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 - 1.047197551196597746154214461093186605110 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 1.047197551196597746154214461093167628070 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.221357263937683325603909865564381489366 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.221357263937683325603909865564381489366 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0.0 i) == 0.0 + 1.490116119384765638786343542550461592240e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == 3.616396521699973256461764099945789620604e-301 + 1.490116119384765638786343542550461592240e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 + 1.895456983915074112227925127005564372844e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0.0 i) == 0.0 - 1.490116119384765638786343542550461592240e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == 3.616396521699973256461764099945789620604e-301 - 1.490116119384765638786343542550461592240e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 - 1.895456983915074112227925127005564372844e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 + 1.997188458999618357060632049675702684031e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 - 1.997188458999618357060632049675702684031e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i) == 0.0 + 3.452669847162035876032494826387364972849e-4 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 + 3.452669847162035876032494826387364972849e-4 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i) == 0.0 - 3.452669847162035876032494826387364972849e-4 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 - 3.452669847162035876032494826387364972849e-4 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 + 9.590301705980041385828904092662391018164e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 + 9.590301705980041385828904092662391018164e-9 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 - 9.590301705980041385828904092662391018164e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 - 9.590301705980041385828904092662391018164e-9 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 2.222118384408546368406374049167636760903e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 2.222118384408546368406374049167636760903e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 2.222118384408546368406374049167636760903e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 2.222118384408546368406374049167636760903e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (0x1.fp-10 + 1.0 i) == 8.813742198809567991336704287826445879025e-1 + 1.569458417435338878318763342108699202986 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.fp-10 + 1.0 i) == 8.813742198809567991336704287826445879025e-1 + 1.569458417435338878318763342108699202986 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-10 - 1.0 i) == 8.813742198809567991336704287826445879025e-1 - 1.569458417435338878318763342108699202986 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.fp-10 - 1.0 i) == 8.813742198809567991336704287826445879025e-1 - 1.569458417435338878318763342108699202986 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691638670687364 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691638670687364 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691638670687364 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691638670687364 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == 8.813735870195430252326093249798097405561e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442096 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442097 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442096 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442097 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796325518966635014803151387033957091 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796325518966635014803151387033957091 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i) == 7.107906849659093345062145442726115449315e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i) == 8.973081118419833726837456344608533993585e1 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639729392766 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639729392766 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639729392766 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639729392766 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751269838 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751269838 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796220170866625230343643673321150378 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 + 1.570796242501197085295336701632142060969 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1p-23 + 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 + 1.570796242501204621739026081991856762292 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796220170866625230343643673321150378 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 - 1.570796242501197085295336701632142060969 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 - 1.570796242501204621739026081991856762292 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896420628589431857911675917 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i) == 8.813735870195429467279863907910458761820e-1 + 1.570796326794896462222075823262236786996 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 + 0x1.0000000000001p0 i) == 8.813735870195431822418551933572982483664e-1 + 1.570796326794896462222075823262262934288 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896420628589431857911675917 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i) == 8.813735870195429467279863907910458761820e-1 - 1.570796326794896462222075823262236786996 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 - 0x1.0000000000001p0 i) == 8.813735870195431822418551933572982483664e-1 - 1.570796326794896462222075823262262934288 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619134347701278529840650 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619134347701278529840650 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0.25 i) == 5.097911466811016354623559941115413499164e-1 + 4.890443302710802929202843732146540079124e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 4.349129763101882771258049954181971959031e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 4.349129763101882771258049954181971959031e-2 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 + 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 + 4.247867097467650115899790787875186617316e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (1.0 - 0.25 i) == 5.097911466811016354623559941115413499164e-1 - 4.890443302710802929202843732146540079124e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 4.349129763101882771258049954181971959031e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 4.349129763101882771258049954181971959031e-2 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 - 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 - 4.247867097467650115899790787875186617316e-5 i": +double: 1 +idouble: 1 Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": float: 1 ifloat: 1 @@ -421,16 +2234,366 @@ ifloat: 1 Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i": double: 1 idouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x1.000000000000000000000000008p0 i) == -0.0 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x1.000000000000000000000000008p0 i) == -0.0 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.25 + 1.0 i) == -1.763024327769669304186785666360901026468e-1 + 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.25 - 1.0 i) == -1.763024327769669304186785666360901026468e-1 - 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0.5 + +0 i) == -0.5235987755982988730771072305465838140329 + +0 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0.5 + 0x1.fp-1025 i) == -5.235987755982988730771072305465838140329e-1 + 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 + 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-52 i) == -5.235987755982988730771072305465648369889e-1 + 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-52 i) == -5.235987755982988730771072305465648369889e-1 + 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-63 i) == -5.235987755982988730771072305465838140283e-1 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 1.0 i) == -3.494390628572132936274118260753699527325e-1 + 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0.5 - 0 i) == -0.5235987755982988730771072305465838140329 - 0 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0.5 - 0x1.fp-1025 i) == -5.235987755982988730771072305465838140329e-1 - 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 - 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-52 i) == -5.235987755982988730771072305465648369889e-1 - 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-52 i) == -5.235987755982988730771072305465648369889e-1 - 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-63 i) == -5.235987755982988730771072305465838140283e-1 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 1.0 i) == -3.494390628572132936274118260753699527325e-1 - 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i) == -1.570796307840326780080580569360500172043 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i) == -1.570796307840326780080580569360500172043 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == -1.570796326794896462222075823262245502760 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == -1.570796326794896462222075823262245502760 + 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == -1.570796326794896462222075823262245502760 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == -1.570796326794896462222075823262245502760 - 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == -1.570796326376055842114524927965556247908 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == -1.570796326376055842114524927965556247908 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 + 0.0 i) == -1.570451059810180415643718442157112705601 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 + 0x1.fp-129 i) == -1.570451059810180415643718442157112705601 + 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i) == -1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i) == -1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: casin (-0x0.ffffffp0 - 0.0 i) == -1.570451059810180415643718442157112705601 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 - 0x1.fp-129 i) == -1.570451059810180415643718442157112705601 - 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i) == -1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i) == -1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0x1p-52 i) == -1.570796317204594913251280305810847349436 + 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0x1p-52 i) == -1.570796317204594913251280305810847349436 - 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i) == -1.570574114956455764594481054234834678422 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i) == -1.570574114956455764594481054234834678422 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casin (-0x1.fp-10 + 1.0 i) == -1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i) == -1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1.fp-10 - 1.0 i) == -1.337909359557740912558349531052239112857e-3 - 8.813742198809567991336704287826445879025e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i) == -1.337909359557740912558349531052239112857e-3 - 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i) == -1.080754735021050612990719608916167354321e-30 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i) == -1.080754735021050612990719608916167354321e-30 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i) == -1.278589251976747242280879285935084814093e-301 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i) == -1.278589251976747242280879285935084814093e-301 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == -3.810492908885321743133304375216570658278e-309 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i) == -3.810492908885321743133304375216617626230e-309 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i) == -2.989196569048182929051881765490354365918e-309 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == -3.810492908885321743133304375216570658278e-309 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i) == -3.810492908885321743133304375216617626230e-309 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i) == -2.989196569048182929051881765490354365918e-309 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i) == -2.546345110742945032959687790021055102355e-39 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i) == -2.013062564695348242280482517399205554874e-39 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i) == -1.579176199917649005841160751101628985741e-39 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i) == -2.546345110742945032959687790021055102355e-39 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i) == -2.013062564695348242280482517399205554874e-39 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i) == -1.579176199917649005841160751101628985741e-39 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1.fp-30 + 1.0 i) == -1.275929984216518540252717485007112529021e-9 + 8.813735870195430258081932989769495326854e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i) == -1.275929984216518540252717485007112529021e-9 + 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casin (-0x1.fp-30 - 1.0 i) == -1.275929984216518540252717485007112529021e-9 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i) == -1.275929984216518540252717485007112529021e-9 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 + 0.5 i) == -2.204933261082751447436996198490110245167e-32 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == -1.743152798421049375791483240187377443526e-32 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-105 - 0.5 i) == -2.204933261082751447436996198490110245167e-32 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == -1.743152798421049375791483240187377443526e-32 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-112 + 0.5 i) == -1.722604110220899568310153280070398629037e-34 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-112 - 0.5 i) == -1.722604110220899568310153280070398629037e-34 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-23 + 0.5 i) == -1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0.5 i) == -1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i) == -8.429369953393598499000760938112968755257e-8 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-23 - 0.5 i) == -1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0.5 i) == -1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i) == -8.429369953393598499000760938112968755257e-8 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-52 + 0.5 i) == -1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-52 - 0.5 i) == -1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-63 + 0.5 i) == -9.697399036122160144833087173623140436413e-20 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == -7.666467083416870407402049869781566856442e-20 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-63 - 0.5 i) == -9.697399036122160144833087173623140436413e-20 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == -7.666467083416870407402049869781566856442e-20 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-1.0 + 0.5 i) == -8.959074812088902390666567243275770102229e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.0 + 0.5 i) == -8.959074812088902390666567243275770102229e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-1.0 + 0x1.fp-10 i) == -1.527305029163877791518741192097931722508 + 4.350501469856803800217957402220976497152e-2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i) == -1.527305029163877791518741192097931722508 + 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-1.0 - 0.5 i) == -8.959074812088902390666567243275770102229e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.0 - 0.5 i) == -8.959074812088902390666567243275770102229e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-1.0 - 0x1.fp-10 i) == -1.527305029163877791518741192097931722508 - 4.350501469856803800217957402220976497152e-2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i) == -1.527305029163877791518741192097931722508 - 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i": double: 1 float: 1 @@ -439,21 +2602,269 @@ ifloat: 1 Test "Real part of: casin (-2 - 3 i) == -0.57065278432109940071028387968566963 - 1.9833870299165354323470769028940395 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x1.000000000000000000000000008p0 i) == 0.0 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x1.000000000000000000000000008p0 i) == 0.0 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.25 + 1.0 i) == 1.763024327769669304186785666360901026468e-1 + 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.25 - 1.0 i) == 1.763024327769669304186785666360901026468e-1 - 8.924633639033482359562124741744951972772e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.5 + +0 i) == 0.5235987755982988730771072305465838140329 + +0 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (0.5 + 0x1.fp-1025 i) == 5.235987755982988730771072305465838140329e-1 + 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 + 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 + 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 + 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 + 0x1p-52 i) == 5.235987755982988730771072305465648369889e-1 + 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-52 i) == 5.235987755982988730771072305465648369889e-1 + 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 + 0x1p-63 i) == 5.235987755982988730771072305465838140283e-1 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 1.0 i) == 3.494390628572132936274118260753699527325e-1 + 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.5 - 0 i) == 0.5235987755982988730771072305465838140329 - 0 i": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (0.5 - 0x1.fp-1025 i) == 5.235987755982988730771072305465838140329e-1 - 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 - 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 - 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 - 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0.5 - 0x1p-52 i) == 5.235987755982988730771072305465648369889e-1 - 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-52 i) == 5.235987755982988730771072305465648369889e-1 - 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 - 0x1p-63 i) == 5.235987755982988730771072305465838140283e-1 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 1.0 i) == 3.494390628572132936274118260753699527325e-1 - 9.261330313501824245501244453057873152694e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.570796307840326780080580569360500172043 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.570796307840326780080580569360500172043 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == 1.570796326794896462222075823262245502760 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == 1.570796326794896462222075823262245502760 + 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == 1.570796326794896462222075823262245502760 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == 1.570796326794896462222075823262245502760 - 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 1.570796326376055842114524927965556247908 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 1.570796326376055842114524927965556247908 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 + 0.0 i) == 1.570451059810180415643718442157112705601 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 + 0x1.fp-129 i) == 1.570451059810180415643718442157112705601 + 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i) == 1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i) == 1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: casin (0x0.ffffffp0 - 0.0 i) == 1.570451059810180415643718442157112705601 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 - 0x1.fp-129 i) == 1.570451059810180415643718442157112705601 - 8.245504387859737323891843603996428534945e-36 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i) == 1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i) == 1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (0x1.0000000000001p0 + 0x1p-52 i) == 1.570796317204594913251280305810847349436 + 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000001p0 - 0x1p-52 i) == 1.570796317204594913251280305810847349436 - 2.315303644582684770975188768022139415020e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i) == 1.570574114956455764594481054234834678422 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i) == 1.570574114956455764594481054234834678422 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casin (0x1.fp-10 + 1.0 i) == 1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i) == 1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1.fp-10 - 1.0 i) == 1.337909359557740912558349531052239112857e-3 - 8.813742198809567991336704287826445879025e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i) == 1.337909359557740912558349531052239112857e-3 - 8.813742198809567991336704287826445879025e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i) == 1.080754735021050612990719608916167354321e-30 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i) == 1.080754735021050612990719608916167354321e-30 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i) == 1.278589251976747242280879285935084814093e-301 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i) == 1.278589251976747242280879285935084814093e-301 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i) == 3.810492908885321743133304375216570658278e-309 + 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i) == 3.810492908885321743133304375216617626230e-309 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i) == 2.989196569048182929051881765490354365918e-309 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i) == 3.810492908885321743133304375216570658278e-309 - 8.813735870195430252326093249798097405561e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i) == 3.810492908885321743133304375216617626230e-309 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i) == 2.989196569048182929051881765490354365918e-309 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i) == 2.546345110742945032959687790021055102355e-39 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i) == 2.013062564695348242280482517399205554874e-39 + 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i) == 1.579176199917649005841160751101628985741e-39 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i) == 2.546345110742945032959687790021055102355e-39 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i) == 2.013062564695348242280482517399205554874e-39 - 8.813735870195430252326093249797923090282e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i) == 1.579176199917649005841160751101628985741e-39 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1.fp-30 + 1.0 i) == 1.275929984216518540252717485007112529021e-9 + 8.813735870195430258081932989769495326854e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i) == 1.275929984216518540252717485007112529021e-9 + 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casin (0x1.fp-30 - 1.0 i) == 1.275929984216518540252717485007112529021e-9 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i) == 1.275929984216518540252717485007112529021e-9 - 8.813735870195430258081932989769495326854e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i) == 7.853981633974483096156608458198757210493e-1 + 7.107906849659093345062145442726115449315e2 i": double: 1 idouble: 1 @@ -464,6 +2875,108 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1p-105 + 0.5 i) == 2.204933261082751447436996198490110245167e-32 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.743152798421049375791483240187377443526e-32 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-105 - 0.5 i) == 2.204933261082751447436996198490110245167e-32 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.743152798421049375791483240187377443526e-32 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-112 + 0.5 i) == 1.722604110220899568310153280070398629037e-34 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-112 - 0.5 i) == 1.722604110220899568310153280070398629037e-34 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-23 + 0.5 i) == 1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0.5 i) == 1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i) == 8.429369953393598499000760938112968755257e-8 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-23 - 0.5 i) == 1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0.5 i) == 1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i) == 8.429369953393598499000760938112968755257e-8 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-52 + 0.5 i) == 1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-52 - 0.5 i) == 1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-63 + 0.5 i) == 9.697399036122160144833087173623140436413e-20 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 7.666467083416870407402049869781566856442e-20 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-63 - 0.5 i) == 9.697399036122160144833087173623140436413e-20 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 7.666467083416870407402049869781566856442e-20 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (1.0 + 0.5 i) == 8.959074812088902390666567243275770102229e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (1.0 + 0.5 i) == 8.959074812088902390666567243275770102229e-1 + 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (1.0 + 0x1.fp-10 i) == 1.527305029163877791518741192097931722508 + 4.350501469856803800217957402220976497152e-2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i) == 1.527305029163877791518741192097931722508 + 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (1.0 - 0.5 i) == 8.959074812088902390666567243275770102229e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (1.0 - 0.5 i) == 8.959074812088902390666567243275770102229e-1 - 7.328576759736452608886724437653071523305e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (1.0 - 0x1.fp-10 i) == 1.527305029163877791518741192097931722508 - 4.350501469856803800217957402220976497152e-2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i) == 1.527305029163877791518741192097931722508 - 4.350501469856803800217957402220976497152e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i": double: 1 float: 1 @@ -501,6 +3014,18 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == -0.0 + 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffp0 i) == -0.0 + 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == -0.0 - 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffp0 i) == -0.0 - 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i": double: 2 float: 1 @@ -508,6 +3033,35 @@ idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Real part of: casinh (-0.5 + 0x1.fp-129 i) == -4.812118250596034474977589134243684231352e-1 + 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-105 i) == -4.812118250596034474977589134243684231352e-1 + 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-112 i) == -4.812118250596034474977589134243684231352e-1 + 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-63 i) == -4.812118250596034474977589134243684231373e-1 + 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 1.0 i) == -7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 + 1.0 i) == -7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i": double: 2 float: 1 @@ -515,6 +3069,219 @@ idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Real part of: casinh (-0.5 - 0x1.fp-129 i) == -4.812118250596034474977589134243684231352e-1 - 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-105 i) == -4.812118250596034474977589134243684231352e-1 - 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-112 i) == -4.812118250596034474977589134243684231352e-1 - 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-63 i) == -4.812118250596034474977589134243684231373e-1 - 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 1.0 i) == -7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0.5 - 1.0 i) == -7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == -8.813735870195430252326093249797835932642e-1 + 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == -8.813735870195430252326093249797835932642e-1 - 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == -8.813735870195430251942769895627079569937e-1 + 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == -8.813735870195430251942769895627079569937e-1 - 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i) == -8.813735448726963984495965873956465777250e-1 + 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i) == -8.813735448726963984495965873956465777250e-1 - 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0.0 i) == -8.813735870195430252326093249798097405561e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0x1.fp-1025 i) == -8.813735870195430252326093249798097405561e-1 + 3.810492908885321743133304375216570658278e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0.0 i) == -8.813735870195430252326093249798097405561e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0x1.fp-1025 i) == -8.813735870195430252326093249798097405561e-1 - 3.810492908885321743133304375216570658278e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.000002p0 + 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1.000002p0 - 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0x1.fp-10 + 1.0 i) == -4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-10 + 1.0 i) == -4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-10 - 1.0 i) == -4.350501469856803800217957402220976497152e-2 - 1.527305029163877791518741192097931722508 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-10 - 1.0 i) == -4.350501469856803800217957402220976497152e-2 - 1.527305029163877791518741192097931722508 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 + 0.5 i) == -6.222508863508420569166420770843207333493e-309 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == -3.432186888910770473784103112009399360940e-293 + 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 - 0.5 i) == -6.222508863508420569166420770843207333493e-309 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == -3.432186888910770473784103112009399360940e-293 - 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-129 + 0.5 i) == -3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-129 + 0.5 i) == -3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-129 + 0x0.ffffffp0 i) == -8.245504387859737323891843603996428534945e-36 + 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-129 - 0.5 i) == -3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-129 - 0.5 i) == -3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-129 - 0x0.ffffffp0 i) == -8.245504387859737323891843603996428534945e-36 - 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-105 + 0.5 i) == -2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1p-105 + 0.5 i) == -2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-105 - 0.5 i) == -2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1p-105 - 0.5 i) == -2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-112 + 0.5 i) == -2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i) == -2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-112 - 0.5 i) == -2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i) == -2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0.5 i) == -1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i) == -5.364668491573609633134147164031476452679e-4 + 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-0x1p-23 - 0.5 i) == -1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i) == -5.364668491573609633134147164031476452679e-4 - 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-0x1p-52 + 0.5 i) == -2.563950248511418570403591756798643804971e-16 + 5.235987755982988730771072305465648369889e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-52 + 0.5 i) == -2.563950248511418570403591756798643804971e-16 + 5.235987755982988730771072305465648369889e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i) == -1.171456840272878582596796205397918831268e-8 + 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i) == -2.315303644582684770975188768022139415020e-8 + 1.570796317204594913251280305810847349436 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-52 - 0.5 i) == -2.563950248511418570403591756798643804971e-16 - 5.235987755982988730771072305465648369889e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-52 - 0.5 i) == -2.563950248511418570403591756798643804971e-16 - 5.235987755982988730771072305465648369889e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i) == -1.171456840272878582596796205397918831268e-8 - 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i) == -2.315303644582684770975188768022139415020e-8 - 1.570796317204594913251280305810847349436 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-63 + 0.5 i) == -1.251928832280966098829878787499365228659e-19 + 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == -2.588578361325995866221775673638805081337e-10 + 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-63 - 0.5 i) == -1.251928832280966098829878787499365228659e-19 - 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == -2.588578361325995866221775673638805081337e-10 - 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i": double: 3 float: 1 @@ -522,6 +3289,48 @@ idouble: 3 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-1.0 + 0.25 i) == -8.924633639033482359562124741744951972772e-1 + 1.763024327769669304186785666360901026468e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 + 0.5 i) == -9.261330313501824245501244453057873152694e-1 + 3.494390628572132936274118260753699527325e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-10 i) == -8.813742198809567991336704287826445879025e-1 + 1.337909359557740912558349531052239112857e-3 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i) == -8.813742198809567991336704287826445879025e-1 + 1.337909359557740912558349531052239112857e-3 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-100 i) == -8.813735870195430252326093249797923090282e-1 + 1.080754735021050612990719608916167354321e-30 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i) == -8.813735870195430252326093249797923090282e-1 + 1.278589251976747242280879285935084814093e-301 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i) == -8.813735870195430252326093249797923090282e-1 + 3.810492908885321743133304375216617626230e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-129 i) == -8.813735870195430252326093249797923090282e-1 + 2.013062564695348242280482517399205554874e-39 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 + 0x1.fp-30 i) == -8.813735870195430258081932989769495326854e-1 + 1.275929984216518540252717485007112529021e-9 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i) == -8.813735870195430258081932989769495326854e-1 + 1.275929984216518540252717485007112529021e-9 i": +double: 1 +idouble: 1 Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i": double: 3 float: 1 @@ -529,6 +3338,48 @@ idouble: 3 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-1.0 - 0.25 i) == -8.924633639033482359562124741744951972772e-1 - 1.763024327769669304186785666360901026468e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 - 0.5 i) == -9.261330313501824245501244453057873152694e-1 - 3.494390628572132936274118260753699527325e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-10 i) == -8.813742198809567991336704287826445879025e-1 - 1.337909359557740912558349531052239112857e-3 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i) == -8.813742198809567991336704287826445879025e-1 - 1.337909359557740912558349531052239112857e-3 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-100 i) == -8.813735870195430252326093249797923090282e-1 - 1.080754735021050612990719608916167354321e-30 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i) == -8.813735870195430252326093249797923090282e-1 - 1.278589251976747242280879285935084814093e-301 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i) == -8.813735870195430252326093249797923090282e-1 - 3.810492908885321743133304375216617626230e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-129 i) == -8.813735870195430252326093249797923090282e-1 - 2.013062564695348242280482517399205554874e-39 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-1.0 - 0x1.fp-30 i) == -8.813735870195430258081932989769495326854e-1 - 1.275929984216518540252717485007112529021e-9 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i) == -8.813735870195430258081932989769495326854e-1 - 1.275929984216518540252717485007112529021e-9 i": +double: 1 +idouble: 1 Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i": double: 2 float: 1 @@ -536,6 +3387,12 @@ idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i) == -1.194763217287109304111930828519090523536 + 2.989196569048182929051881765490354365918e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 + 0x1.fp-129 i) == -1.194763217287109304111930828519090523536 + 1.579176199917649005841160751101628985741e-39 i": +double: 1 +idouble: 1 Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i": double: 2 float: 1 @@ -543,6 +3400,12 @@ idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i) == -1.194763217287109304111930828519090523536 - 2.989196569048182929051881765490354365918e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-1.5 - 0x1.fp-129 i) == -1.194763217287109304111930828519090523536 - 1.579176199917649005841160751101628985741e-39 i": +double: 1 +idouble: 1 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i": double: 5 float: 1 @@ -557,12 +3420,82 @@ idouble: 3 ifloat: 6 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 0.0 + 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 + 0x0.ffffffp0 i) == 0.0 + 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 0.0 - 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 - 0x0.ffffffp0 i) == 0.0 - 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i": float: 1 ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1.fp-129 i) == 4.812118250596034474977589134243684231352e-1 + 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-105 i) == 4.812118250596034474977589134243684231352e-1 + 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-112 i) == 4.812118250596034474977589134243684231352e-1 + 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 + 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-63 i) == 4.812118250596034474977589134243684231373e-1 + 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 1.0 i) == 7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 + 1.0 i) == 7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i": float: 1 ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1.fp-129 i) == 4.812118250596034474977589134243684231352e-1 - 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-105 i) == 4.812118250596034474977589134243684231352e-1 - 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-112 i) == 4.812118250596034474977589134243684231352e-1 - 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 - 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-63 i) == 4.812118250596034474977589134243684231373e-1 - 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 1.0 i) == 7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casinh (0.5 - 1.0 i) == 7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i": float: 1 ifloat: 1 @@ -571,6 +3504,98 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 8.813735870195430252326093249797835932642e-1 + 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 8.813735870195430252326093249797835932642e-1 - 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 8.813735870195430251942769895627079569937e-1 + 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 8.813735870195430251942769895627079569937e-1 - 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i) == 8.813735448726963984495965873956465777250e-1 + 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i) == 8.813735448726963984495965873956465777250e-1 - 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0.0 i) == 8.813735870195430252326093249798097405561e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0x1.fp-1025 i) == 8.813735870195430252326093249798097405561e-1 + 3.810492908885321743133304375216570658278e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0.0 i) == 8.813735870195430252326093249798097405561e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0x1.fp-1025 i) == 8.813735870195430252326093249798097405561e-1 - 3.810492908885321743133304375216570658278e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.000002p0 + 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (0x1.000002p0 - 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (0x1.fp-10 + 1.0 i) == 4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-10 + 1.0 i) == 4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-10 - 1.0 i) == 4.350501469856803800217957402220976497152e-2 - 1.527305029163877791518741192097931722508 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-10 - 1.0 i) == 4.350501469856803800217957402220976497152e-2 - 1.527305029163877791518741192097931722508 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 + 0.5 i) == 6.222508863508420569166420770843207333493e-309 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 3.432186888910770473784103112009399360940e-293 + 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 - 0.5 i) == 6.222508863508420569166420770843207333493e-309 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 3.432186888910770473784103112009399360940e-293 - 1.570796326794896462222075823262245502760 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-129 + 0.5 i) == 3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1.fp-129 + 0.5 i) == 3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-129 + 0x0.ffffffp0 i) == 8.245504387859737323891843603996428534945e-36 + 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-129 - 0.5 i) == 3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1.fp-129 - 0.5 i) == 3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-129 - 0x0.ffffffp0 i) == 8.245504387859737323891843603996428534945e-36 - 1.570451059810180415643718442157112705601 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i) == 7.107906849659093345062145442726115449315e2 + 7.853981633974483096156608458198757210493e-1 i": double: 1 idouble: 1 @@ -581,24 +3606,358 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1p-105 + 0.5 i) == 2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1p-105 + 0.5 i) == 2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-105 - 0.5 i) == 2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1p-105 - 0.5 i) == 2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-112 + 0.5 i) == 2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1p-112 + 0.5 i) == 2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-112 - 0.5 i) == 2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casinh (0x1p-112 - 0.5 i) == 2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 + 0.5 i) == 1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i) == 5.364668491573609633134147164031476452679e-4 + 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (0x1p-23 - 0.5 i) == 1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i) == 5.364668491573609633134147164031476452679e-4 - 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (0x1p-52 + 0.5 i) == 2.563950248511418570403591756798643804971e-16 + 5.235987755982988730771072305465648369889e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-52 + 0.5 i) == 2.563950248511418570403591756798643804971e-16 + 5.235987755982988730771072305465648369889e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i) == 1.171456840272878582596796205397918831268e-8 + 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i) == 2.315303644582684770975188768022139415020e-8 + 1.570796317204594913251280305810847349436 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-52 - 0.5 i) == 2.563950248511418570403591756798643804971e-16 - 5.235987755982988730771072305465648369889e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-52 - 0.5 i) == 2.563950248511418570403591756798643804971e-16 - 5.235987755982988730771072305465648369889e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i) == 1.171456840272878582596796205397918831268e-8 - 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i) == 2.315303644582684770975188768022139415020e-8 - 1.570796317204594913251280305810847349436 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-63 + 0.5 i) == 1.251928832280966098829878787499365228659e-19 + 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 2.588578361325995866221775673638805081337e-10 + 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-63 - 0.5 i) == 1.251928832280966098829878787499365228659e-19 - 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 2.588578361325995866221775673638805081337e-10 - 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (1.0 + 0.25 i) == 8.924633639033482359562124741744951972772e-1 + 1.763024327769669304186785666360901026468e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.0 + 0.5 i) == 9.261330313501824245501244453057873152694e-1 + 3.494390628572132936274118260753699527325e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-10 i) == 8.813742198809567991336704287826445879025e-1 + 1.337909359557740912558349531052239112857e-3 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i) == 8.813742198809567991336704287826445879025e-1 + 1.337909359557740912558349531052239112857e-3 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-100 i) == 8.813735870195430252326093249797923090282e-1 + 1.080754735021050612990719608916167354321e-30 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-1000 i) == 8.813735870195430252326093249797923090282e-1 + 1.278589251976747242280879285935084814093e-301 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-1025 i) == 8.813735870195430252326093249797923090282e-1 + 3.810492908885321743133304375216617626230e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-129 i) == 8.813735870195430252326093249797923090282e-1 + 2.013062564695348242280482517399205554874e-39 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 + 0x1.fp-30 i) == 8.813735870195430258081932989769495326854e-1 + 1.275929984216518540252717485007112529021e-9 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i) == 8.813735870195430258081932989769495326854e-1 + 1.275929984216518540252717485007112529021e-9 i": +double: 1 +idouble: 1 Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (1.0 - 0.25 i) == 8.924633639033482359562124741744951972772e-1 - 1.763024327769669304186785666360901026468e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.0 - 0.5 i) == 9.261330313501824245501244453057873152694e-1 - 3.494390628572132936274118260753699527325e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-10 i) == 8.813742198809567991336704287826445879025e-1 - 1.337909359557740912558349531052239112857e-3 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i) == 8.813742198809567991336704287826445879025e-1 - 1.337909359557740912558349531052239112857e-3 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-100 i) == 8.813735870195430252326093249797923090282e-1 - 1.080754735021050612990719608916167354321e-30 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-1000 i) == 8.813735870195430252326093249797923090282e-1 - 1.278589251976747242280879285935084814093e-301 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-1025 i) == 8.813735870195430252326093249797923090282e-1 - 3.810492908885321743133304375216617626230e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-129 i) == 8.813735870195430252326093249797923090282e-1 - 2.013062564695348242280482517399205554874e-39 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0x1.fp-30 i) == 8.813735870195430258081932989769495326854e-1 - 1.275929984216518540252717485007112529021e-9 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i) == 8.813735870195430258081932989769495326854e-1 - 1.275929984216518540252717485007112529021e-9 i": +double: 1 +idouble: 1 Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i": double: 1 idouble: 1 +Test "Real part of: casinh (1.5 + 0x1.fp-1025 i) == 1.194763217287109304111930828519090523536 + 2.989196569048182929051881765490354365918e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 + 0x1.fp-129 i) == 1.194763217287109304111930828519090523536 + 1.579176199917649005841160751101628985741e-39 i": +double: 1 +idouble: 1 Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i": double: 1 idouble: 1 +Test "Real part of: casinh (1.5 - 0x1.fp-1025 i) == 1.194763217287109304111930828519090523536 - 2.989196569048182929051881765490354365918e-309 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 - 0x1.fp-129 i) == 1.194763217287109304111930828519090523536 - 1.579176199917649005841160751101628985741e-39 i": +double: 1 +idouble: 1 # catan +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i) == -7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 - 0x1p-27 i) == -7.853981633974482679822974223765039144191e-1 - 3.725290298461914441624447420137706700965e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i) == -7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000000000000000000000000008p0 + 0x1p-54 i) == -7.853981633974483096156608458198888173729e-1 + 2.775557561562891351059079170226980932999e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1.000000000000000000000000008p0 - 0x1p-54 i) == -7.853981633974483096156608458198888173729e-1 - 2.775557561562891351059079170226980932999e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 - 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i) == -1.570796326794896619231321691639751442097 + 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i) == -1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 + 1.0 i) == -7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 1.0 i) == -7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-27 + 1.0 i) == -7.853981652600934588466178684534110069553e-1 + 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-27 - 1.0 i) == -7.853981652600934588466178684534110069553e-1 - 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-33 + 1.0 i) == -7.853981634265521400723945494331241018449e-1 + 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-33 - 1.0 i) == -7.853981634265521400723945494331241018449e-1 - 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-27 i) == -7.853981633974483234934486536343324763447e-1 + 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-33 i) == -7.853981633974483096190489776088929224056e-1 + 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-54 i) == -7.853981633974483096156608458198764914213e-1 + 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 + 0x1p-57 i) == -7.853981633974483096156608458198757330864e-1 + 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-27 i) == -7.853981633974483234934486536343324763447e-1 - 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-33 i) == -7.853981633974483096190489776088929224056e-1 - 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-54 i) == -7.853981633974483096156608458198764914213e-1 - 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 - 0x1p-57 i) == -7.853981633974483096156608458198757330864e-1 - 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": float: 3 ifloat: 3 @@ -612,8 +3971,304 @@ ifloat: 1 Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i": float: 4 ifloat: 4 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i) == 7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 - 0x1p-27 i) == 7.853981633974482679822974223765039144191e-1 - 3.725290298461914441624447420137706700965e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i) == 7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000000000000000000000000008p0 + 0x1p-54 i) == 7.853981633974483096156608458198888173729e-1 + 2.775557561562891351059079170226980932999e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1.000000000000000000000000008p0 - 0x1p-54 i) == 7.853981633974483096156608458198888173729e-1 - 2.775557561562891351059079170226980932999e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 - 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i) == 1.570796326794896619231321691639751442097 + 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i) == 1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 + 1.0 i) == 7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 1.0 i) == 7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-27 + 1.0 i) == 7.853981652600934588466178684534110069553e-1 + 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-27 - 1.0 i) == 7.853981652600934588466178684534110069553e-1 - 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-33 + 1.0 i) == 7.853981634265521400723945494331241018449e-1 + 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-33 - 1.0 i) == 7.853981634265521400723945494331241018449e-1 - 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-27 i) == 7.853981633974483234934486536343324763447e-1 + 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-33 i) == 7.853981633974483096190489776088929224056e-1 + 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-54 i) == 7.853981633974483096156608458198764914213e-1 + 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 + 0x1p-57 i) == 7.853981633974483096156608458198757330864e-1 + 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-27 i) == 7.853981633974483234934486536343324763447e-1 - 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-33 i) == 7.853981633974483096190489776088929224056e-1 - 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-54 i) == 7.853981633974483096156608458198764914213e-1 - 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 - 0x1p-57 i) == 7.853981633974483096156608458198757330864e-1 - 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 # catanh +Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i) == -1.516766904286822590927401983512575068153e-39 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i) == -1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i) == -6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-27 + 0x0.fffffffffffff8p0 i) == -3.725290298461914441624447420137706700965e-9 + 7.853981633974482679822974223765039144191e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 + 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-27 + 1.0 i) == -3.725290298461914028034141143623846306386e-9 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-27 - 0x0.fffffffffffff8p0 i) == -3.725290298461914441624447420137706700965e-9 - 7.853981633974482679822974223765039144191e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 - 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-27 - 1.0 i) == -3.725290298461914028034141143623846306386e-9 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-33 + 1.0 i) == -5.820766091346740722643102318246316469910e-11 + 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-33 - 1.0 i) == -5.820766091346740722643102318246316469910e-11 - 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-54 + 0x1.000000000000000000000000008p0 i) == -2.775557561562891351059079170226980932999e-17 + 7.853981633974483096156608458198888173729e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-54 + 1.0 i) == -2.775557561562891351059079170227049355775e-17 + 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-54 - 0x1.000000000000000000000000008p0 i) == -2.775557561562891351059079170226980932999e-17 - 7.853981633974483096156608458198888173729e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-54 - 1.0 i) == -2.775557561562891351059079170227049355775e-17 - 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-57 + 1.0 i) == -3.469446951953614188823848962783813448721e-18 + 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-57 - 1.0 i) == -3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i) == -4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-27 i) == -9.704060527839234335310696652368086117807 + 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i) == -4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-27 i) == -9.704060527839234335310696652368086117807 - 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i": double: 4 idouble: 4 @@ -626,6 +4281,148 @@ idouble: 1 Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i": float: 6 ifloat: 6 +Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i) == 4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i) == 4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i) == 1.516766904286822590927401983512575068153e-39 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i) == 1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 + 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 1.0 i) == 6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 - 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 1.0 i) == 6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 + 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (0x1p-27 + 1.0 i) == 3.725290298461914028034141143623846306386e-9 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 - 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (0x1p-27 - 1.0 i) == 3.725290298461914028034141143623846306386e-9 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-33 + 1.0 i) == 5.820766091346740722643102318246316469910e-11 + 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-33 - 1.0 i) == 5.820766091346740722643102318246316469910e-11 - 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-54 + 0x1.000000000000000000000000008p0 i) == 2.775557561562891351059079170226980932999e-17 + 7.853981633974483096156608458198888173729e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-54 + 1.0 i) == 2.775557561562891351059079170227049355775e-17 + 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-54 - 0x1.000000000000000000000000008p0 i) == 2.775557561562891351059079170226980932999e-17 - 7.853981633974483096156608458198888173729e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-54 - 1.0 i) == 2.775557561562891351059079170227049355775e-17 - 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-57 + 1.0 i) == 3.469446951953614188823848962783813448721e-18 + 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-57 - 1.0 i) == 3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-13 i) == 4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-27 i) == 9.704060527839234335310696652368086117807 + 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-13 i) == 4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-27 i) == 9.704060527839234335310696652368086117807 - 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 # cbrt Test "cbrt (-27.0) == -3.0": @@ -2111,6 +5908,9 @@ idouble: 1 ifloat: 2 ildouble: 1 ldouble: 1 +Test "j0 (0x1p1023) == -1.5665258060609012834424478437196679802783e-155": +ildouble: 1 +ldouble: 1 Test "j0 (10.0) == -0.245935764451348335197760862485328754": double: 3 float: 1 @@ -2147,6 +5947,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "j1 (0x1p1023) == 8.2687542933709649327986678723012001545638e-155": +ildouble: 1 +ldouble: 1 Test "j1 (10.0) == 0.0434727461688614366697487680258592883": float: 2 ifloat: 2 @@ -2733,6 +6536,269 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (-0x0.fffffffffffff8p0) == -9.0071992547409924227843350984672961392521e+15": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x0.ffffffp0) == -1.6777216422784419250710305882992376932423e+07": +float: 1 +ifloat: 1 +Test "tgamma (-0x1.000002p0) == 8.3886075772158332060084424806449513922858e+06": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.0a32a2p+5) == 1.8125267978155035272941154746083439329912e-37": +float: 2 +ifloat: 2 +Test "tgamma (-0x13.ffffep0) == 2.1550026214525536756224040483579183652119e-13": +float: 1 +ifloat: 1 +Test "tgamma (-0x13.fffffffffffffffffffffffff8p0) == 1.0420893204640670202556853709074896123293e+12": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x13.ffffffffffffp0) == 1.1569515572952029402736625857313236848570e-04": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x14.000000000001p0) == -1.1569515572951781096476686854873801225397e-04": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x14.00002p0) == -2.1549777908265594916405421768142757507179e-13": +float: 1 +ifloat: 1 +Test "tgamma (-0x1d.ffffep0) == 1.9765721589464867957912772592816027583176e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0) == 9.5580541610429641982963434151488827190079e-03": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.ffffffffffffp0) == 1.0611571800204311628217068863959963842891e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.00000000000000000000000008p0) == -9.5580541610429641982963434151231128067179e-03": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1e.000000000001p0) == -1.0611571800204053929094168642022073530425e-18": +double: 3 +idouble: 3 +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x1e.00002p0) == -1.9765463890341964384070157599286498212650e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x2.0000000000002p0) == -1.1258999068426235386078324507668462444260e+15": +double: 1 +idouble: 1 +Test "tgamma (-0x2.000004p0) == -2.0971515386080557574407223895988378776747e+06": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.fffffcp0) == -6.9905087601970247876992248591045142913324e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.fffffffffffep0) == 1.7249032006742266376460389310340465554361e-34": +double: 1 +idouble: 1 +Test "tgamma (-0x27.fffffffffffffffffffffffffp0) == 1.5536546823612837336494536911280147806523e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.000000000002p0) == -1.7249032006741359094184881234822934593822e-34": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.00004p0) == -3.2128372159115252365699015758097981155793e-43": +double: 2 +idouble: 2 +Test "tgamma (-0x29.0000000000000000000000001p0) == 3.7894016642958139845108626612656391824122e-20": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.00004p0) == 7.8361876024016854597745353972619195760515e-45": +double: 1 +idouble: 1 +Test "tgamma (-0x29.ffffcp0) == 1.8658121573125798145204120066590953505132e-46": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.fffffffffffep0) == 1.0016859469652887505173040814397197718981e-37": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.0000000000000000000000001p0) == -9.0223849149900332964544349077751619246306e-22": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.000004p0) == 6.9905045731381300146131914617735687322025e+05": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x3.fffffcp0) == 1.7476272942159602684441970627092458855771e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep0) == 9.3824992236885396088236184658402406857503e+13": +double: 2 +idouble: 2 +Test "tgamma (-0x31.fffffffffffep0) == 4.6273774273632946947805289899230181990085e-51": +double: 3 +idouble: 3 +Test "tgamma (-0x32.0000000000000000000000001p0) == -4.1679710515150795310771069868090576746248e-35": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000002p0) == -4.6273774273630367887073532197576655720178e-51": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.000008p0) == -8.7381270578483499672965708923121931082305e+04": +float: 1 +ifloat: 1 +Test "tgamma (-0x4.fffff8p0) == -1.7476280884325863043793087474680780379554e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x4.ffffffffffffcp0) == -9.3824992236885475509805702650262155809819e+12": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000004p0) == 9.3824992236885191156860964016850034672946e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.000008p0) == 1.7476252449031389167286893378510439443844e+04": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (-0x5.ffffffffffffcp0) == 1.5637498706147581566449098589862357835505e+12": +double: 1 +idouble: 1 +Test "tgamma (-0x6.000008p0) == -2.9127085100239567622341538102130981196910e+03": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.fffff8p0) == -4.1610198723079349791939054365613377035519e+02": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.ffffffffffffcp0) == -2.2339283865925119357965832452642909859289e+11": +double: 4 +idouble: 4 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x63.fffffffffffcp0) == 7.5400833348840965463348754984345825364294e-145": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.ffffffffffffffffffffffffep0) == 6.7915032994648558610510614163560656864280e-129": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000004p0) == -7.5400833348831085791638490135462230991587e-145": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000004p0) == 2.2339283865925039372192897706214475877342e+11": +double: 3 +idouble: 3 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.000008p0) == 4.1610118737306415004517215226199741948733e+02": +double: 1 +idouble: 1 +Test "tgamma (-0x7.fffff8p0) == 5.2012751504050764429534086402871289946986e+01": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +Test "tgamma (-0x7.ffffffffffffcp0) == 2.7924104832406402297655703264222230055898e+10": +double: 3 +idouble: 3 +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x8.00000000000000000000000004p0) == -1.2575898811787990094213325450153421028080e+26": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8.00001p0) == -2.6006296115134418896533598545925084576702e+01": +double: 2 +idouble: 2 +Test "tgamma (-0x9.ffffffffffff8p0) == 1.5513391573559147700413058496716749249803e+08": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x9.fffffp0) == 2.8896008370721717567612135720915723136310e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.000000000008p0) == -6.1582369322705655439003240743176243138734e-250": +double: 1 +idouble: 1 +Test "tgamma (-0xa.00001p0) == -2.8895878754728051776830454190076999107021e-01": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-2.5) == -9.4530872048294188122568932444861076415869e-01": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-3.5) == 2.7008820585226910892162552127103164690248e-01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-4.5) == -6.0019601300504246427027893615784810422774e-02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-5.5) == 1.0912654781909862986732344293779056440504e-02": +double: 1 +idouble: 1 +Test "tgamma (-6.5) == -1.6788699664476712287280529682737009908468e-03": +float: 1 +ifloat: 1 +Test "tgamma (-7.5) == 2.2384932885968949716374039576982679877958e-04": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-8.5) == -2.6335215159963470254557693619979623385833e-05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-9.5) == 2.7721279115751021320587045915768024616666e-06": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 Test "tgamma (0.5) == sqrt (pi)": float: 1 ifloat: 1 @@ -2741,6 +6807,177 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.fffffep0) == 9.9999994960018563231526611134590489120697e-01": +float: 1 +ifloat: 1 +Test "tgamma (0x1.fffffffffffffp0) == 9.9999999999999990612301934456883679778984e-01": +double: 1 +idouble: 1 +Test "tgamma (0x1p-24) == 1.6777215422784394050795179874582764575261e+07": +float: 1 +ifloat: 1 +Test "tgamma (0x1p-53) == 9.0071992547409914227843350984672492007618e+15": +double: 1 +idouble: 1 +Test "tgamma (0x2.30a43cp+4) == 3.4027979115654976101247558405326779640190e+38": +double: 1 +idouble: 1 +Test "tgamma (0x2.fffffcp0) == 1.9999995599822108706107786027549565954046e+00": +float: 3 +ifloat: 3 +Test "tgamma (0x3.fffffcp0) == 5.9999982031095793171233994481968816873643e+00": +float: 1 +ifloat: 1 +Test "tgamma (0x3.ffffffffffffep0) == 5.9999999999999966530301828845138185025345e+00": +double: 1 +idouble: 1 +Test "tgamma (0x4.0000000000004p0) == 6.0000000000000066939396342309789716341613e+00": +double: 1 +idouble: 1 +Test "tgamma (0x4.fffff8p0) == 2.3999982763857938712639837029547357501709e+01": +float: 1 +ifloat: 1 +Test "tgamma (0x4.ffffffffffffcp0) == 2.3999999999999967895170944875373910918544e+01": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000004p0) == 2.4000000000000032104829055124673225982803e+01": +double: 1 +idouble: 1 +Test "tgamma (0x5.000008p0) == 2.4000017236155647574166073485628713443799e+01": +float: 3 +ifloat: 3 +Test "tgamma (0x5.fffff8p0) == 1.1999990237520611552119807476573441975106e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x6.0000000000004p0) == 1.2000000000000018184042734842640022086408e+02": +double: 1 +idouble: 1 +Test "tgamma (0x6.000008p0) == 1.2000009762487825358530770343720418162783e+02": +float: 2 +ifloat: 2 +Test "tgamma (0x6.fffff8p0) == 7.1999935703082425988147448928288557689866e+02": +double: 1 +idouble: 1 +Test "tgamma (0x6.ffffffffffffcp0) == 7.1999999999999880237602554542848858572672e+02": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000004p0) == 7.2000000000000119762397445457359071259652e+02": +double: 4 +idouble: 4 +Test "tgamma (0x7.000008p0) == 7.2000064296977505705636258629805621178587e+02": +double: 1 +idouble: 1 +Test "tgamma (0x7.fffff8p0) == 5.0399951558933225045148935487583089307135e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (0x7.ffffffffffffcp0) == 5.0399999999999909771437166339103165198442e+03": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.00001p0) == 5.0400096882277802019946778420223050233915e+03": +double: 2 +idouble: 2 +Test "tgamma (0xa.b9fd72b0fb238p+4) == 1.7976931348622298700886249281842651388250e+308": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f4p+4) == 1.7976931348623158079372897140307719334857e+308": +ildouble: 1 +ldouble: 1 +Test "tgamma (10) == 362880": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (18.5) == 1.4986120533153361177371791123515513270334e+15": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (19.5) == 2.7724322986333718178137813578503699550119e+16": +double: 2 +idouble: 2 +Test "tgamma (2.5) == 1.3293403881791370204736256125058588870982e+00": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (23.5) == 5.3613035875444147334274983856108155717836e+21": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (29.5) == 1.6348125198274266444378807806868221866931e+30": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (3) == 2": +float: 1 +ifloat: 1 +Test "tgamma (3.5) == 3.3233509704478425511840640312646472177454e+00": +float: 2 +ifloat: 2 +Test "tgamma (33.5) == 1.5058569756267018925121415841930137587110e+36": +ildouble: 1 +ldouble: 1 +Test "tgamma (34.5) == 5.0446208683494513399156743070465960916817e+37": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (4) == 6": +float: 1 +ifloat: 1 +Test "tgamma (4.5) == 1.1631728396567448929144224109426265262109e+01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (6) == 120": +float: 1 +ifloat: 1 +Test "tgamma (6.5) == 2.8788527781504436099631954670830006523720e+02": +float: 1 +ifloat: 1 +Test "tgamma (7) == 720": +double: 1 +idouble: 1 +Test "tgamma (7.5) == 1.8712543057977883464760770536039504240418e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (8) == 5040": +double: 1 +idouble: 1 +Test "tgamma (8.5) == 1.4034407293483412598570577902029628180313e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (9) == 40320": +double: 1 +idouble: 1 +Test "tgamma (9.5) == 1.1929246199460900708784991216725183953266e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 # y0 Test "y0 (0.125) == -1.38968062514384052915582277745018693": @@ -2789,6 +7026,9 @@ ifloat: 1 Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1": double: 1 idouble: 1 +Test "y0 (0x1p1023) == 8.2687542933709649327986678723012001545638e-155": +ildouble: 1 +ldouble: 1 Test "y0 (1.0) == 0.0882569642156769579829267660235151628": double: 2 float: 1 @@ -2839,6 +7079,9 @@ idouble: 1 Test "y1 (0x1p-20) == -6.6754421443450423911167962313100637952285e+05": ildouble: 1 ldouble: 1 +Test "y1 (0x1p1023) == 1.5665258060609012834424478437196679802783e-155": +ildouble: 1 +ldouble: 1 Test "y1 (1.5) == -0.412308626973911295952829820633445323": float: 1 ifloat: 1 @@ -3050,35 +7293,27 @@ ldouble: 1 Function: Real part of "cacos": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 Function: Imaginary part of "cacos": double: 3 -float: 1 +float: 2 idouble: 3 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 Function: Real part of "cacosh": double: 1 float: 7 idouble: 1 ifloat: 7 -ildouble: 1 -ldouble: 1 Function: Imaginary part of "cacosh": double: 1 float: 3 idouble: 1 ifloat: 3 -ildouble: 1 -ldouble: 1 Function: Real part of "casin": double: 1 @@ -3090,25 +7325,21 @@ ldouble: 1 Function: Imaginary part of "casin": double: 3 -float: 1 +float: 2 idouble: 3 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 Function: Real part of "casinh": double: 5 -float: 1 +float: 2 idouble: 5 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 Function: Imaginary part of "casinh": double: 3 -float: 6 +float: 1 idouble: 3 -ifloat: 6 +ifloat: 1 ildouble: 1 ldouble: 1 @@ -3128,11 +7359,17 @@ ldouble: 1 Function: Real part of "catanh": double: 4 +float: 1 idouble: 4 +ifloat: 1 +ildouble: 1 +ldouble: 1 Function: Imaginary part of "catanh": -float: 6 -ifloat: 6 +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "cbrt": double: 1 @@ -3225,8 +7462,6 @@ double: 2 float: 1 idouble: 2 ifloat: 1 -ildouble: 1 -ldouble: 1 Function: "cos_downward": float: 1 @@ -3661,8 +7896,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Function: "sinh": ildouble: 1 @@ -3725,12 +7958,12 @@ ildouble: 1 ldouble: 1 Function: "tgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +double: 4 +float: 3 +idouble: 4 +ifloat: 3 +ildouble: 3 +ldouble: 3 Function: "y0": double: 2 diff --git a/libc/sysdeps/powerpc/test-gettimebase.c b/libc/sysdeps/powerpc/test-gettimebase.c index 88049c69c..3ce55c7f0 100644 --- a/libc/sysdeps/powerpc/test-gettimebase.c +++ b/libc/sysdeps/powerpc/test-gettimebase.c @@ -22,6 +22,7 @@ #include <inttypes.h> #include <stdio.h> +#include <stdint.h> #include <sys/platform/ppc.h> diff --git a/libc/sysdeps/sparc/fpu/libm-test-ulps b/libc/sysdeps/sparc/fpu/libm-test-ulps index 4620af697..ad7afc899 100644 --- a/libc/sysdeps/sparc/fpu/libm-test-ulps +++ b/libc/sysdeps/sparc/fpu/libm-test-ulps @@ -198,6 +198,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (-0.25 + 1.0 i) == 1.747098759571863549650000258275841544745 - 8.924633639033482359562124741744951972772e-1 i": double: 1 float: 1 @@ -221,6 +251,48 @@ ldouble: 1 Test "Real part of: cacos (-0.5 + +0 i) == 2.094395102393195492308428922186335256131 - 0 i": ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i) == 2.094395102393195492308428922186335256131 - 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 - 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i) == 2.094395102393195492308428922186335256131 - 9.402257155670418112159334875199821342890e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-105 i) == 2.094395102393195492308428922186335256131 - 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i) == 2.094395102393195492308428922186335256131 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-112 i) == 2.094395102393195492308428922186335256131 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i) == 2.094395102393195492308428922186335256131 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i) == 2.094395102393190022547898764614298351924 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-52 i) == 2.094395102393195492308428922186316279087 - 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 + 0x1p-63 i) == 2.094395102393195492308428922186335256127 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i) == 2.094395102393195492308428922186335256127 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (-0.5 + 1.0 i) == 1.920235389652109912858733517715121394831 - 9.261330313501824245501244453057873152694e-1 i": float: 1 ifloat: 1 @@ -232,6 +304,48 @@ ldouble: 1 Test "Real part of: cacos (-0.5 - 0 i) == 2.094395102393195492308428922186335256131 + +0 i": ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i) == 2.094395102393195492308428922186335256131 + 6.222508863508420569166420770843207333493e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 + 3.287317402534702257036015056278368274737e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i) == 2.094395102393195492308428922186335256131 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i) == 2.094395102393195492308428922186335256131 + 9.402257155670418112159334875199821342890e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-105 i) == 2.094395102393195492308428922186335256131 + 2.846556599890768890940941645338546615370e-32 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i) == 2.094395102393195492308428922186335256131 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-112 i) == 2.094395102393195492308428922186335256131 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i) == 2.094395102393195492308428922186335256131 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i) == 2.094395102393190022547898764614298351924 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-52 i) == 2.094395102393195492308428922186316279087 + 2.563950248511418570403591756798643804971e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0.5 - 0x1p-63 i) == 2.094395102393195492308428922186335256127 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i) == 2.094395102393195492308428922186335256127 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (-0.5 - 1.0 i) == 1.920235389652109912858733517715121394831 + 9.261330313501824245501244453057873152694e-1 i": float: 1 ifloat: 1 @@ -240,6 +354,58 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 3.141592634635223399311902261000251614142 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 3.141592634635223399311902261000251614142 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 3.141592653589793038743797483317667178134 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 3.141592653589793038743797483317667178134 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == 3.141592653170952461345846619605307690007 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == 3.141592653170952461345846619605307690007 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i) == 3.141153467203602189751698864505105063797 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i) == 3.141153467203602189751698864505105063797 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i) == 3.141592653589793238462643383279502884197 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 3.141592653589793238462643383279502884197 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 3.141592653589793233694780199536825402504 - 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i) == 3.141592653589793238462643383279502884197 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 3.141592653589793238462643383279502884197 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 3.141592653589793233694780199536825402504 + 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i) == 3.141370441751352383825802745874586120521 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i) == 3.141370441751352383825802745874586120521 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i) == 1.572134236154454360143880041170803681211 - 8.813742198809567991336704287826445879025e-1 i": double: 1 idouble: 1 @@ -282,6 +448,15 @@ ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i) == 1.570796326794896619231321691639751442099 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -292,6 +467,15 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i) == 1.570796326794896619231321691639751442099 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -302,6 +486,26 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442101 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442101 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i) == 1.570796326794896619231321691639751442101 - 8.813735448726938863015878255140556727969e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i) == 1.570796326794896619231321691639751442101 - 8.813736713132375348727889167749389235161e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i) == 1.570796326794896619231321691639751442101 - 2.846900380897727558361783801085126250967e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i) == 1.570796326794896619231321691639751442101 - 1.192092895507809676556842485683592032154e-7 i": +float: 1 +ifloat: 1 Test "Real part of: cacos (-0x1.fp-129 + 1.0 i) == 1.570796326794896619231321691639751442101 - 8.813735870195430252326093249797923090282e-1 i": float: 1 ifloat: 1 @@ -320,6 +524,26 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442101 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442101 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i) == 1.570796326794896619231321691639751442101 + 8.813735448726938863015878255140556727969e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i) == 1.570796326794896619231321691639751442101 + 8.813736713132375348727889167749389235161e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i) == 1.570796326794896619231321691639751442101 + 2.846900380897727558361783801085126250967e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i) == 1.570796326794896619231321691639751442101 + 1.192092895507809676556842485683592032154e-7 i": +float: 1 +ifloat: 1 Test "Real part of: cacos (-0x1.fp-129 - 1.0 i) == 1.570796326794896619231321691639751442101 + 8.813735870195430252326093249797923090282e-1 i": float: 1 ifloat: 1 @@ -338,12 +562,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i) == 1.570796326794896619231321691639751442099 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i) == 1.570796326794896619231321691639751442099 - 1.194763217287109304111930828519090523536 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i) == 1.570796326794896619231321691639751442099 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 @@ -370,6 +618,192 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacos (-0x1p-105 + 0.0 i) == 1.570796326794896619231321691639776094002 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 + 0.5 i) == 1.570796326794896619231321691639773491431 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i) == 1.570796326794896619231321691639773491431 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639768873627 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i) == 1.570796326794896619231321691639776094002 - 2.465190328815661891911651766508706967729e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.0 i) == 1.570796326794896619231321691639776094002 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-105 - 0.5 i) == 1.570796326794896619231321691639773491431 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i) == 1.570796326794896619231321691639773491431 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639768873627 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i) == 1.570796326794896619231321691639776094002 + 2.465190328815661891911651766508706967729e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.0 i) == 1.570796326794896619231321691639751634692 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751614359 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751614359 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i) == 1.570796326794896619231321691639751634692 - 1.925929944387235853055977942584927318538e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.0 i) == 1.570796326794896619231321691639751634692 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751614359 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751614359 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i) == 1.570796326794896619231321691639751634692 + 1.925929944387235853055977942584927318538e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751510190 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751510190 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751510190 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751510190 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0.0 i) == 1.570796446004186170012854035955502877351 - 0.0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0.5 i) == 1.570796433418926613232299739606181733819 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i) == 1.570796433418926613232299739606181733819 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i) == 1.570796411088596153167306681647360823228 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i) == 1.570796446004186170012854035955502877351 - 2.846900380897747786805634596726756660388e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i) == 1.570796446004186170012007003008248567984 - 1.192092895507818146886315028596704749235e-7 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0.0 i) == 1.570796446004186170012854035955502877351 + 0.0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0.5 i) == 1.570796433418926613232299739606181733819 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i) == 1.570796433418926613232299739606181733819 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i) == 1.570796411088596153167306681647360823228 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i) == 1.570796446004186170012854035955502877351 + 2.846900380897747786805634596726756660388e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i) == 1.570796446004186170012007003008248567984 + 1.192092895507818146886315028596704749235e-7 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-52 + 0.0 i) == 1.570796326794896841275926616671059526825 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 + 0.5 i) == 1.570796326794896817834053951421591208280 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i) == 1.570796326794896817834053951421591208280 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i) == 1.570796326794896841275926616671059526825 - 2.220446049250313080847263336181677117148e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.0 i) == 1.570796326794896841275926616671059526825 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-52 - 0.5 i) == 1.570796326794896817834053951421591208280 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i) == 1.570796326794896817834053951421591208280 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i) == 1.570796326794896841275926616671059526825 + 2.220446049250313080847263336181677117148e-16 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.0 i) == 1.570796326794896619339741908888301885499 - 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 + 0.5 i) == 1.570796326794896619328295682000973043547 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i) == 1.570796326794896619328295682000973043547 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619307986362473920146173 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i) == 1.570796326794896619307986362473920146166 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i) == 1.570796326794896619339741908888301885499 - 1.084202172485504434007452800869941711430e-19 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.0 i) == 1.570796326794896619339741908888301885499 + 0.0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (-0x1p-63 - 0.5 i) == 1.570796326794896619328295682000973043547 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i) == 1.570796326794896619328295682000973043547 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619307986362473920146173 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i) == 1.570796326794896619307986362473920146166 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i) == 1.570796326794896619339741908888301885499 + 1.084202172485504434007452800869941711430e-19 i": +float: 1 +ifloat: 1 Test "Imaginary part of: cacos (-0x1p500 + 1.0 i) == 3.141592653589793238462643383279502884197 - 3.472667374605326000180332928505464606058e2 i": ildouble: 1 ldouble: 1 @@ -434,6 +868,36 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0.25 + 1.0 i) == 1.394493894017929688812643125003661339452 - 8.924633639033482359562124741744951972772e-1 i": float: 1 ifloat: 1 @@ -449,6 +913,47 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-1025 i) == 1.047197551196597746154214461093167628066 - 6.222508863508420569166420770843207333493e-309 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-105 i) == 1.047197551196597746154214461093167628066 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-105 i) == 1.047197551196597746154214461093167628066 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-112 i) == 1.047197551196597746154214461093167628066 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-112 i) == 1.047197551196597746154214461093167628066 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-23 i) == 1.047197551196603215914744618665204532273 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-52 i) == 1.047197551196597746154214461093186605110 - 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + 0x1p-63 i) == 1.047197551196597746154214461093167628070 - 1.251928832280966098829878787499365228659e-19 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 + 0x1p-63 i) == 1.047197551196597746154214461093167628070 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0.5 + 1.0 i) == 1.221357263937683325603909865564381489366 - 9.261330313501824245501244453057873152694e-1 i": float: 1 ifloat: 1 @@ -462,6 +967,47 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacos (0.5 - 0x1.fp-1025 i) == 1.047197551196597746154214461093167628066 + 6.222508863508420569166420770843207333493e-309 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i) == 1.047197551196597746154214461093167628066 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-105 i) == 1.047197551196597746154214461093167628066 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-105 i) == 1.047197551196597746154214461093167628066 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-112 i) == 1.047197551196597746154214461093167628066 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-112 i) == 1.047197551196597746154214461093167628066 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-23 i) == 1.047197551196603215914744618665204532273 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-52 i) == 1.047197551196597746154214461093186605110 + 2.563950248511418570403591756798643804971e-16 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0x1p-63 i) == 1.047197551196597746154214461093167628070 + 1.251928832280966098829878787499365228659e-19 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0.5 - 0x1p-63 i) == 1.047197551196597746154214461093167628070 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (0.5 - 1.0 i) == 1.221357263937683325603909865564381489366 + 9.261330313501824245501244453057873152694e-1 i": float: 1 ifloat: 1 @@ -476,6 +1022,144 @@ ifloat: 1 Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.895456983915074112227925127005564372844e-8 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.895456983915074112227925127005564372844e-8 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == 1.570092458683775059393382371963565104164e-16 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == 1.570092458683775059393382371963565104164e-16 - 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.997188458999618357060632049675702684031e-16 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == 1.570092458683775059393382371963565104164e-16 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == 1.570092458683775059393382371963565104164e-16 + 3.432186888910770473784103112009399360940e-293 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.997188458999618357060632049675702684031e-16 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i) == 1.387778780781445675529539585113525401762e-17 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i) == 1.387778780781445675529539585113525401762e-17 - 5.867357004219059108790368268900490184505e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i) == 1.387778780781445675529539585113525401762e-17 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i) == 1.387778780781445675529539585113525401762e-17 + 5.867357004219059108790368268900490184505e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 4.188407771167967636741951941902992986043e-10 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 4.188407771167967636741951941902992986043e-10 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i) == 3.452669847162035876032494826387364972849e-4 - 0.0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i) == 3.452669847162035876032494826387364972849e-4 - 8.245504387859737323891843603996428534945e-36 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i) == 3.452669847162035876032494826387364972849e-4 + 0.0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i) == 3.452669847162035876032494826387364972849e-4 + 8.245504387859737323891843603996428534945e-36 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i) == 4.391863861910487109445187743978204002614e-4 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i) == 0.0 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 4.148847925325683229178506116378864361396e-4916 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 4.148847925325683229178506116378864361396e-4916 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 4.767863183742677481693563511435642755521e-18 - 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i) == 0.0 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 4.148847925325683229178506116378864361396e-4916 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 4.148847925325683229178506116378864361396e-4916 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 4.767863183742677481693563511435642755521e-18 + 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i) == 2.119177303101063432592523199680782317447e-10 - 5.116146586219826555037807251857670783420e-10 i": +ildouble: 2 +ldouble: 2 +Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i) == 2.119177303101063432592523199680782317447e-10 + 5.116146586219826555037807251857670783420e-10 i": +ildouble: 2 +ldouble: 2 +Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 - 2.315303644582684770975188768022139415020e-8 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i) == 9.590301705980041385828904092662391018164e-9 + 2.315303644582684770975188768022139415020e-8 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 - 5.364668491573609633134147164031476452679e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 + 5.364668491573609633134147164031476452679e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i) == 2.222118384408546368406374049167636760903e-4 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i) == 1.569458417435338878318763342108699202986 - 8.813742198809567991336704287826445879025e-1 i": double: 1 idouble: 1 @@ -518,6 +1202,15 @@ ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i) == 1.570796326794896619231321691639751442099 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -528,6 +1221,15 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i) == 1.570796326794896619231321691639751442099 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -538,6 +1240,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i) == 1.570796326794896619231321691639751442096 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i) == 1.570796326794896619231321691639751442097 - 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -550,6 +1257,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i) == 1.570796326794896619231321691639751442096 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i) == 1.570796326794896619231321691639751442097 + 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -562,12 +1274,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i) == 1.570796326794896619231321691639751442099 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i) == 1.570796326794896619231321691639751442099 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i) == 1.570796326794896619231321691639751442099 - 1.194763217287109304111930828519090523536 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i) == 1.570796326794896619231321691639751442099 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i) == 1.570796326794896619231321691639751442099 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 @@ -597,6 +1333,110 @@ idouble: 1 Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i) == 7.853981633974483096156608458198757210493e-1 - 1.135753137836666928715489992987020363057e4 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 + 0.5 i) == 1.570796326794896619231321691639729392766 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 - 0.5 i) == 1.570796326794896619231321691639729392766 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.570796326794896619231321691639734010571 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-112 + 0.5 i) == 1.570796326794896619231321691639751269838 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.570796326794896619231321691639751305915 - 8.813735870195430252326093249797922409363e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-112 - 0.5 i) == 1.570796326794896619231321691639751269838 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.570796326794896619231321691639751305915 + 8.813735870195430252326093249797922409363e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751374007 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 1.570796326794896619231321691639751374007 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0.5 i) == 1.570796220170866625230343643673321150378 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i) == 1.570796242501197085295336701632142060969 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i) == 1.570796242501204621739026081991856762292 - 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0.5 i) == 1.570796220170866625230343643673321150378 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i) == 1.570796242501197085295336701632142060969 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i) == 1.570796242501204621739026081991856762292 + 8.813736713132400470205730751186547909968e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 + 0.5 i) == 1.570796326794896420628589431857911675917 - 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-52 + 0.5 i) == 1.570796326794896420628589431857911675917 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i) == 1.570796326794896462222075823262236786996 - 8.813735870195429467279863907910458761820e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 - 0.5 i) == 1.570796326794896420628589431857911675917 + 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-52 - 0.5 i) == 1.570796326794896420628589431857911675917 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i) == 1.570796326794896462222075823262236786996 + 8.813735870195429467279863907910458761820e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-63 + 0.5 i) == 1.570796326794896619134347701278529840650 - 4.812118250596034474977589134243684231373e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-63 + 0.5 i) == 1.570796326794896619134347701278529840650 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 1.570796326794896619154657020805582738025 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i) == 1.570796326794896619154657020805582738031 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0x1p-63 - 0.5 i) == 1.570796326794896619134347701278529840650 + 4.812118250596034474977589134243684231373e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-63 - 0.5 i) == 1.570796326794896619134347701278529840650 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 1.570796326794896619154657020805582738025 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i) == 1.570796326794896619154657020805582738031 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p500 + 1.0 i) == 3.054936363499604682051979393213617699789e-151 - 3.472667374605326000180332928505464606058e2 i": ildouble: 1 ldouble: 1 @@ -744,12 +1584,668 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.747098759571863549650000258275841544745 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.747098759571863549650000258275841544745 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.747098759571863549650000258275841544745 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.747098759571863549650000258275841544745 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i) == 9.402257155670418112159334875199821342890e-4933 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 + 2.094395102393190022547898764614298351924 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 + 2.094395102393195492308428922186316279087 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.920235389652109912858733517715121394831 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.920235389652109912858733517715121394831 i": +float: 1 +ifloat: 1 Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i) == 9.402257155670418112159334875199821342890e-4933 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 2.094395102393195492308428922186335256131 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 - 2.094395102393190022547898764614298351924 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 - 2.094395102393195492308428922186316279087 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 2.094395102393195492308428922186335256127 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.920235389652109912858733517715121394831 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.920235389652109912858733517715121394831 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 + 3.141592634635223399311902261000251614142 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 - 3.141592634635223399311902261000251614142 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 + 3.141592653589793038743797483317667178134 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 - 3.141592653589793038743797483317667178134 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 + 3.141592653170952461345846619605307690007 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 - 3.141592653170952461345846619605307690007 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 3.141153467203602189751698864505105063797 i": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 3.141153467203602189751698864505105063797 i": +float: 2 +ifloat: 2 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i) == 1.962615573354718824241727964954454332780e-17 + 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 + 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 2.019699255375255198156433710951064632386e-17 + 3.141592653589793233694780199536825402504 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i) == 1.962615573354718824241727964954454332780e-17 - 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 - 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 2.019699255375255198156433710951064632386e-17 - 3.141592653589793233694780199536825402504 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 3.141370441751352383825802745874586120521 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 3.141370441751352383825802745874586120521 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i) == 8.813742198809567991336704287826445879025e-1 + 1.572134236154454360143880041170803681211 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i) == 8.813742198809567991336704287826445879025e-1 - 1.572134236154454360143880041170803681211 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691640832196834 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691640832196834 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691640832196834 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691640832196834 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i) == 8.813735448726938863015878255140556727969e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i) == 8.813736713132375348727889167749389235161e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i) == 2.846900380897727558361783801085126250967e-39 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i) == 1.192092895507809676556842485683592032154e-7 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442101 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442100 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442100 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i) == 8.813735448726938863015878255140556727969e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i) == 8.813736713132375348727889167749389235161e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i) == 2.846900380897727558361783801085126250967e-39 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i) == 1.192092895507809676556842485683592032154e-7 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442101 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442101 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442100 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442100 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796328070826603447840231892468927106 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796328070826603447840231892468927106 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796328070826603447840231892468927106 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796328070826603447840231892468927106 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i) == 0.0 + 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639768873627 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i) == 2.465190328815661891911651766508706967729e-32 + 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i) == 0.0 - 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639773491431 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639768873627 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i) == 2.465190328815661891911651766508706967729e-32 - 1.570796326794896619231321691639776094002 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i) == 0.0 + 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i) == 1.925929944387235853055977942584927318538e-34 + 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i) == 0.0 - 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751614359 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i) == 1.925929944387235853055977942584927318538e-34 - 1.570796326794896619231321691639751634692 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751510190 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751510190 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751510190 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751510190 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i) == 0.0 + 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 + 1.570796411088596153167306681647360823228 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i) == 2.846900380897747786805634596726756660388e-39 + 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i) == 1.192092895507818146886315028596704749235e-7 + 1.570796446004186170012007003008248567984 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i) == 0.0 - 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796433418926613232299739606181733819 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 - 1.570796411088596153167306681647360823228 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i) == 2.846900380897747786805634596726756660388e-39 - 1.570796446004186170012854035955502877351 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i) == 1.192092895507818146886315028596704749235e-7 - 1.570796446004186170012007003008248567984 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i) == 0.0 + 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i) == 2.220446049250313080847263336181677117148e-16 + 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i) == 0.0 - 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896817834053951421591208280 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i) == 2.220446049250313080847263336181677117148e-16 - 1.570796326794896841275926616671059526825 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i) == 0.0 + 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569937e-1 + 1.570796326794896619307986362473920146173 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610131001e-1 + 1.570796326794896619307986362473920146166 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i) == 1.084202172485504434007452800869941711430e-19 + 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i) == 0.0 - 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619328295682000973043547 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569937e-1 - 1.570796326794896619307986362473920146173 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610131001e-1 - 1.570796326794896619307986362473920146166 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i) == 1.084202172485504434007452800869941711430e-19 - 1.570796326794896619339741908888301885499 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0x1p500 + 1.0 i) == 3.472667374605326000180332928505464606058e2 + 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p500 - 1.0 i) == 3.472667374605326000180332928505464606058e2 - 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p5000 + 1.0 i) == 3.466429049980286492395577839412341016946e3 + 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0x1p5000 - 1.0 i) == 3.466429049980286492395577839412341016946e3 - 3.141592653589793238462643383279502884197 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 2.466703808003786858297978415967328452322 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 3.098101355958774410750062883737683164607 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 + 3.141550174918818561961484385371624132331 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i) == 3.535050620855721078027883819436759661753e1 + 1.570796326794897507409741391764983781004 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 + 0x1p500 i) == 3.472667374605326000180332928505464606058e2 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 + 0x1p5000 i) == 3.466429049980286492395577839412341016946e3 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 2.466703808003786858297978415967328452322 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 3.098101355958774410750062883737683164607 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 - 3.141550174918818561961484385371624132331 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i) == 3.535050620855721078027883819436759661753e1 - 1.570796326794897507409741391764983781004 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.0 - 0x1p500 i) == 3.472667374605326000180332928505464606058e2 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.0 - 0x1p5000 i) == 3.466429049980286492395577839412341016946e3 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": float: 1 ifloat: 1 @@ -765,6 +2261,635 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.25 + 1.0 i) == 8.924633639033482359562124741744951972772e-1 + 1.394493894017929688812643125003661339452 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.25 - 1.0 i) == 8.924633639033482359562124741744951972772e-1 - 1.394493894017929688812643125003661339452 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + +0 i) == +0 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 + 1.047197551196603215914744618665204532273 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 + 1.047197551196597746154214461093186605110 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 1.047197551196597746154214461093167628070 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 + 1.047197551196597746154214461093167628070 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.221357263937683325603909865564381489366 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 + 1.0 i) == 9.261330313501824245501244453057873152694e-1 + 1.221357263937683325603909865564381489366 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0.5 - 0 i) == +0 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i) == 6.222508863508420569166420770843207333493e-309 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i) == 3.287317402534702257036015056278368274737e-39 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i) == 2.846556599890768890940941645338546615370e-32 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i) == 2.223872343664663196047610660420739543258e-34 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-23 i) == 1.376510308240943236356088341381173571841e-7 - 1.047197551196603215914744618665204532273 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i) == 2.563950248511418570403591756798643804971e-16 - 1.047197551196597746154214461093186605110 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 1.047197551196597746154214461093167628070 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i) == 1.251928832280966098829878787499365228659e-19 - 1.047197551196597746154214461093167628070 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.221357263937683325603909865564381489366 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 1.0 i) == 9.261330313501824245501244453057873152694e-1 - 1.221357263937683325603909865564381489366 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 + 1.895456983915074112227925127005564372844e-8 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.171456840272878582596796205397918831268e-8 - 1.895456983915074112227925127005564372844e-8 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == 0.0 + 1.570092458683775059393382371963565104164e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == 3.432186888910770473784103112009399360940e-293 + 1.570092458683775059393382371963565104164e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 + 1.997188458999618357060632049675702684031e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == 0.0 - 1.570092458683775059393382371963565104164e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == 3.432186888910770473784103112009399360940e-293 - 1.570092458683775059393382371963565104164e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.234330349600789959989661887846005659983e-16 - 1.997188458999618357060632049675702684031e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i) == 0.0 + 1.387778780781445675529539585113525401762e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i) == 5.867357004219059108790368268900490184505e-4916 + 1.387778780781445675529539585113525401762e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i) == 0.0 - 1.387778780781445675529539585113525401762e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i) == 5.867357004219059108790368268900490184505e-4916 - 1.387778780781445675529539585113525401762e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 + 4.188407771167967636741951941902992986043e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 2.588578361325995866221775673638805081337e-10 - 4.188407771167967636741951941902992986043e-10 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i) == 0.0 + 3.452669847162035876032494826387364972849e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 + 3.452669847162035876032494826387364972849e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 + 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i) == 0.0 - 3.452669847162035876032494826387364972849e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i) == 8.245504387859737323891843603996428534945e-36 - 3.452669847162035876032494826387364972849e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i) == 2.714321200917194650737217746780928423385e-4 - 4.391863861910487109445187743978204002614e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i) == 1.962615573354718824241727964954454332780e-17 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 + 4.148847925325683229178506116378864361396e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 + 4.148847925325683229178506116378864361396e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 2.019699255375255198156433710951064632386e-17 + 4.767863183742677481693563511435642755521e-18 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i) == 1.962615573354718824241727964954454332780e-17 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 - 4.148847925325683229178506116378864361396e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 1.962615573354718824241727964954454332780e-17 - 4.148847925325683229178506116378864361396e-4916 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 2.019699255375255198156433710951064632386e-17 - 4.767863183742677481693563511435642755521e-18 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i) == 5.116146586219826555037807251857670783420e-10 + 2.119177303101063432592523199680782317447e-10 i": +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i) == 5.116146586219826555037807251857670783420e-10 - 2.119177303101063432592523199680782317447e-10 i": +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 + 9.590301705980041385828904092662391018164e-9 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i) == 2.315303644582684770975188768022139415020e-8 - 9.590301705980041385828904092662391018164e-9 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 2.222118384408546368406374049167636760903e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 + 2.222118384408546368406374049167636760903e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 2.222118384408546368406374049167636760903e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i) == 5.364668491573609633134147164031476452679e-4 - 2.222118384408546368406374049167636760903e-4 i": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-10 + 1.0 i) == 8.813742198809567991336704287826445879025e-1 + 1.569458417435338878318763342108699202986 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-10 - 1.0 i) == 8.813742198809567991336704287826445879025e-1 - 1.569458417435338878318763342108699202986 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691638670687364 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691638670687364 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691638670687364 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691638670687364 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i) == 8.813735870195431822418551933572895326024e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442096 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442097 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442096 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442097 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-129 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i) == 8.813735870195430252326093249797923090282e-1 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i) == 1.194763217287109304111930828519090523536 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569917e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610130980e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i) == 8.813735870195430252326093249797923090282e-1 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i) == 1.194763217287109304111930828519090523536 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-30 + 1.0 i) == 8.813735870195430258081932989769495326854e-1 + 1.570796325518966635014803151387033957091 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp-30 - 1.0 i) == 8.813735870195430258081932989769495326854e-1 - 1.570796325518966635014803151387033957091 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i) == 7.107906849659093345062145442726115449315e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i) == 8.973081118419833726837456344608533993585e1 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i) == 1.135753137836666928715489992987020363057e4 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639729392766 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 + 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-105 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639729392766 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 8.813735870195430252326093249797835932642e-1 - 1.570796326794896619231321691639734010571 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-112 + 0.5 i) == 4.812118250596034474977589134243684231352e-1 + 1.570796326794896619231321691639751269838 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i) == 8.813735870195430252326093249797922409363e-1 + 1.570796326794896619231321691639751305915 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-112 - 0.5 i) == 4.812118250596034474977589134243684231352e-1 - 1.570796326794896619231321691639751269838 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i) == 8.813735870195430252326093249797922409363e-1 - 1.570796326794896619231321691639751305915 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 + 1.570796326794896619231321691639751374007 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 8.813735870195430252326093249797924452120e-1 - 1.570796326794896619231321691639751374007 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-23 + 0.5 i) == 4.812118250596059896127318386463676808798e-1 + 1.570796220170866625230343643673321150378 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 + 1.570796242501197085295336701632142060969 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 + 1.570796242501204621739026081991856762292 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0.5 i) == 4.812118250596059896127318386463676808798e-1 - 1.570796220170866625230343643673321150378 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i) == 8.813735448726963984495965873956465777250e-1 - 1.570796242501197085295336701632142060969 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i) == 8.813736713132400470205730751186547909968e-1 - 1.570796242501204621739026081991856762292 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896420628589431857911675917 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i) == 4.812118250596034474977589134243772428682e-1 + 1.570796326794896420628589431857911675917 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i) == 8.813735870195429467279863907910458761820e-1 + 1.570796326794896462222075823262236786996 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896420628589431857911675917 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i) == 4.812118250596034474977589134243772428682e-1 - 1.570796326794896420628589431857911675917 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i) == 8.813735870195429467279863907910458761820e-1 - 1.570796326794896462222075823262236786996 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619134347701278529840650 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i) == 4.812118250596034474977589134243684231373e-1 + 1.570796326794896619134347701278529840650 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569937e-1 + 1.570796326794896619154657020805582738025 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610131001e-1 + 1.570796326794896619154657020805582738031 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619134347701278529840650 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i) == 4.812118250596034474977589134243684231373e-1 - 1.570796326794896619134347701278529840650 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 8.813735870195430251942769895627079569937e-1 - 1.570796326794896619154657020805582738025 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i) == 8.813735870195430253092739958139610131001e-1 - 1.570796326794896619154657020805582738031 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p500 + 1.0 i) == 3.472667374605326000180332928505464606058e2 + 3.054936363499604682051979393213617699789e-151 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p500 - 1.0 i) == 3.472667374605326000180332928505464606058e2 - 3.054936363499604682051979393213617699789e-151 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p5000 + 1.0 i) == 3.466429049980286492395577839412341016946e3 + 7.079811261048172892385615158694057552948e-1506 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (0x1p5000 - 1.0 i) == 3.466429049980286492395577839412341016946e3 - 7.079811261048172892385615158694057552948e-1506 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 + 0.25 i) == 5.097911466811016354623559941115413499164e-1 + 4.890443302710802929202843732146540079124e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 + 0.5 i) == 7.328576759736452608886724437653071523305e-1 + 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 4.349129763101882771258049954181971959031e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 + 4.349129763101882771258049954181971959031e-2 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i) == 1.236292038260260888664514866457202186027e-15 + 1.236292038260260888664514866456887257525e-15 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 + 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 + 4.247867097467650115899790787875186617316e-5 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 + 0x1p500 i) == 3.472667374605326000180332928505464606058e2 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 + 0x1p5000 i) == 3.466429049980286492395577839412341016946e3 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 - 0.25 i) == 5.097911466811016354623559941115413499164e-1 - 4.890443302710802929202843732146540079124e-1 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacosh (1.0 - 0.5 i) == 7.328576759736452608886724437653071523305e-1 - 6.748888455860063801646649673121744318756e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 4.349129763101882771258049954181971959031e-2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i) == 4.350501469856803800217957402220976497152e-2 - 4.349129763101882771258049954181971959031e-2 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i) == 1.236292038260260888664514866457202186027e-15 - 1.236292038260260888664514866456887257525e-15 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 - 0x1.fp-30 i) == 4.247867098745151888768727039216644758847e-5 - 4.247867097467650115899790787875186617316e-5 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 - 0x1p500 i) == 3.472667374605326000180332928505464606058e2 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.0 - 0x1p5000 i) == 3.466429049980286492395577839412341016946e3 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": float: 1 ifloat: 1 @@ -853,6 +2978,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == -0.0 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i) == -0.0 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i) == -0.0 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i) == -0.0 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i) == -0.0 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == -0.0 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i) == -0.0 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i) == -0.0 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i) == -0.0 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i) == -0.0 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0.25 + 1.0 i) == -1.763024327769669304186785666360901026468e-1 + 8.924633639033482359562124741744951972772e-1 i": float: 1 ifloat: 1 @@ -863,6 +3018,33 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 + 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 + 0x1p-63 i) == -5.235987755982988730771072305465838140283e-1 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0.5 + 1.0 i) == -3.494390628572132936274118260753699527325e-1 + 9.261330313501824245501244453057873152694e-1 i": ildouble: 1 ldouble: 1 @@ -871,6 +3053,33 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i) == -5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-105 i) == -5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-112 i) == -5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 - 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-23 i) == -5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0.5 - 0x1p-63 i) == -5.235987755982988730771072305465838140283e-1 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0.5 - 1.0 i) == -3.494390628572132936274118260753699527325e-1 - 9.261330313501824245501244453057873152694e-1 i": ildouble: 1 ldouble: 1 @@ -879,6 +3088,100 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i) == -1.570796311893735425383665303776316016594 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == -1.570796311893735425383665303776316016594 + 3.616396521699973256461764099945789620604e-301 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i) == -1.570796307840326780080580569360500172043 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i) == -1.570796311893735425383665303776316016594 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == -1.570796311893735425383665303776316016594 - 3.616396521699973256461764099945789620604e-301 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i) == -1.570796307840326780080580569360500172043 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == -1.570796326794896419512475791677915736035 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == -1.570796326794896419512475791677915736035 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == -1.570796326794896419512475791677915736035 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == -1.570796326794896419512475791677915736035 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i) == -1.570796326794896601578502908312986698624 + 1.091004200533850618345330909857103457781e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i) == -1.570796326794896601578502908312986698624 - 1.091004200533850618345330909857103457781e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i) == -1.570796326465624365239962068302568888898 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i) == -1.570796326465624365239962068302568888898 + 2.472906068161537187835415298076415423459e-4923 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == -1.570796326376055842114524927965556247908 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i) == -1.570796326465624365239962068302568888898 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i) == -1.570796326465624365239962068302568888898 - 2.472906068161537187835415298076415423459e-4923 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == -1.570796326376055842114524927965556247908 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i) == -1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i) == -1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i) == -1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i) == -1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i) == -1.570796326794896619231321691639751442099 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == -1.570796326794896619231321691639751442099 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i) == -1.570796326794896614463458507897073960405 + 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i) == -1.570796326794896619231321691639751442099 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == -1.570796326794896619231321691639751442099 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i) == -1.570796326794896614463458507897073960405 - 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i) == -1.570574114956455764594481054234834678422 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i) == -1.570574114956455764594481054234834678422 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0x1.fp-10 + 1.0 i) == -1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": float: 1 ifloat: 1 @@ -925,6 +3228,18 @@ ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i) == -6.867047849047171855399183659351043150871e-3011 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i) == -4.819934639999230680322935210539402497827e-309 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i) == -3.810492908885321954658152505985270452320e-309 + 8.813735870195429467279863907910371604180e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == -3.810492908885321743133304375216641110205e-309 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i) == -3.810492908885321320083608113679347200012e-309 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i) == -3.810492908885321743133304375216617626230e-309 + 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -935,6 +3250,18 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i) == -4.819934639999230680322935210539402497827e-309 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i) == -3.810492908885321954658152505985270452320e-309 - 8.813735870195429467279863907910371604180e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == -3.810492908885321743133304375216641110205e-309 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i) == -3.810492908885321320083608113679347200012e-309 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i) == -3.810492908885321743133304375216617626230e-309 - 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -945,6 +3272,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i) == -2.546345110742945032959687790021055102355e-39 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i) == -2.013062564695348242280482517399205554874e-39 + 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -957,6 +3289,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i) == -2.546345110742945032959687790021055102355e-39 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i) == -2.013062564695348242280482517399205554874e-39 - 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -969,12 +3306,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i) == -7.282957076134209141226696333885150260319e-4933 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == -5.757683115456107044287327268904964422212e-4933 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == -5.757683115456107044131264955348448400014e-4933 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i) == -5.757683115456107043819140328235418018963e-4933 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i) == -5.757683115456107044131264955348448954458e-4933 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i) == -4.516698239814521372306784062043266700598e-4933 + 1.194763217287109304111930828519090523536 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i) == -7.282957076134209141226696333885150260319e-4933 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == -5.757683115456107044287327268904964422212e-4933 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == -5.757683115456107044131264955348448400014e-4933 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i) == -5.757683115456107043819140328235418018963e-4933 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i) == -5.757683115456107044131264955348448954458e-4933 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 @@ -1001,6 +3362,126 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-0x1p-105 + 0.5 i) == -2.204933261082751447436996198490110245167e-32 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == -1.743152798421049375791483240187377443526e-32 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-105 - 0.5 i) == -2.204933261082751447436996198490110245167e-32 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == -1.743152798421049375791483240187377443526e-32 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-112 + 0.5 i) == -1.722604110220899568310153280070398629037e-34 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-112 - 0.5 i) == -1.722604110220899568310153280070398629037e-34 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == -6.809190618832224124185481406981900518193e-35 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == -6.809190618832224124185481406981900518193e-35 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == -6.809190618832224124185481406981900518193e-35 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == -6.809190618832224124185481406981900518193e-35 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-23 + 0.5 i) == -1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0x1p-23 + 0.5 i) == -1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i) == -8.429369953393598499000760938112968755257e-8 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-23 - 0.5 i) == -1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0x1p-23 - 0.5 i) == -1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i) == -8.429369953393598499000760938112968755257e-8 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i) == -8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-52 + 0.5 i) == -1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-52 + 0.5 i) == -1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i) == -1.570092458683774885078102529858632363236e-16 + 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-52 - 0.5 i) == -1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-52 - 0.5 i) == -1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i) == -1.570092458683774885078102529858632363236e-16 - 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-63 + 0.5 i) == -9.697399036122160144833087173623140436413e-20 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == -7.666467083416870407402049869781566856442e-20 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i) == -7.666467083416870406778649849746878368519e-20 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i) == -7.666467083416870406778649849746878368519e-20 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-63 - 0.5 i) == -9.697399036122160144833087173623140436413e-20 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == -7.666467083416870407402049869781566856442e-20 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i) == -7.666467083416870406778649849746878368519e-20 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i) == -7.666467083416870406778649849746878368519e-20 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1p500 + 1.0 i) == -1.570796326794896619231321691639751442099 + 3.472667374605326000180332928505464606058e2 i": ildouble: 1 ldouble: 1 @@ -1076,6 +3557,36 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i) == 0.0 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i) == 0.0 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i) == 0.0 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i) == 0.0 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i) == 0.0 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i) == 0.0 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i) == 0.0 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i) == 0.0 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i) == 0.0 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i) == 0.0 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0.25 + 1.0 i) == 1.763024327769669304186785666360901026468e-1 + 8.924633639033482359562124741744951972772e-1 i": float: 1 ifloat: 1 @@ -1086,6 +3597,33 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 + 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 + 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 + 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 + 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 + 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 + 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 + 0x1p-63 i) == 5.235987755982988730771072305465838140283e-1 + 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.5 + 1.0 i) == 3.494390628572132936274118260753699527325e-1 + 9.261330313501824245501244453057873152694e-1 i": ildouble: 1 ldouble: 1 @@ -1094,6 +3632,33 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i) == 5.235987755982988730771072305465838140329e-1 - 3.287317402534702257036015056278368274737e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-105 i) == 5.235987755982988730771072305465838140329e-1 - 2.846556599890768890940941645338546615370e-32 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 - 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-112 i) == 5.235987755982988730771072305465838140329e-1 - 2.223872343664663196047610660420739543258e-34 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 - 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-23 i) == 5.235987755982934033165770729745469098254e-1 - 1.376510308240943236356088341381173571841e-7 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0.5 - 0x1p-63 i) == 5.235987755982988730771072305465838140283e-1 - 1.251928832280966098829878787499365228659e-19 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.5 - 1.0 i) == 3.494390628572132936274118260753699527325e-1 - 9.261330313501824245501244453057873152694e-1 i": ildouble: 1 ldouble: 1 @@ -1110,6 +3675,100 @@ ifloat: 1 Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": ildouble: 1 ldouble: 1 +Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i) == 1.570796311893735425383665303776316016594 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == 1.570796311893735425383665303776316016594 + 3.616396521699973256461764099945789620604e-301 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i) == 1.570796307840326780080580569360500172043 + 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i) == 1.570796311893735425383665303776316016594 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == 1.570796311893735425383665303776316016594 - 3.616396521699973256461764099945789620604e-301 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i) == 1.570796307840326780080580569360500172043 - 1.171456840272878582596796205397918831268e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.570796326794896419512475791677915736035 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 1.570796326794896419512475791677915736035 + 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.570796326794896419512475791677915736035 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 1.570796326794896419512475791677915736035 - 1.234330349600789959989661887846005659983e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i) == 1.570796326794896601578502908312986698624 + 1.091004200533850618345330909857103457781e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i) == 1.570796326794896601578502908312986698624 - 1.091004200533850618345330909857103457781e-17 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i) == 1.570796326465624365239962068302568888898 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i) == 1.570796326465624365239962068302568888898 + 2.472906068161537187835415298076415423459e-4923 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 1.570796326376055842114524927965556247908 + 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i) == 1.570796326465624365239962068302568888898 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i) == 1.570796326465624365239962068302568888898 - 2.472906068161537187835415298076415423459e-4923 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 1.570796326376055842114524927965556247908 - 2.588578361325995866221775673638805081337e-10 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i) == 1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i) == 1.570357140408705570520377172865353621698 + 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i) == 1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i) == 1.570357140408705570520377172865353621698 - 2.714321200917194650737217746780928423385e-4 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i) == 1.570796326794896619231321691639751442099 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 1.570796326794896619231321691639751442099 + 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 1.570796326794896614463458507897073960405 + 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i) == 1.570796326794896619231321691639751442099 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 1.570796326794896619231321691639751442099 - 1.962615573354718824241727964954454332780e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 1.570796326794896614463458507897073960405 - 2.019699255375255198156433710951064632386e-17 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i) == 1.570574114956455764594481054234834678422 + 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i) == 1.570574114956455764594481054234834678422 - 5.364668491573609633134147164031476452679e-4 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0x1.fp-10 + 1.0 i) == 1.337909359557740912558349531052239112857e-3 + 8.813742198809567991336704287826445879025e-1 i": float: 1 ifloat: 1 @@ -1156,6 +3815,18 @@ ldouble: 1 Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i) == 6.867047849047171855399183659351043150871e-3011 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i) == 4.819934639999230680322935210539402497827e-309 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i) == 3.810492908885321954658152505985270452320e-309 + 8.813735870195429467279863907910371604180e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i) == 3.810492908885321743133304375216641110205e-309 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i) == 3.810492908885321320083608113679347200012e-309 + 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i) == 3.810492908885321743133304375216617626230e-309 + 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -1166,6 +3837,18 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i) == 4.819934639999230680322935210539402497827e-309 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i) == 3.810492908885321954658152505985270452320e-309 - 8.813735870195429467279863907910371604180e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i) == 3.810492908885321743133304375216641110205e-309 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i) == 3.810492908885321320083608113679347200012e-309 - 8.813735870195431822418551933572895326024e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i) == 3.810492908885321743133304375216617626230e-309 - 8.813735870195430252326093249797923090282e-1 i": double: 1 idouble: 1 @@ -1176,6 +3859,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i) == 2.546345110742945032959687790021055102355e-39 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i) == 2.013062564695348242280482517399205554874e-39 + 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -1188,6 +3876,11 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i) == 2.546345110742945032959687790021055102355e-39 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i) == 2.013062564695348242280482517399205554874e-39 - 8.813735870195430252326093249797923090282e-1 i": double: 1 float: 1 @@ -1200,12 +3893,36 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i) == 7.282957076134209141226696333885150260319e-4933 + 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 5.757683115456107044287327268904964422212e-4933 + 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 5.757683115456107044131264955348448400014e-4933 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i) == 5.757683115456107043819140328235418018963e-4933 + 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i) == 5.757683115456107044131264955348448954458e-4933 + 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i) == 4.516698239814521372306784062043266700598e-4933 + 1.194763217287109304111930828519090523536 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i) == 7.282957076134209141226696333885150260319e-4933 - 4.812118250596034474977589134243684231352e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 5.757683115456107044287327268904964422212e-4933 - 8.813735870195430251942769895627079569917e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 5.757683115456107044131264955348448400014e-4933 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i) == 5.757683115456107043819140328235418018963e-4933 - 8.813735870195430253092739958139610130980e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i) == 5.757683115456107044131264955348448954458e-4933 - 8.813735870195430252326093249797923090282e-1 i": ildouble: 1 ldouble: 1 @@ -1241,6 +3958,126 @@ idouble: 1 Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i) == 7.853981633974483096156608458198757210493e-1 + 1.135753137836666928715489992987020363057e4 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (0x1p-105 + 0.5 i) == 2.204933261082751447436996198490110245167e-32 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.743152798421049375791483240187377443526e-32 + 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-105 - 0.5 i) == 2.204933261082751447436996198490110245167e-32 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.743152798421049375791483240187377443526e-32 - 8.813735870195430252326093249797835932642e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-112 + 0.5 i) == 1.722604110220899568310153280070398629037e-34 + 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-112 - 0.5 i) == 1.722604110220899568310153280070398629037e-34 - 4.812118250596034474977589134243684231352e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 6.809190618832224124185481406981900518193e-35 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 6.809190618832224124185481406981900518193e-35 + 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 6.809190618832224124185481406981900518193e-35 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 6.809190618832224124185481406981900518193e-35 - 8.813735870195430252326093249797924452120e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-23 + 0.5 i) == 1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (0x1p-23 + 0.5 i) == 1.066240299940009780479664302917201696886e-7 + 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i) == 8.429369953393598499000760938112968755257e-8 + 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 + 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-23 - 0.5 i) == 1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (0x1p-23 - 0.5 i) == 1.066240299940009780479664302917201696886e-7 - 4.812118250596059896127318386463676808798e-1 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i) == 8.429369953393598499000760938112968755257e-8 - 8.813735448726963984495965873956465777250e-1 i": +double: 1 +idouble: 1 +Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i) == 8.429369199749229560964789467980644296420e-8 - 8.813736713132400470205730751186547909968e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-52 + 0.5 i) == 1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-52 + 0.5 i) == 1.986027322597818397661816253158024383707e-16 + 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i) == 1.570092458683774885078102529858632363236e-16 + 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-52 - 0.5 i) == 1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-52 - 0.5 i) == 1.986027322597818397661816253158024383707e-16 - 4.812118250596034474977589134243772428682e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i) == 1.570092458683774885078102529858632363236e-16 - 8.813735870195431822418551933572982483664e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-63 + 0.5 i) == 9.697399036122160144833087173623140436413e-20 + 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 7.666467083416870407402049869781566856442e-20 + 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i) == 7.666467083416870406778649849746878368519e-20 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i) == 7.666467083416870406778649849746878368519e-20 + 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-63 - 0.5 i) == 9.697399036122160144833087173623140436413e-20 - 4.812118250596034474977589134243684231373e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 7.666467083416870407402049869781566856442e-20 - 8.813735870195430251942769895627079569937e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i) == 7.666467083416870406778649849746878368519e-20 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i) == 7.666467083416870406778649849746878368519e-20 - 8.813735870195430253092739958139610131001e-1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1p500 + 1.0 i) == 1.570796326794896619231321691639751442099 + 3.472667374605326000180332928505464606058e2 i": ildouble: 1 ldouble: 1 @@ -1332,6 +4169,24 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i) == -0.0 + 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i) == -0.0 + 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i) == -1.962615573354718824241727964954454332780e-17 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i) == -0.0 - 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i) == -0.0 - 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i) == -1.962615573354718824241727964954454332780e-17 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (-0.25 + 1.0 i) == -5.097911466811016354623559941115413499164e-1 + 1.081751996523816326311037318425097434186 i": double: 1 idouble: 1 @@ -1349,6 +4204,46 @@ idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i) == -4.812118250596034474977589134243684231352e-1 + 4.819934639999230680322935210539402497827e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 + 0x1.fp-129 i) == -4.812118250596034474977589134243684231352e-1 + 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i) == -4.812118250596034474977589134243684231352e-1 + 7.282957076134209141226696333885150260319e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 + 0x1p-105 i) == -4.812118250596034474977589134243684231352e-1 + 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-112 i) == -4.812118250596034474977589134243684231352e-1 + 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-0.5 + 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 + 0x1p-63 i) == -4.812118250596034474977589134243684231373e-1 + 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (-0.5 + 1.0 i) == -7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": float: 1 ifloat: 1 @@ -1362,12 +4257,180 @@ idouble: 2 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i) == -4.812118250596034474977589134243684231352e-1 - 4.819934639999230680322935210539402497827e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 - 0x1.fp-129 i) == -4.812118250596034474977589134243684231352e-1 - 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i) == -4.812118250596034474977589134243684231352e-1 - 7.282957076134209141226696333885150260319e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 - 0x1p-105 i) == -4.812118250596034474977589134243684231352e-1 - 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-112 i) == -4.812118250596034474977589134243684231352e-1 - 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i) == -4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-0.5 - 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i) == -4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 - 0x1p-63 i) == -4.812118250596034474977589134243684231373e-1 - 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (-0.5 - 1.0 i) == -7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": float: 1 ifloat: 1 Test "Imaginary part of: casinh (-0.5 - 1.0 i) == -7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": float: 1 ifloat: 1 +Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == -8.813735870195429467279863907910371604180e-1 + 3.810492908885321954658152505985270452320e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == -8.813735870195429467279863907910371604180e-1 - 3.810492908885321954658152505985270452320e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == -8.813735870195430252326093249797835932642e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == -8.813735870195430252326093249797835932642e-1 + 3.810492908885321743133304375216641110205e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == -8.813735870195430252326093249797835932642e-1 + 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == -8.813735870195430252326093249797835932642e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == -8.813735870195430252326093249797835932642e-1 - 3.810492908885321743133304375216641110205e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == -8.813735870195430252326093249797835932642e-1 - 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i) == -8.813735870195430251942769895627079569917e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i) == -8.813735870195430251942769895627079569917e-1 + 5.757683115456107044287327268904964422212e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i) == -8.813735870195430251942769895627079569937e-1 + 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i) == -8.813735870195430251942769895627079569917e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i) == -8.813735870195430251942769895627079569917e-1 - 5.757683115456107044287327268904964422212e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i) == -8.813735870195430251942769895627079569937e-1 - 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i) == -8.813735448726963984495965873956465777250e-1 + 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i) == -8.813735448726963984495965873956465777250e-1 - 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i) == -8.813735870195430252326093249797924452120e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == -8.813735870195430252326093249797924452120e-1 + 5.757683115456107044131264955348448400014e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i) == -8.813735870195430252326093249797924452120e-1 + 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i) == -8.813735870195430252326093249797924452120e-1 + 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i) == -8.813735870195430252326093249797924452120e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == -8.813735870195430252326093249797924452120e-1 - 5.757683115456107044131264955348448400014e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i) == -8.813735870195430252326093249797924452120e-1 - 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i) == -8.813735870195430252326093249797924452120e-1 - 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i) == -8.813735870195430253092739958139610130980e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i) == -8.813735870195430253092739958139610130980e-1 + 5.757683115456107043819140328235418018963e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i) == -8.813735870195430253092739958139610131001e-1 + 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i) == -8.813735870195430253092739958139610131001e-1 + 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i) == -8.813735870195430253092739958139610130980e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i) == -8.813735870195430253092739958139610130980e-1 - 5.757683115456107043819140328235418018963e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i) == -8.813735870195430253092739958139610131001e-1 - 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i) == -8.813735870195430253092739958139610131001e-1 - 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i) == -8.813735870195431822418551933572895326024e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i) == -8.813735870195431822418551933572895326024e-1 + 3.810492908885321320083608113679347200012e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i) == -8.813735870195431822418551933572982483664e-1 + 1.570092458683774885078102529858632363236e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i) == -8.813735870195431822418551933572895326024e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i) == -8.813735870195431822418551933572895326024e-1 - 3.810492908885321320083608113679347200012e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i) == -8.813735870195431822418551933572982483664e-1 - 1.570092458683774885078102529858632363236e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i) == -8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1.fp-10 + 1.0 i) == -4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": float: 1 ifloat: 1 @@ -1378,18 +4441,148 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i) == -3.616396521699973256461764099945789620604e-301 + 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i) == -3.616396521699973256461764099945789620604e-301 - 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-129 + 0.5 i) == -3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i) == -5.335635276982233498398987585285818977933e-20 + 1.570796326794896619177965338869929107115 i": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1.fp-129 - 0.5 i) == -3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i) == -5.335635276982233498398987585285818977933e-20 - 1.570796326794896619177965338869929107115 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == -2.472906068161537187835415298076415423459e-4923 + 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == -1.962615573354718824241727964954454332780e-17 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == -2.472906068161537187835415298076415423459e-4923 - 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == -1.962615573354718824241727964954454332780e-17 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1.fp-30 + 1.0 i) == -4.247867098745151888768727039216644758847e-5 + 1.570753848123921942730162693731872690232 i": ildouble: 1 ldouble: 1 Test "Real part of: casinh (-0x1.fp-30 - 1.0 i) == -4.247867098745151888768727039216644758847e-5 - 1.570753848123921942730162693731872690232 i": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1p-105 + 0.5 i) == -2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == -1.234330349600789959989661887846005659983e-16 + 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == -1.234330349600789959989661887846005659983e-16 + 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-105 - 0.5 i) == -2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == -1.234330349600789959989661887846005659983e-16 - 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == -1.234330349600789959989661887846005659983e-16 - 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-112 + 0.5 i) == -2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i) == -2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i) == -1.091004200533850618345330909857103457781e-17 + 1.570796326794896601578502908312986698624 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-112 - 0.5 i) == -2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i) == -2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i) == -1.091004200533850618345330909857103457781e-17 - 1.570796326794896601578502908312986698624 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i) == -2.019699255375255198156433710951064632386e-17 + 1.570796326794896614463458507897073960405 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i) == -2.019699255375255198156433710951064632386e-17 - 1.570796326794896614463458507897073960405 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0.5 i) == -1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i) == -1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i) == -5.364668491573609633134147164031476452679e-4 + 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0.5 i) == -1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i) == -1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i) == -2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i) == -5.364668491573609633134147164031476452679e-4 - 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i) == -1.171456840272878582596796205397918831268e-8 + 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i) == -1.171456840272878582596796205397918831268e-8 - 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (-0x1p-63 + 0.5 i) == -1.251928832280966098829878787499365228659e-19 + 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i) == -2.588578361325995866221775673638805081337e-10 + 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-63 - 0.5 i) == -1.251928832280966098829878787499365228659e-19 - 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i) == -2.588578361325995866221775673638805081337e-10 - 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1p500 + 1.0 i) == -3.472667374605326000180332928505464606058e2 + 3.054936363499604682051979393213617699789e-151 i": ildouble: 1 ldouble: 1 @@ -1604,6 +4797,24 @@ idouble: 3 ifloat: 6 ildouble: 2 ldouble: 2 +Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i) == 0.0 + 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i) == 0.0 + 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i) == 1.962615573354718824241727964954454332780e-17 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i) == 0.0 - 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i) == 0.0 - 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i) == 1.962615573354718824241727964954454332780e-17 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (0.25 + 1.0 i) == 5.097911466811016354623559941115413499164e-1 + 1.081751996523816326311037318425097434186 i": double: 1 idouble: 1 @@ -1619,6 +4830,46 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0.5 + 0x1.fp-1025 i) == 4.812118250596034474977589134243684231352e-1 + 4.819934639999230680322935210539402497827e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 + 0x1.fp-129 i) == 4.812118250596034474977589134243684231352e-1 + 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 + 0x1.fp-16385 i) == 4.812118250596034474977589134243684231352e-1 + 7.282957076134209141226696333885150260319e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 + 0x1p-105 i) == 4.812118250596034474977589134243684231352e-1 + 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-112 i) == 4.812118250596034474977589134243684231352e-1 + 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 + 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casinh (0.5 + 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 + 1.066240299940009780479664302917201696886e-7 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (0.5 + 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.5 + 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 + 1.986027322597818397661816253158024383707e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 + 0x1p-63 i) == 4.812118250596034474977589134243684231373e-1 + 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.5 + 1.0 i) == 7.328576759736452608886724437653071523305e-1 + 8.959074812088902390666567243275770102229e-1 i": float: 1 ifloat: 1 @@ -1630,6 +4881,46 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0.5 - 0x1.fp-1025 i) == 4.812118250596034474977589134243684231352e-1 - 4.819934639999230680322935210539402497827e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 - 0x1.fp-129 i) == 4.812118250596034474977589134243684231352e-1 - 2.546345110742945032959687790021055102355e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 - 0x1.fp-16385 i) == 4.812118250596034474977589134243684231352e-1 - 7.282957076134209141226696333885150260319e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 - 0x1p-105 i) == 4.812118250596034474977589134243684231352e-1 - 2.204933261082751447436996198490110245167e-32 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-112 i) == 4.812118250596034474977589134243684231352e-1 - 1.722604110220899568310153280070398629037e-34 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casinh (0.5 - 0x1p-23 i) == 4.812118250596059896127318386463676808798e-1 - 1.066240299940009780479664302917201696886e-7 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (0.5 - 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0.5 - 0x1p-52 i) == 4.812118250596034474977589134243772428682e-1 - 1.986027322597818397661816253158024383707e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 - 0x1p-63 i) == 4.812118250596034474977589134243684231373e-1 - 9.697399036122160144833087173623140436413e-20 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.5 - 1.0 i) == 7.328576759736452608886724437653071523305e-1 - 8.959074812088902390666567243275770102229e-1 i": float: 1 ifloat: 1 @@ -1648,6 +4939,134 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i) == 8.813735870195429467279863907910371604180e-1 + 3.810492908885321954658152505985270452320e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i) == 8.813735870195429467279863907910371604180e-1 - 3.810492908885321954658152505985270452320e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i) == 8.813735870195430252326093249797835932642e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i) == 8.813735870195430252326093249797835932642e-1 + 3.810492908885321743133304375216641110205e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i) == 8.813735870195430252326093249797835932642e-1 + 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i) == 8.813735870195430252326093249797835932642e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i) == 8.813735870195430252326093249797835932642e-1 - 3.810492908885321743133304375216641110205e-309 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i) == 8.813735870195430252326093249797835932642e-1 - 1.743152798421049375791483240187377443526e-32 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i) == 8.813735870195430251942769895627079569917e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i) == 8.813735870195430251942769895627079569917e-1 + 5.757683115456107044287327268904964422212e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i) == 8.813735870195430251942769895627079569937e-1 + 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i) == 8.813735870195430251942769895627079569917e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i) == 8.813735870195430251942769895627079569917e-1 - 5.757683115456107044287327268904964422212e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i) == 8.813735870195430251942769895627079569937e-1 - 7.666467083416870407402049869781566856442e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i) == 8.813735448726963984495965873956465777250e-1 + 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i) == 8.813735448726963984495965873956465777250e-1 - 8.429369953393598499000760938112968755257e-8 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i) == 8.813735870195430252326093249797924452120e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i) == 8.813735870195430252326093249797924452120e-1 + 5.757683115456107044131264955348448400014e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 8.813735870195430252326093249797924452120e-1 + 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i) == 8.813735870195430252326093249797924452120e-1 + 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i) == 8.813735870195430252326093249797924452120e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i) == 8.813735870195430252326093249797924452120e-1 - 5.757683115456107044131264955348448400014e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 8.813735870195430252326093249797924452120e-1 - 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i) == 8.813735870195430252326093249797924452120e-1 - 6.809190618832224124185481406981900518193e-35 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i) == 8.813735870195430253092739958139610130980e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i) == 8.813735870195430253092739958139610130980e-1 + 5.757683115456107043819140328235418018963e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i) == 8.813735870195430253092739958139610131001e-1 + 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i) == 8.813735870195430253092739958139610131001e-1 + 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i) == 8.813735870195430253092739958139610130980e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i) == 8.813735870195430253092739958139610130980e-1 - 5.757683115456107043819140328235418018963e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i) == 8.813735870195430253092739958139610131001e-1 - 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i) == 8.813735870195430253092739958139610131001e-1 - 7.666467083416870406778649849746878368519e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i) == 8.813735870195431822418551933572895326024e-1 + 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i) == 8.813735870195431822418551933572895326024e-1 + 3.810492908885321320083608113679347200012e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i) == 8.813735870195431822418551933572982483664e-1 + 1.570092458683774885078102529858632363236e-16 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i) == 8.813735870195431822418551933572895326024e-1 - 0.0 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i) == 8.813735870195431822418551933572895326024e-1 - 3.810492908885321320083608113679347200012e-309 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i) == 8.813735870195431822418551933572982483664e-1 - 1.570092458683774885078102529858632363236e-16 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 + 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i) == 8.813736713132400470205730751186547909968e-1 - 8.429369199749229560964789467980644296420e-8 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1.fp-10 + 1.0 i) == 4.350501469856803800217957402220976497152e-2 + 1.527305029163877791518741192097931722508 i": float: 1 ifloat: 1 @@ -1658,12 +5077,36 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i) == 3.616396521699973256461764099945789620604e-301 + 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i) == 3.616396521699973256461764099945789620604e-301 - 1.570796311893735425383665303776316016594 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-129 + 0.5 i) == 3.287317402534702257036015056278368274737e-39 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i) == 5.335635276982233498398987585285818977933e-20 + 1.570796326794896619177965338869929107115 i": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1.fp-129 - 0.5 i) == 3.287317402534702257036015056278368274737e-39 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i) == 5.335635276982233498398987585285818977933e-20 - 1.570796326794896619177965338869929107115 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i) == 2.472906068161537187835415298076415423459e-4923 + 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i) == 1.962615573354718824241727964954454332780e-17 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i) == 2.472906068161537187835415298076415423459e-4923 - 1.570796326465624365239962068302568888898 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i) == 1.962615573354718824241727964954454332780e-17 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1.fp-30 + 1.0 i) == 4.247867098745151888768727039216644758847e-5 + 1.570753848123921942730162693731872690232 i": ildouble: 1 ldouble: 1 @@ -1679,6 +5122,112 @@ idouble: 1 Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i) == 1.135753137836666928715489992987020363057e4 + 7.853981633974483096156608458198757210493e-1 i": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1p-105 + 0.5 i) == 2.846556599890768890940941645338546615370e-32 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.234330349600789959989661887846005659983e-16 + 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i) == 1.234330349600789959989661887846005659983e-16 + 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-105 - 0.5 i) == 2.846556599890768890940941645338546615370e-32 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.234330349600789959989661887846005659983e-16 - 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i) == 1.234330349600789959989661887846005659983e-16 - 1.570796326794896419512475791677915736035 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-112 + 0.5 i) == 2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-112 + 0.5 i) == 2.223872343664663196047610660420739543258e-34 + 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.091004200533850618345330909857103457781e-17 + 1.570796326794896601578502908312986698624 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-112 - 0.5 i) == 2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-112 - 0.5 i) == 2.223872343664663196047610660420739543258e-34 - 5.235987755982988730771072305465838140329e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.091004200533850618345330909857103457781e-17 - 1.570796326794896601578502908312986698624 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i) == 2.019699255375255198156433710951064632386e-17 + 1.570796326794896614463458507897073960405 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i) == 2.019699255375255198156433710951064632386e-17 - 1.570796326794896614463458507897073960405 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 + 0.5 i) == 1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-23 + 0.5 i) == 1.376510308240943236356088341381173571841e-7 + 5.235987755982934033165770729745469098254e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 + 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i) == 5.364668491573609633134147164031476452679e-4 + 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 - 0.5 i) == 1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (0x1p-23 - 0.5 i) == 1.376510308240943236356088341381173571841e-7 - 5.235987755982934033165770729745469098254e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +float: 2 +ifloat: 2 +Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i) == 2.714321200917194650737217746780928423385e-4 - 1.570357140408705570520377172865353621698 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i) == 5.364668491573609633134147164031476452679e-4 - 1.570574114956455764594481054234834678422 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i) == 1.171456840272878582596796205397918831268e-8 + 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i) == 1.171456840272878582596796205397918831268e-8 - 1.570796307840326780080580569360500172043 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (0x1p-63 + 0.5 i) == 1.251928832280966098829878787499365228659e-19 + 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i) == 2.588578361325995866221775673638805081337e-10 + 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-63 - 0.5 i) == 1.251928832280966098829878787499365228659e-19 - 5.235987755982988730771072305465838140283e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i) == 2.588578361325995866221775673638805081337e-10 - 1.570796326376055842114524927965556247908 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p500 + 1.0 i) == 3.472667374605326000180332928505464606058e2 + 3.054936363499604682051979393213617699789e-151 i": ildouble: 1 ldouble: 1 @@ -1877,6 +5426,141 @@ ildouble: 1 ldouble: 1 # catan +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i) == -7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i) == -7.853981633974483096156608458198756729010e-1 + 1.681051571556046753131338908660876463178e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i) == -7.853981633974483096156608458198756849381e-1 + 3.469446951953614188823848962783813782817e-18 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i) == -7.853981633974483096156608458198756729010e-1 - 1.681051571556046753131338908660876463178e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i) == -7.853981335951250337419109991749089175724e-1 + 5.877472104436064061535099214664320916184e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i) == -7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i) == -7.853981335951250337419109991749089175724e-1 - 5.877472104436064061535099214664320916184e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i) == -7.853981633974483096156608458198758173458e-1 + 1.681051571556046753131338908660875977540e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i) == -7.853981633974483096156608458198758173458e-1 - 1.681051571556046753131338908660875977540e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i) == -7.853981633974483096156608458198758293829e-1 - 3.469446951953614188823848962783812780530e-18 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 - 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i) == -1.570796326794896619231321691639751442097 + 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i) == -1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i) == -1.570796326794896619231321691639751442099 + 4.338197604015604524209906861060325938836e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i) == -1.570796326794896619231321691639751442099 - 4.338197604015604524209906861060325938836e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 + 1.0 i) == -7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 1.0 i) == -7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 5.677221982376232056781839690803195180822e3 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 5.677221982376232056781839690803195180822e3 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i) == -7.853981638922134273801338071094141188767e-1 + 1.178350206951907025990405771755129268176e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i) == -7.853981638922134273801338071094141188767e-1 - 1.178350206951907025990405771755129268176e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": double: 1 float: 1 @@ -1885,11 +5569,282 @@ ifloat: 1 Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i) == 7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i) == 7.853981633974483096156608458198756729010e-1 + 1.681051571556046753131338908660876463178e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i) == 7.853981633974483096156608458198756849381e-1 + 3.469446951953614188823848962783813782817e-18 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i) == 7.853981633974483096156608458198756729010e-1 - 1.681051571556046753131338908660876463178e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i) == 7.853981335951250337419109991749089175724e-1 + 5.877472104436064061535099214664320916184e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i) == 7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i) == 7.853981335951250337419109991749089175724e-1 - 5.877472104436064061535099214664320916184e-39 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i) == 7.853981633974483096156608458198758173458e-1 + 1.681051571556046753131338908660875977540e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i) == 7.853981633974483096156608458198758173458e-1 - 1.681051571556046753131338908660875977540e-4932 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i) == 7.853981633974483096156608458198758293829e-1 - 3.469446951953614188823848962783812780530e-18 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 - 2.871063043235098558826106732041811695767e-309 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i) == 1.570796326794896619231321691639751442097 + 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i) == 1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i) == 1.570796326794896619231321691639751442099 + 4.338197604015604524209906861060325938836e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i) == 1.570796326794896619231321691639751442099 - 4.338197604015604524209906861060325938836e-4933 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 + 1.0 i) == 7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 1.0 i) == 7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-16380 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 5.677221982376232056781839690803195180822e3 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16380 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 5.677221982376232056781839690803195180822e3 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i) == 7.853981638922134273801338071094141188767e-1 + 1.178350206951907025990405771755129268176e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i) == 7.853981638922134273801338071094141188767e-1 - 1.178350206951907025990405771755129268176e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 # catanh +Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i) == -1.178350206951907025990405771755129268176e1 + 7.853981638922134273801338071094141188767e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i) == -1.178350206951907025990405771755129268176e1 - 7.853981638922134273801338071094141188767e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i) == -1.516766904286822590927401983512575068153e-39 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i) == -1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i) == -4.338197604015604524209906861060325938836e-4933 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i) == -4.338197604015604524209906861060325938836e-4933 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i) == -5.877472104436064061535099214664320916184e-39 + 7.853981335951250337419109991749089175724e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i) == -5.877472104436064061535099214664320916184e-39 - 7.853981335951250337419109991749089175724e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i) == -6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i) == -1.681051571556046753131338908660876463178e-4932 + 7.853981633974483096156608458198756729010e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i) == -1.681051571556046753131338908660875977540e-4932 + 7.853981633974483096156608458198758173458e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i) == -1.681051571556046753131338908660876463178e-4932 - 7.853981633974483096156608458198756729010e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i) == -1.681051571556046753131338908660875977540e-4932 - 7.853981633974483096156608458198758173458e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 + 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 - 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i) == -3.469446951953614188823848962783812780530e-18 + 7.853981633974483096156608458198758293829e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i) == -3.469446951953614188823848962783812780530e-18 - 7.853981633974483096156608458198758293829e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i) == -4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-16380 i) == -5.677221982376232056781839690803195180822e3 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i) == -4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-16380 i) == -5.677221982376232056781839690803195180822e3 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i": double: 4 idouble: 4 +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i": double: 1 idouble: 1 @@ -1898,6 +5853,142 @@ ldouble: 1 Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i) == 1.178350206951907025990405771755129268176e1 + 7.853981638922134273801338071094141188767e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i) == 1.178350206951907025990405771755129268176e1 - 7.853981638922134273801338071094141188767e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i) == 4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i) == 4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 - 1.570796326794896619231321691639751442099 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i) == 1.516766904286822590927401983512575068153e-39 + 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i) == 1.516766904286822590927401983512575068153e-39 - 1.570796326794896619231321691639751442097 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i) == 4.338197604015604524209906861060325938836e-4933 + 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i) == 4.338197604015604524209906861060325938836e-4933 - 1.570796326794896619231321691639751442099 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i) == 5.877472104436064061535099214664320916184e-39 + 7.853981335951250337419109991749089175724e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i) == 5.877472104436064061535099214664320916184e-39 - 7.853981335951250337419109991749089175724e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 + 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 1.0 i) == 6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 - 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 1.0 i) == 6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.681051571556046753131338908660876463178e-4932 + 7.853981633974483096156608458198756729010e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i) == 1.681051571556046753131338908660875977540e-4932 + 7.853981633974483096156608458198758173458e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i) == 1.681051571556046753131338908660876463178e-4932 - 7.853981633974483096156608458198756729010e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i) == 1.681051571556046753131338908660875977540e-4932 - 7.853981633974483096156608458198758173458e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 + 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 - 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i) == 3.469446951953614188823848962783813782817e-18 + 7.853981633974483096156608458198756849381e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i) == 3.469446951953614188823848962783813782817e-18 - 7.853981633974483096156608458198756849381e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-13 i) == 4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-16380 i) == 5.677221982376232056781839690803195180822e3 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-13 i) == 4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-16380 i) == 5.677221982376232056781839690803195180822e3 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 # cbrt Test "cbrt (-0.001) == -0.1": @@ -4210,6 +8301,601 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x0.fffffffffffff8p0) == -9.0071992547409924227843350984672961392521e+15": +double: 1 +idouble: 1 +Test "tgamma (-0x0.ffffffffffffffffffffffffffff8p0) == -1.0384593717069655257060992658440192422784e+34": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x0.ffffffp0) == -1.6777216422784419250710305882992376932423e+07": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.0000000000000002p0) == 9.2233720368547758075772156649015328607596e+18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.0000000000001p0) == 4.5035996273704955772156649015331740980405e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.000002p0) == 8.3886075772158332060084424806449513922858e+06": +double: 2 +idouble: 2 +Test "tgamma (-0x1.0a32a2p+5) == 1.8125267978155035272941154746083439329912e-37": +float: 2 +ifloat: 2 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1.5800000080001p+7) == -3.1439271448823567326093363350637118195240e-304": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.fffffffffffffffep0) == 4.6116860184273879044613921675492335697983e+18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.fffffffffffffp0) == 2.2517998136852484613921675492337776673289e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffep0) == 2.1550026214525536756224040483579183652119e-13": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffffffffffffep0) == 2.3694367893405502075347562184931828448654e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.fffffffffffffffffffffffff8p0) == 1.0420893204640670202556853709074896123293e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffffffffffp0) == 1.1569515572952029402736625857313236848570e-04": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x14.000000000000000000000000001p0) == -1.3338743301940057859272772747599851284049e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x14.000000000001p0) == -1.1569515572951781096476686854873801225397e-04": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x14.00002p0) == -2.1549777908265594916405421768142757507179e-13": +float: 1 +ifloat: 1 +ildouble: 4 +ldouble: 4 +Test "tgamma (-0x1d.ffffep0) == 1.9765721589464867957912772592816027583176e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0) == 9.5580541610429641982963434151488827190079e-03": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.ffffffffffffp0) == 1.0611571800204311628217068863959963842891e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.000000000000000000000000001p0) == -1.2234309326134994173819319571373948286903e+00": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1e.00000000000000000000000008p0) == -9.5580541610429641982963434151231128067179e-03": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.000000000000002p0) == -2.1732499046818166201837145753965837196590e-15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.000000000001p0) == -1.0611571800204053929094168642022073530425e-18": +double: 3 +idouble: 3 +Test "tgamma (-0x1e.00002p0) == -1.9765463890341964384070157599286498212650e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1f3.ffffffffffffffffffffffffffp0) == 1.6623061587520224800948170558276526986560e-1103": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1p-24) == -1.6777216577215723853867349114260580375249e+07": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000000000000000000002p0) == -1.2980742146337069071326240823050235386078e+33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000002p0) == -1.1258999068426235386078324507668462444260e+15": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.000004p0) == -2.0971515386080557574407223895988378776747e+06": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.fffffcp0) == -6.9905087601970247876992248591045142913324e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x2.ffffffffffffep0) == -3.7529996894754154268627807196691509198813e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.fffffffffffep0) == 1.7249032006742266376460389310340465554361e-34": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.ffffffffffffffcp0) == 3.5326017549807232935581894777156474496719e-31": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.ffffffffffffffffffffffffffep0) == 1.9886779934224431790713007246380976767855e-16": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x27.fffffffffffffffffffffffffp0) == 1.5536546823612837336494536911280147806523e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.0000000000000000000000001p0) == -1.5536546823612837336494536911189419578973e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.000000000002p0) == -1.7249032006741359094184881234822934593822e-34": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.00004p0) == -3.2128372159115252365699015758097981155793e-43": +double: 2 +idouble: 2 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x28.ffffffffffffffcp0) == -8.6161018414163982777002940498289948893044e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.ffffffffffffffffffffffffffep0) == -4.8504341302986419001739042064343853066259e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.fffffffffffffffffffffffffp0) == -3.7894016642958139845108626612879138384405e-20": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.000000000000000000000000002p0) == 4.8504341302986419001739042064341625600656e-18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.0000000000000000000000001p0) == 3.7894016642958139845108626612656391824122e-20": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x29.00004p0) == 7.8361876024016854597745353972619195760515e-45": +double: 1 +idouble: 1 +Test "tgamma (-0x29.ffffcp0) == 1.8658121573125798145204120066590953505132e-46": +double: 1 +idouble: 1 +Test "tgamma (-0x29.fffffffffffep0) == 1.0016859469652887505173040814397197718981e-37": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.ffffffffffffffcp0) == 2.0514528193848567329552463626090806737389e-34": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.ffffffffffffffffffffffffffep0) == 1.1548652691187242619461676681986633377063e-19": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.fffffffffffffffffffffffffp0) == 9.0223849149900332964544349078285357440663e-22": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.000000000000000000000000002p0) == -1.1548652691187242619461676681986099638869e-19": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.0000000000000000000000001p0) == -9.0223849149900332964544349077751619246306e-22": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.000000000000004p0) == -2.0514528193848566795814269269517457847791e-34": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.000000000002p0) == -1.0016859469652353766978684241048308120274e-37": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2ed.fffffffffffffffffffffffffep0) == 3.9294757797334687313030998663853566763041e-1802": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2ee.00000000000004p0) == -6.9801511765871767194421856376592926002995e-1817": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.00000000000000000000000001p0) == 3.3804016006086117373245418810024573137219e+30": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.000004p0) == 6.9905045731381300146131914617735687322025e+05": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x3.fffffcp0) == 1.7476272942159602684441970627092458855771e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep0) == 9.3824992236885396088236184658402406857503e+13": +double: 2 +idouble: 2 +Test "tgamma (-0x3.fffffffffffffffcp0) == 1.9215358410114116272942156951799168638773e+17": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.fffffffffffffffffffffffffffep0) == 1.0817285121947557559438534019208539608824e+32": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x31.fffffffffffep0) == 4.6273774273632946947805289899230181990085e-51": +double: 3 +idouble: 3 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x31.ffffffffffffffcp0) == 9.4768689712397635680446279661359728835046e-48": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x31.ffffffffffffffffffffffffffep0) == 5.3350029459393017997786969431322287652396e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x31.fffffffffffffffffffffffffp0) == 4.1679710515150795310771069868348482819424e-35": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x32.000000000000000000000000002p0) == -5.3350029459393017997786969431319708591664e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.0000000000000000000000001p0) == -4.1679710515150795310771069868090576746248e-35": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000000004p0) == -9.4768689712397633101385547903658075308777e-48": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e7.fffffffffffffcp0) == 4.4768809295877296071892611539415773519036e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e7.fffffffffffffffffffffffffep0) == 2.5202599107841713834679953735597552855978e-2537": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e8.00000000000000000000000002p0) == -2.5202599107841713834679953735563216504503e-2537": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x3e8.00000000000004p0) == -4.4768809295877261735541135972060089530309e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.0000000000004p0) == -4.6912496118442603911763815341745722862351e+13": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.000008p0) == -8.7381270578483499672965708923121931082305e+04": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.fffff8p0) == -1.7476280884325863043793087474680780379554e+04": +double: 1 +idouble: 1 +Test "tgamma (-0x4.ffffffffffffcp0) == -9.3824992236885475509805702650262155809819e+12": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.fffffffffffffffffffffffffep0) == -8.4510040015215293433113547025080884313904e+28": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.fffffffffffffffffffffffffffcp0) == -1.0817285121947557559438534019208547550981e+31": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000000008p0) == 1.9215358410114116252449019429734996071487e+16": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000004p0) == 9.3824992236885191156860964016850034672946e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.000008p0) == 1.7476252449031389167286893378510439443844e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x5.fffff8p0) == 2.9127137122026653716311560165769071985443e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.ffffffffffffcp0) == 1.5637498706147581566449098589862357835505e+12": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.fffffffffffffff8p0) == 3.2025597350190193803788671320812043622696e+15": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x5.fffffffffffffffffffffffffep0) == 1.4085006669202548905518924504180378867132e+28": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.fffffffffffffffffffffffffffcp0) == 1.8028808536579262599064223365347581566449e+30": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5db.fffffffffffff8p0) == 1.8718211510339187689122114747834510481993e-4099": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5db.fffffffffffffffffffffffffcp0) == 1.0537416297875703295453200836588944487917e-4084": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5dc.00000000000000000000000004p0) == -1.0537416297875703295453200836558547326520e-4084": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6.0000000000000000000000000004p0) == -1.8028808536579262599064223365347529544662e+30": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.00000000000000000000000002p0) == -1.4085006669202548905518924504175176688423e+28": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.0000000000004p0) == -1.5637498706147529544662012521330708016396e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.000008p0) == -2.9127085100239567622341538102130981196910e+03": +float: 2 +ifloat: 2 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6.fffff8p0) == -4.1610198723079349791939054365613377035519e+02": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.ffffffffffffcp0) == -2.2339283865925119357965832452642909859289e+11": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.fffffffffffffff8p0) == -4.5750853357414562579675426149912896787735e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.fffffffffffffffffffffffffffcp0) == -2.5755440766541803712948890521925119357966e+29": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.fffffffffffcp0) == 7.5400833348840965463348754984345825364294e-145": +double: 2 +idouble: 2 +Test "tgamma (-0x63.ffffffffffffff8p0) == 1.5442090669841618542494279375256856430049e-141": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x63.ffffffffffffffffffffffffep0) == 6.7915032994648558610510614163560656864280e-129": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x64.000000000000000000000000004p0) == -8.6931242233150155021453586128720401960966e-127": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x64.0000000000000000000000002p0) == -6.7915032994648558610510614162572689693253e-129": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000004p0) == -7.5400833348831085791638490135462230991587e-145": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6d5.fffffffffffff8p0) == 4.2925786447266492555651378780094011518063e-4902": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6d6.00000000000000000000000004p0) == -2.4165069481061837867659591369927521090377e-4887": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6e3.00000000000000000000000004p0) == 1.5891611922804672355414813802961215945667e-4929": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x7.0000000000000008p0) == 4.5750853357414562499689653215166468353753e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000004p0) == 2.2339283865925039372192897706214475877342e+11": +double: 3 +idouble: 3 +Test "tgamma (-0x7.000008p0) == 4.1610118737306415004517215226199741948733e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x7.fffff8p0) == 5.2012751504050764429534086402871289946986e+01": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +Test "tgamma (-0x7.ffffffffffffcp0) == 2.7924104832406402297655703264222230055898e+10": +double: 3 +idouble: 3 +Test "tgamma (-0x7.fffffffffffffff8p0) == 5.7188566696768203227694481100089533685959e+13": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.fffffffffffffffffffffffffep0) == 2.5151797623575980188426650900322769448110e+26": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.fffffffffffffffffffffffffffcp0) == 3.2194300958177254641186113152406402297656e+28": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8.0000000000000000000000000008p0) == -1.6097150479088627320593056576203121511868e+28": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8.00000000000000000000000004p0) == -1.2575898811787990094213325450153421028080e+26": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8.0000000000008p0) == -1.3962052416203121511868106259843527348026e+10": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8.00001p0) == -2.6006296115134418896533598545925084576702e+01": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.ffffffffffff8p0) == 1.5513391573559147700413058496716749249803e+08": +double: 1 +idouble: 1 +Test "tgamma (-0x9.fffffffffffffffffffffffffff8p0) == 1.7885722754542919245103396195781369922635e+26": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.fffffp0) == 2.8896008370721717567612135720915723136310e-01": +float: 1 +ifloat: 1 +Test "tgamma (-0x95.ffffffffffffffp0) == 1.2612069237291916400144732227892704713839e-246": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.000000000000000000000000008p0) == -7.0999637896798458052083945552077084073470e-232": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.0000000000000000000000004p0) == -5.5468467106873795353190582461689495693675e-234": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.00000000000001p0) == -1.2612069237291914644980030550324645611752e-246": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x96.000000000008p0) == -6.1582369322705655439003240743176243138734e-250": +double: 1 +idouble: 1 +Test "tgamma (-0xa.0000000000008p0) == -1.5513391573559018084419393002828541166901e+08": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xa.00001p0) == -2.8895878754728051776830454190076999107021e-01": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb4.ffffffffffffffffffffffffcp0) == -8.7154451775644399729745472278589884205029e-303": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb4.ffffffffffffffp0) == -1.9816628031468191243385005680879281767694e-315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.0000000000000000000000004p0) == 8.7154451775644399729745472275729078899858e-303": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.00000000000001p0) == 1.9816628031468188382579700510291588022368e-315": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb5.000000000008p0) == 9.6760879059888966544677044221698800670218e-319": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.ffffffffffffffffffffffffff8p0) == 6.1295438611442215194546266216911239298981e-303": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.00000000000001p0) == -1.0888257160147356253334423783317128355514e-317": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.000000000008p0) == -5.3165318164774149139661976747137185876909e-321": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.fffffffffff8p0) == -2.9052086428846935908287469917922960610289e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.ffffffffffffffffffffffffff8p0) == -3.3494775197509407210134571703230189921356e-305": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0xb7.000000000000000000000000008p0) == 3.3494775197509407210134571703221582364195e-305": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.00000000000001p0) == 5.9498673006269706297861824177538685763601e-320": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb7.000000000008p0) == 2.9052086428838328351126988236541632950925e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.ffffffffffffffffffffffffcp0) == 1.4221626697312078468976975078030462044826e-309": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.ffffffffffffffffffffffffff8p0) == 1.8203682172559460440290528099581627396147e-307": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb8.00000000000001p0) == -3.2336235329494405594225146768193434900135e-322": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbb.ffffffffffffffffffffffffcp0) == 1.1756150745511026776007338998283058108448e-318": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0xbb.ffffffffffffffffffffffffff8p0) == 1.5047872954254114273289393917555491216542e-316": +ildouble: 4 +ldouble: 4 +Test "tgamma (-0xbc.000000000000000000000000008p0) == -1.5047872954254114273289393917551604237609e-316": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbc.0000000000000000000000004p0) == -1.1756150745511026776007338997894360215107e-318": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbc.00000000000001p0) == -2.6730392040715346232108532050343031951651e-331": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbc.ffffffffffffffp0) == -1.4143064571807063556111222197839950086445e-333": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbd.000000000000000000000000008p0) == 7.9618375419333937953912137129902657538965e-319": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbd.00000000000001p0) == 1.4143064571807061497431633629389135273431e-333": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbd.ffffffffffffffp0) == 7.4437181956879281879706555863416819210399e-336": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbe.000000000000000000000000008p0) == -4.1904408115438914712585335331527709057227e-321": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.0000000000000000000000004p0) == -3.2737818840186652119207293227217957948294e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.ffffffffffffffffffffffffcp0) == -1.7140219288055838805867692789687487834686e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.ffffffffffffffp0) == -3.8972346574282346536709453101948570578636e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbf.000000000000000000000000008p0) == 2.1939480688711473671510646770433352695669e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbf.0000000000000000000000004p0) == 1.7140219288055838805867692789119066543632e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbf.00000000000001p0) == 3.8972346574282340852496542564155275274974e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf9.ffffffffffffffp0) == 2.2289142548411573883553287678043297937797e-476": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xfa.000000000000000000000000008p0) == -1.2547671759429278005937024349855091492502e-461": +ildouble: 1 +ldouble: 1 +Test "tgamma (-2.5) == -9.4530872048294188122568932444861076415869e-01": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-3.5) == 2.7008820585226910892162552127103164690248e-01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-4.5) == -6.0019601300504246427027893615784810422774e-02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-5.5) == 1.0912654781909862986732344293779056440504e-02": +double: 1 +idouble: 1 +Test "tgamma (-6.5) == -1.6788699664476712287280529682737009908468e-03": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-7.5) == 2.2384932885968949716374039576982679877958e-04": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-8.5) == -2.6335215159963470254557693619979623385833e-05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-9.5) == 2.7721279115751021320587045915768024616666e-06": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "tgamma (0.5) == sqrt (pi)": float: 1 ifloat: 1 @@ -4218,7 +8904,259 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.fffffep0) == 9.9999994960018563231526611134590489120697e-01": +float: 1 +ifloat: 1 +Test "tgamma (0x1.fffffffffffffffep0) == 9.9999999999999999995416163053934024243282e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.ffffffffffffffffffffffffffffp0) == 9.9999999999999999999999999999999991857470e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.fffffffffffffp0) == 9.9999999999999990612301934456883679778984e-01": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1p-113) == 1.0384593717069655257060992658440191422784e+34": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1p-24) == 1.6777215422784394050795179874582764575261e+07": +float: 1 +ifloat: 1 +Test "tgamma (0x1p-53) == 9.0071992547409914227843350984672492007618e+15": +double: 1 +idouble: 1 +Test "tgamma (0x2.30a43cp+4) == 3.4027979115654976101247558405326779640190e+38": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 2 +ldouble: 2 +Test "tgamma (0x2.fffffcp0) == 1.9999995599822108706107786027549565954046e+00": +float: 3 +ifloat: 3 +Test "tgamma (0x2.ffffffffffffep0) == 1.9999999999999991804028675282128956223990e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.0000000000002p0) == 2.0000000000000008195971324717875960213536e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffcp0) == 5.9999982031095793171233994481968816873643e+00": +float: 1 +ifloat: 1 +Test "tgamma (0x3.ffffffffffffep0) == 5.9999999999999966530301828845138185025345e+00": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffffffffffffcp0) == 5.9999999999999999983657373939865784753909e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffffffffffffffffffffffffep0) == 5.9999999999999999999999999999999970969664e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.0000000000000000000000000004p0) == 6.0000000000000000000000000000000058060671e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.0000000000004p0) == 6.0000000000000066939396342309789716341613e+00": +double: 1 +idouble: 1 +Test "tgamma (0x4.000008p0) == 6.0000035937827461765660468073471093546129e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.ffffffffffffcp0) == 2.3999999999999967895170944875373910918544e+01": +double: 1 +idouble: 1 +Test "tgamma (0x4.fffffffffffffffffffffffffep0) == 2.3999999999999999999999999999996435647958e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.fffffffffffffffffffffffffffcp0) == 2.3999999999999999999999999999999972153500e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000000000000000000004p0) == 2.4000000000000000000000000000000027846500e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000004p0) == 2.4000000000000032104829055124673225982803e+01": +double: 1 +idouble: 1 +Test "tgamma (0x5.000008p0) == 2.4000017236155647574166073485628713443799e+01": +float: 2 +ifloat: 2 +Test "tgamma (0x5.fffff8p0) == 1.1999990237520611552119807476573441975106e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x5.ffffffffffffcp0) == 1.1999999999999981815957265157389249327533e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.fffffffffffffff8p0) == 1.1999999999999999991121072883377624326546e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.fffffffffffffffffffffffffep0) == 1.1999999999999999999999999999997981165708e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000000000000000000004p0) == 1.2000000000000000000000000000000015772143e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000000008p0) == 1.2000000000000000008878927116622375680433e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000004p0) == 1.2000000000000018184042734842640022086408e+02": +double: 1 +idouble: 1 +Test "tgamma (0x6.000008p0) == 1.2000009762487825358530770343720418162783e+02": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.fffff8p0) == 7.1999935703082425988147448928288557689866e+02": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.ffffffffffffcp0) == 7.1999999999999880237602554542848858572672e+02": +double: 4 +idouble: 4 +Test "tgamma (0x6.fffffffffffffff8p0) == 7.1999999999999999941522266872335324679893e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000000000000000000004p0) == 7.2000000000000000000000000000000103877321e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000000008p0) == 7.2000000000000000058477733127664675369681e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000004p0) == 7.2000000000000119762397445457359071259652e+02": +double: 4 +idouble: 4 +Test "tgamma (0x7.000008p0) == 7.2000064296977505705636258629805621178587e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x7.fffff8p0) == 5.0399951558933225045148935487583089307135e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (0x7.ffffffffffffcp0) == 5.0399999999999909771437166339103165198442e+03": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.fffffffffffffffffffffffffffcp0) == 5.0399999999999999999999999999999921739197e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.0000000000000000000000000008p0) == 5.0400000000000000000000000000000156521606e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.0000000000008p0) == 5.0400000000000180457125667322294144477136e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.00001p0) == 5.0400096882277802019946778420223050233915e+03": +double: 2 +idouble: 2 +Test "tgamma (0xa.b9fd72b0fb238p+4) == 1.7976931348622298700886249281842651388250e+308": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4) == 1.7976931348623158079372897140599422519044e+308": +ildouble: 2 +ldouble: 2 +Test "tgamma (10) == 362880": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (18.5) == 1.4986120533153361177371791123515513270334e+15": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (19.5) == 2.7724322986333718178137813578503699550119e+16": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (2.5) == 1.3293403881791370204736256125058588870982e+00": +float: 2 +ifloat: 2 +Test "tgamma (23.5) == 5.3613035875444147334274983856108155717836e+21": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (29.5) == 1.6348125198274266444378807806868221866931e+30": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (3) == 2": +float: 1 +ifloat: 1 +Test "tgamma (3.5) == 3.3233509704478425511840640312646472177454e+00": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (30.5) == 4.8226969334909086010917483030261254507447e+31": +float: 1 +ifloat: 1 +Test "tgamma (32.5) == 4.6334060788513904384988971821323500268029e+34": +ildouble: 1 +ldouble: 1 +Test "tgamma (33.5) == 1.5058569756267018925121415841930137587110e+36": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (34.5) == 5.0446208683494513399156743070465960916817e+37": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 Test "tgamma (4) == 6": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (4.5) == 1.1631728396567448929144224109426265262109e+01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (6) == 120": +float: 1 +ifloat: 1 +Test "tgamma (6.5) == 2.8788527781504436099631954670830006523720e+02": +float: 1 +ifloat: 1 +Test "tgamma (7) == 720": +double: 1 +idouble: 1 +Test "tgamma (7.5) == 1.8712543057977883464760770536039504240418e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (8) == 5040": +double: 1 +idouble: 1 +Test "tgamma (8.5) == 1.4034407293483412598570577902029628180313e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (9) == 40320": +double: 1 +idouble: 1 +Test "tgamma (9.5) == 1.1929246199460900708784991216725183953266e+05": +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 @@ -4513,65 +9451,71 @@ double: 1 float: 2 idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: Imaginary part of "cacos": double: 2 -float: 1 +float: 2 idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 +ifloat: 2 +ildouble: 2 +ldouble: 2 Function: Real part of "cacosh": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 +ildouble: 2 +ldouble: 2 Function: Imaginary part of "cacosh": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 +ildouble: 2 +ldouble: 2 Function: Real part of "casin": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: Imaginary part of "casin": double: 2 -float: 1 +float: 2 idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 +ifloat: 2 +ildouble: 2 +ldouble: 2 Function: Real part of "casinh": double: 5 -float: 1 +float: 2 idouble: 5 -ifloat: 1 +ifloat: 2 ildouble: 4 ldouble: 4 Function: Imaginary part of "casinh": double: 3 -float: 6 +float: 1 idouble: 3 -ifloat: 6 +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 @@ -4582,11 +9526,15 @@ ldouble: 1 Function: Real part of "catanh": double: 4 +float: 1 idouble: 4 +ifloat: 1 ildouble: 1 ldouble: 1 Function: Imaginary part of "catanh": +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 @@ -5123,12 +10071,12 @@ ildouble: 1 ldouble: 1 Function: "tgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +double: 4 +float: 3 +idouble: 4 +ifloat: 3 +ildouble: 4 +ldouble: 4 Function: "y0": double: 2 diff --git a/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h b/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h index 17c4cd125..35bd2ccc4 100644 --- a/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h +++ b/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h @@ -47,6 +47,7 @@ #define _FP_NANSIGN_Q 0 #define _FP_KEEPNANFRACP 1 +#define _FP_QNANNEGATEDP 0 /* If one NaN is signaling and the other is not, * we choose that one, otherwise we choose X. diff --git a/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h index f2d106ec0..562fdfc1c 100644 --- a/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h +++ b/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h @@ -60,6 +60,7 @@ do { \ #define _FP_NANSIGN_Q 0 #define _FP_KEEPNANFRACP 1 +#define _FP_QNANNEGATEDP 0 /* If one NaN is signaling and the other is not, * we choose that one, otherwise we choose Y. diff --git a/libc/sysdeps/unix/sysv/linux/Makefile b/libc/sysdeps/unix/sysv/linux/Makefile index f82c94982..f580635c8 100644 --- a/libc/sysdeps/unix/sysv/linux/Makefile +++ b/libc/sysdeps/unix/sysv/linux/Makefile @@ -152,7 +152,7 @@ endif ifeq ($(subdir),io) sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \ - sync_file_range open_2 open64_2 fallocate fallocate64 + sync_file_range fallocate fallocate64 sysdep_headers += bits/fcntl-linux.h endif diff --git a/libc/sysdeps/unix/sysv/linux/bits/sched.h b/libc/sysdeps/unix/sysv/linux/bits/sched.h index 5e8057b62..e42dee8e6 100644 --- a/libc/sysdeps/unix/sysv/linux/bits/sched.h +++ b/libc/sysdeps/unix/sysv/linux/bits/sched.h @@ -144,21 +144,21 @@ typedef struct # define __CPU_SET_S(cpu, setsize, cpusetp) \ (__extension__ \ ({ size_t __cpu = (cpu); \ - __cpu < 8 * (setsize) \ + __cpu / 8 < (setsize) \ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ |= __CPUMASK (__cpu)) \ : 0; })) # define __CPU_CLR_S(cpu, setsize, cpusetp) \ (__extension__ \ ({ size_t __cpu = (cpu); \ - __cpu < 8 * (setsize) \ + __cpu / 8 < (setsize) \ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ &= ~__CPUMASK (__cpu)) \ : 0; })) # define __CPU_ISSET_S(cpu, setsize, cpusetp) \ (__extension__ \ ({ size_t __cpu = (cpu); \ - __cpu < 8 * (setsize) \ + __cpu / 8 < (setsize) \ ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ & __CPUMASK (__cpu))) != 0 \ : 0; })) diff --git a/libc/sysdeps/unix/sysv/linux/bits/socket.h b/libc/sysdeps/unix/sysv/linux/bits/socket.h index eadd7d932..9312849d0 100644 --- a/libc/sysdeps/unix/sysv/linux/bits/socket.h +++ b/libc/sysdeps/unix/sysv/linux/bits/socket.h @@ -79,7 +79,8 @@ typedef __socklen_t socklen_t; #define PF_CAIF 37 /* CAIF sockets. */ #define PF_ALG 38 /* Algorithm sockets. */ #define PF_NFC 39 /* NFC sockets. */ -#define PF_MAX 40 /* For now.. */ +#define PF_VSOCK 40 /* vSockets. */ +#define PF_MAX 41 /* For now.. */ /* Address families. */ #define AF_UNSPEC PF_UNSPEC @@ -123,6 +124,7 @@ typedef __socklen_t socklen_t; #define AF_CAIF PF_CAIF #define AF_ALG PF_ALG #define AF_NFC PF_NFC +#define AF_VSOCK PF_VSOCK #define AF_MAX PF_MAX /* Socket level values. Others are defined in the appropriate headers. diff --git a/libc/sysdeps/unix/sysv/linux/check_pf.c b/libc/sysdeps/unix/sysv/linux/check_pf.c index 8bc025b04..34c21461b 100644 --- a/libc/sysdeps/unix/sysv/linux/check_pf.c +++ b/libc/sysdeps/unix/sysv/linux/check_pf.c @@ -24,6 +24,7 @@ #include <string.h> #include <time.h> #include <unistd.h> +#include <stdint.h> #include <sys/socket.h> #include <asm/types.h> diff --git a/libc/sysdeps/unix/sysv/linux/dl-writev.h b/libc/sysdeps/unix/sysv/linux/dl-writev.h new file mode 100644 index 000000000..b682e0c4b --- /dev/null +++ b/libc/sysdeps/unix/sysv/linux/dl-writev.h @@ -0,0 +1,38 @@ +/* Message-writing for the dynamic linker. Linux version. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sys/uio.h> +#include <sysdep.h> + +/* This is used from only one place: dl-misc.c:_dl_debug_vdprintf. + Hence it's in a header with the expectation it will be inlined. + + This is writev, but with a constraint added and others loosened: + + 1. Under RTLD_PRIVATE_ERRNO, it must not clobber the private errno + when another thread holds the dl_load_lock. + 2. It is not obliged to detect and report errors at all. + 3. It's not really obliged to deliver a single atomic write + (though it may be preferable). */ + +static inline void +_dl_writev (int fd, const struct iovec *iov, size_t niov) +{ + INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL (writev, err, 3, fd, iov, niov); +} diff --git a/libc/sysdeps/unix/sysv/linux/getipv4sourcefilter.c b/libc/sysdeps/unix/sysv/linux/getipv4sourcefilter.c index 5c90caa8a..99082483b 100644 --- a/libc/sysdeps/unix/sysv/linux/getipv4sourcefilter.c +++ b/libc/sysdeps/unix/sysv/linux/getipv4sourcefilter.c @@ -21,6 +21,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> #include <netinet/in.h> #include <sys/param.h> #include <sys/socket.h> diff --git a/libc/sysdeps/unix/sysv/linux/getsourcefilter.c b/libc/sysdeps/unix/sysv/linux/getsourcefilter.c index 063d6c650..682f42489 100644 --- a/libc/sysdeps/unix/sysv/linux/getsourcefilter.c +++ b/libc/sysdeps/unix/sysv/linux/getsourcefilter.c @@ -22,6 +22,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> #include <netatalk/at.h> #include <netax25/ax25.h> #include <netinet/in.h> diff --git a/libc/sysdeps/unix/sysv/linux/netlinkaccess.h b/libc/sysdeps/unix/sysv/linux/netlinkaccess.h index 7c1deb9b7..e0da57a0c 100644 --- a/libc/sysdeps/unix/sysv/linux/netlinkaccess.h +++ b/libc/sysdeps/unix/sysv/linux/netlinkaccess.h @@ -18,6 +18,7 @@ #ifndef _NETLINKACCESS_H #define _NETLINKACCESS_H 1 +#include <stdint.h> #include <asm/types.h> #include <linux/netlink.h> #include <linux/rtnetlink.h> diff --git a/libc/sysdeps/unix/sysv/linux/open64_2.c b/libc/sysdeps/unix/sysv/linux/open64_2.c deleted file mode 100644 index bff222271..000000000 --- a/libc/sysdeps/unix/sysv/linux/open64_2.c +++ /dev/null @@ -1,31 +0,0 @@ -/* 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/>. */ - -#include <fcntl.h> -#include <stdio.h> - - -int -__open64_2 (file, oflag) - const char *file; - int oflag; -{ - if (oflag & O_CREAT) - __fortify_fail ("invalid open64 call: O_CREAT without mode"); - - return __open64 (file, oflag); -} diff --git a/libc/sysdeps/unix/sysv/linux/open_2.c b/libc/sysdeps/unix/sysv/linux/open_2.c deleted file mode 100644 index 572615770..000000000 --- a/libc/sysdeps/unix/sysv/linux/open_2.c +++ /dev/null @@ -1,31 +0,0 @@ -/* 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/>. */ - -#include <fcntl.h> -#include <stdio.h> - - -int -__open_2 (file, oflag) - const char *file; - int oflag; -{ - if (oflag & O_CREAT) - __fortify_fail ("invalid open call: O_CREAT without mode"); - - return __open (file, oflag); -} diff --git a/libc/sysdeps/unix/sysv/linux/openat.c b/libc/sysdeps/unix/sysv/linux/openat.c index d2ef42973..6e838dfd0 100644 --- a/libc/sysdeps/unix/sysv/linux/openat.c +++ b/libc/sysdeps/unix/sysv/linux/openat.c @@ -29,7 +29,6 @@ #ifndef OPENAT # define OPENAT openat -# define __OPENAT_2 __openat_2 # ifndef __ASSUME_ATFCTS /* Set errno after a failed call. If BUF is not null, @@ -179,18 +178,3 @@ __OPENAT (fd, file, oflag) } libc_hidden_def (__OPENAT) weak_alias (__OPENAT, OPENAT) - - -int -__OPENAT_2 (fd, file, oflag) - int fd; - const char *file; - int oflag; -{ - if (oflag & O_CREAT) -#define MSG(s) MSG2 (s) -#define MSG2(s) "invalid " #s " call: O_CREAT without mode" - __fortify_fail (MSG (OPENAT)); - - return __OPENAT (fd, file, oflag); -} diff --git a/libc/sysdeps/unix/sysv/linux/openat64.c b/libc/sysdeps/unix/sysv/linux/openat64.c index 013a13eff..9e7a2b373 100644 --- a/libc/sysdeps/unix/sysv/linux/openat64.c +++ b/libc/sysdeps/unix/sysv/linux/openat64.c @@ -1,5 +1,4 @@ #define OPENAT openat64 -#define __OPENAT_2 __openat64_2 #define MORE_OFLAGS O_LARGEFILE #include "openat.c" diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/Versions b/libc/sysdeps/unix/sysv/linux/powerpc/Versions index 396a4236c..289c4fe9b 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/Versions +++ b/libc/sysdeps/unix/sysv/linux/powerpc/Versions @@ -4,5 +4,6 @@ libc { __vdso_clock_gettime; __vdso_clock_getres; __vdso_getcpu; + __vdso_time; } } diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h b/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h index 5f5fc1eb3..8b195db1b 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h +++ b/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h @@ -32,14 +32,16 @@ extern void *__vdso_get_tbfreq; extern void *__vdso_getcpu; +extern void *__vdso_time; + /* This macro is needed for PPC64 to return a skeleton OPD entry of a vDSO symbol. This works because _dl_vdso_vsym always return the function address, and no vDSO symbols use the TOC or chain pointers from the OPD so we can allow them to be garbage. */ #if defined(__PPC64__) || defined(__powerpc64__) -#define VDSO_IFUNC_RET(value) &value +#define VDSO_IFUNC_RET(value) ((void *) &(value)) #else -#define VDSO_IFUNC_RET(value) value +#define VDSO_IFUNC_RET(value) ((void *) (value)) #endif #endif diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c b/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c index 204c0c60a..f6f05f0ba 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c +++ b/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c @@ -28,7 +28,7 @@ void *__vdso_clock_gettime; void *__vdso_clock_getres; void *__vdso_get_tbfreq; void *__vdso_getcpu; - +void *__vdso_time; static inline void _libc_vdso_platform_setup (void) @@ -44,6 +44,8 @@ _libc_vdso_platform_setup (void) __vdso_get_tbfreq = _dl_vdso_vsym ("__kernel_get_tbfreq", &linux2615); __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615); + + __vdso_time = _dl_vdso_vsym ("__kernel_time", &linux2615); } # define VDSO_SETUP _libc_vdso_platform_setup diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c b/libc/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c index 779ea49c8..344496b7e 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c +++ b/libc/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c @@ -22,6 +22,7 @@ #include <inttypes.h> #include <stdio.h> +#include <stdint.h> #include <sys/platform/ppc.h> diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/time.c b/libc/sysdeps/unix/sysv/linux/powerpc/time.c new file mode 100644 index 000000000..66b4eb304 --- /dev/null +++ b/libc/sysdeps/unix/sysv/linux/powerpc/time.c @@ -0,0 +1,62 @@ +/* time system call for Linux/PowerPC. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifdef SHARED + +# include <time.h> +# include <sysdep.h> +# include <bits/libc-vdso.h> + +void *time_ifunc (void) asm ("time"); + +static time_t +time_syscall (time_t *t) +{ + struct timeval tv; + time_t result; + + if (INLINE_VSYSCALL (gettimeofday, 2, &tv, NULL) < 0) + result = (time_t) -1; + else + result = (time_t) tv.tv_sec; + + if (t != NULL) + *t = result; + return result; +} + +void * +time_ifunc (void) +{ + /* If the vDSO is not available we fall back to the syscall. */ + return (__vdso_time ? VDSO_IFUNC_RET (__vdso_time) + : time_syscall); +} +asm (".type time, %gnu_indirect_function"); + +/* This is doing "libc_hidden_def (time)" but the compiler won't + * let us do it in C because it doesn't know we're defining time + * here in this file. */ +asm (".globl __GI_time\n" + "__GI_time = time"); + +#else + +#include <sysdeps/posix/time.c> + +#endif diff --git a/libc/sysdeps/unix/sysv/linux/preadv.c b/libc/sysdeps/unix/sysv/linux/preadv.c index 219c6632a..e92af92eb 100644 --- a/libc/sysdeps/unix/sysv/linux/preadv.c +++ b/libc/sysdeps/unix/sysv/linux/preadv.c @@ -18,6 +18,7 @@ #include <errno.h> #include <stddef.h> #include <sys/param.h> +#include <stdint.h> #if __WORDSIZE == 64 /* Hide the preadv64 declaration. */ # define preadv64 __redirect_preadv64 diff --git a/libc/sysdeps/unix/sysv/linux/pwritev.c b/libc/sysdeps/unix/sysv/linux/pwritev.c index 51b46d66b..8dcd21675 100644 --- a/libc/sysdeps/unix/sysv/linux/pwritev.c +++ b/libc/sysdeps/unix/sysv/linux/pwritev.c @@ -17,6 +17,7 @@ #include <errno.h> #include <stddef.h> +#include <stdint.h> #include <sys/param.h> #if __WORDSIZE == 64 && !defined PWRITEV /* Hide the pwritev64 declaration. */ diff --git a/libc/sysdeps/unix/sysv/linux/s390/bits/siginfo.h b/libc/sysdeps/unix/sysv/linux/s390/bits/siginfo.h index ad122084c..19c94e77b 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/bits/siginfo.h +++ b/libc/sysdeps/unix/sysv/linux/s390/bits/siginfo.h @@ -95,7 +95,7 @@ typedef struct struct { void *si_addr; /* Faulting insn/memory ref. */ - int si_trapno; + short si_addr_lsb; /* Valid LSB of the reported address. */ } _sigfault; /* SIGPOLL. */ @@ -128,7 +128,7 @@ typedef struct # define si_int _sifields._rt.si_sigval.sival_int # define si_ptr _sifields._rt.si_sigval.sival_ptr # define si_addr _sifields._sigfault.si_addr -# define si_trapno _sifields._sigfault.si_trapno +# define si_addr_lsb _sifields._sigfault.si_addr_lsb # define si_band _sifields._sigpoll.si_band # define si_fd _sifields._sigpoll.si_fd # define si_call_addr _sifields._sigsys._call_addr @@ -219,8 +219,12 @@ enum # define BUS_ADRALN BUS_ADRALN BUS_ADRERR, /* Non-existant physical address. */ # define BUS_ADRERR BUS_ADRERR - BUS_OBJERR /* Object specific hardware error. */ + BUS_OBJERR, /* Object specific hardware error. */ # define BUS_OBJERR BUS_OBJERR + BUS_MCEERR_AR, /* Hardware memory error: action required. */ +# define BUS_MCEERR_AR BUS_MCEERR_AR + BUS_MCEERR_AO /* Hardware memory error: action optional. */ +# define BUS_MCEERR_AO BUS_MCEERR_AO }; /* `si_code' values for SIGTRAP signal. */ diff --git a/libc/sysdeps/unix/sysv/linux/setipv4sourcefilter.c b/libc/sysdeps/unix/sysv/linux/setipv4sourcefilter.c index ff3286310..a9b4d3b4b 100644 --- a/libc/sysdeps/unix/sysv/linux/setipv4sourcefilter.c +++ b/libc/sysdeps/unix/sysv/linux/setipv4sourcefilter.c @@ -21,6 +21,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> #include <netinet/in.h> #include <sys/socket.h> diff --git a/libc/sysdeps/unix/sysv/linux/setsourcefilter.c b/libc/sysdeps/unix/sysv/linux/setsourcefilter.c index 5ae37314b..f50f293cf 100644 --- a/libc/sysdeps/unix/sysv/linux/setsourcefilter.c +++ b/libc/sysdeps/unix/sysv/linux/setsourcefilter.c @@ -21,6 +21,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> #include <netinet/in.h> #include <sys/socket.h> diff --git a/libc/sysdeps/unix/sysv/linux/sh/getgid.c b/libc/sysdeps/unix/sysv/linux/sh/getgid.c new file mode 100644 index 000000000..0a4d6061f --- /dev/null +++ b/libc/sysdeps/unix/sysv/linux/sh/getgid.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/getgid.c> diff --git a/libc/sysdeps/unix/sysv/linux/wordsize-64/glob64.c b/libc/sysdeps/unix/sysv/linux/wordsize-64/glob64.c index 33918ea6a..eab7703d5 100644 --- a/libc/sysdeps/unix/sysv/linux/wordsize-64/glob64.c +++ b/libc/sysdeps/unix/sysv/linux/wordsize-64/glob64.c @@ -1 +1,2 @@ -/* glob64 is in glob.c */ +/* This file is here so sysdeps/gnu/glob64.c doesn't take precedence. */ +#include <sysdeps/wordsize-64/glob64.c> diff --git a/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c b/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c index 4921fca33..12e027158 100644 --- a/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c +++ b/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c @@ -1,16 +1,14 @@ #define __openat64 __rename___openat64 -#define __openat64_2 __rename___openat64_2 #define __openat64_nocancel __rename___openat64_nocancel #define openat64 __rename_openat64 #include "../openat.c" #undef __openat64 -#undef __openat64_2 #undef __openat64_nocancel #undef openat64 -weak_alias (__openat, __openat64) -weak_alias (__openat_2, __openat64_2) -weak_alias (__openat_nocancel, __openat64_nocancel) +strong_alias (__openat, __openat64) +hidden_ver (__openat, __openat64) +strong_alias (__openat_nocancel, __openat64_nocancel) weak_alias (openat, openat64) diff --git a/libc/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c b/libc/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c index 7f6dee309..32cb0aa07 100644 --- a/libc/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c +++ b/libc/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c @@ -20,6 +20,7 @@ #include <sys/prctl.h> #include <sys/syscall.h> #include <sysdep.h> +#include <stdint.h> /* Since x32 arch_prctl stores 32-bit base address of segment registers %fs and %gs as unsigned 64-bit value via ARCH_GET_FS and ARCH_GET_GS, diff --git a/libc/sysdeps/wordsize-64/glob64.c b/libc/sysdeps/wordsize-64/glob64.c new file mode 100644 index 000000000..33918ea6a --- /dev/null +++ b/libc/sysdeps/wordsize-64/glob64.c @@ -0,0 +1 @@ +/* glob64 is in glob.c */ diff --git a/libc/sysdeps/x86_64/dl-tls.h b/libc/sysdeps/x86_64/dl-tls.h index 2bb3e6fe6..af861c0ad 100644 --- a/libc/sysdeps/x86_64/dl-tls.h +++ b/libc/sysdeps/x86_64/dl-tls.h @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <stdint.h> /* Type used for the representation of TLS information in the GOT. */ typedef struct dl_tls_index diff --git a/libc/sysdeps/x86_64/dl-tlsdesc.h b/libc/sysdeps/x86_64/dl-tlsdesc.h index ea584bf5a..a6c059621 100644 --- a/libc/sysdeps/x86_64/dl-tlsdesc.h +++ b/libc/sysdeps/x86_64/dl-tlsdesc.h @@ -17,6 +17,8 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <stdint.h> + #ifndef _X86_64_DL_TLSDESC_H # define _X86_64_DL_TLSDESC_H 1 diff --git a/libc/sysdeps/x86_64/fpu/libm-test-ulps b/libc/sysdeps/x86_64/fpu/libm-test-ulps index 43b5595c5..3827b9d76 100644 --- a/libc/sysdeps/x86_64/fpu/libm-test-ulps +++ b/libc/sysdeps/x86_64/fpu/libm-test-ulps @@ -4205,6 +4205,44 @@ double: 1 idouble: 1 # catan +Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i) == -7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -7.853981633974483095919439232967553115548e-1 + 5.820766091346740722958646680334721192083e-11 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i) == -7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 + 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 + 3.725290298461913200853528590596263270474e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 + 1.0 i) == -7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 - 1.0 i) == -7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": double: 1 idouble: 1 @@ -4225,6 +4263,130 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 + 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 - 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 + 1.0 i) == -7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-13 - 1.0 i) == -7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-16382 + 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-27 + 1.0 i) == -7.853981652600934588466178684534110069553e-1 + 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-27 - 1.0 i) == -7.853981652600934588466178684534110069553e-1 - 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 + 1.0 i) == -7.853981634265521400723945494331241018449e-1 + 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-0x1p-33 - 1.0 i) == -7.853981634265521400723945494331241018449e-1 - 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-0x1p-64 + 1.0 i) == -7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-64 - 1.0 i) == -7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 + 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-27 i) == -7.853981633974483234934486536343324763447e-1 + 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-33 i) == -7.853981633974483096190489776088929224056e-1 + 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-54 i) == -7.853981633974483096156608458198764914213e-1 + 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 + 0x1p-57 i) == -7.853981633974483096156608458198757330864e-1 + 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-1.0 + 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (-1.0 - 0x1p-27 i) == -7.853981633974483234934486536343324763447e-1 - 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-33 i) == -7.853981633974483096190489776088929224056e-1 - 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-54 i) == -7.853981633974483096156608458198764914213e-1 - 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (-1.0 - 0x1p-57 i) == -7.853981633974483096156608458198757330864e-1 - 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": float: 3 ifloat: 3 @@ -4236,6 +4398,44 @@ ifloat: 1 Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i": float: 4 ifloat: 4 +Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i) == 7.853981633974482679822974223765039144191e-1 + 3.725290298461914441624447420137706700965e-9 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 7.853981633974483095919439232967553115548e-1 + 5.820766091346740722958646680334721192083e-11 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i) == 7.853981373204155542484315721351697277336e-1 + 6.103515973639646453881721999956617260502e-5 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 + 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 + 3.725290298461913200853528590596263270474e-9 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i": +double: 1 +idouble: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 + 1.0 i) == 7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 - 1.0 i) == 7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": double: 1 idouble: 1 @@ -4256,8 +4456,162 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 + 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 - 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 + 1.0 i) == 7.854286809755354140031716771044626356262e-1 + 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 - 4.852030056234795712498957387213592193975 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-13 - 1.0 i) == 7.854286809755354140031716771044626356262e-1 - 4.852030264850939738801379894163661227127 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-16382 + 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-27 + 1.0 i) == 7.853981652600934588466178684534110069553e-1 + 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-27 - 1.0 i) == 7.853981652600934588466178684534110069553e-1 - 9.704060527839234335310696652368086117807 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 + 1.0 i) == 7.853981634265521400723945494331241018449e-1 + 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (0x1p-33 - 1.0 i) == 7.853981634265521400723945494331241018449e-1 - 1.178350206951907026009379309773625595762e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (0x1p-64 + 1.0 i) == 7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-64 - 1.0 i) == 7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 + 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-27 i) == 7.853981633974483234934486536343324763447e-1 + 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-33 i) == 7.853981633974483096190489776088929224056e-1 + 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-54 i) == 7.853981633974483096156608458198764914213e-1 + 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 + 0x1p-57 i) == 7.853981633974483096156608458198757330864e-1 + 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (1.0 + 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catan (1.0 - 0x1p-27 i) == 7.853981633974483234934486536343324763447e-1 - 3.725290298461914028034141143623846306386e-9 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-33 i) == 7.853981633974483096190489776088929224056e-1 - 5.820766091346740722643102318246316469910e-11 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-54 i) == 7.853981633974483096156608458198764914213e-1 - 2.775557561562891351059079170227049355775e-17 i": +float: 1 +ifloat: 1 +Test "Real part of: catan (1.0 - 0x1p-57 i) == 7.853981633974483096156608458198757330864e-1 - 3.469446951953614188823848962783813448721e-18 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 # catanh +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i) == -4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i) == -4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i) == -2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": double: 1 idouble: 1 @@ -4278,6 +4632,136 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 + 1.0 i) == -6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i) == -6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 + 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-27 + 1.0 i) == -3.725290298461914028034141143623846306386e-9 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i) == -3.725290298461913200853528590596263270474e-9 - 7.853981633974484345157511161499711112683e-1 i": +double: 1 +idouble: 1 +Test "Imaginary part of: catanh (-0x1p-27 - 1.0 i) == -3.725290298461914028034141143623846306386e-9 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-33 + 1.0 i) == -5.820766091346740722643102318246316469910e-11 + 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-33 - 1.0 i) == -5.820766091346740722643102318246316469910e-11 - 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-54 + 1.0 i) == -2.775557561562891351059079170227049355775e-17 + 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-54 - 1.0 i) == -2.775557561562891351059079170227049355775e-17 - 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-57 + 1.0 i) == -3.469446951953614188823848962783813448721e-18 + 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-0x1p-57 - 1.0 i) == -3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-0x1p-64 + 1.0 i) == -2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-64 - 1.0 i) == -2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i) == -4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-27 i) == -9.704060527839234335310696652368086117807 + 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 + 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i) == -4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-27 i) == -9.704060527839234335310696652368086117807 - 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i": double: 4 idouble: 4 @@ -4294,6 +4778,30 @@ ldouble: 1 Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i": float: 6 ifloat: 6 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i) == 4.852030056234795712498957387213592193975 + 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i) == 4.852030056234795712498957387213592193975 - 7.859169620684960844300240092596908675974e-1 i": +float: 1 +ifloat: 1 Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i) == 2.871063043235098558826106732041811695767e-309 + 1.570796326794896619231321691639751442099 i": double: 1 idouble: 1 @@ -4314,6 +4822,146 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 + 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 + 1.0 i) == 6.103515609841754902688560615027452023669e-5 + 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 - 7.853981373204155542484315721351697277336e-1 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i) == 6.103514882246036852433556327261700380577e-5 - 7.853982267273793866654490522673596014524e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-13 - 1.0 i) == 6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 + 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 + 0x1.0000000000001p0 i) == 3.725290298461913200853528590596263270474e-9 + 7.853981633974484345157511161499711112683e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-27 + 1.0 i) == 3.725290298461914028034141143623846306386e-9 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i) == 3.725290298461914441624447420137706700965e-9 - 7.853981633974482679822974223765039144191e-1 i": +double: 1 +idouble: 1 +Test "Real part of: catanh (0x1p-27 - 0x1.0000000000001p0 i) == 3.725290298461913200853528590596263270474e-9 - 7.853981633974484345157511161499711112683e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-27 - 1.0 i) == 3.725290298461914028034141143623846306386e-9 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 5.820766091346740722958646680334721192083e-11 + 7.853981633974483095919439232967553115548e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-33 + 1.0 i) == 5.820766091346740722643102318246316469910e-11 + 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 5.820766091346740722958646680334721192083e-11 - 7.853981633974483095919439232967553115548e-1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (0x1p-33 - 1.0 i) == 5.820766091346740722643102318246316469910e-11 - 7.853981633974483096190489776088929224056e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-54 + 1.0 i) == 2.775557561562891351059079170227049355775e-17 + 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-54 - 1.0 i) == 2.775557561562891351059079170227049355775e-17 - 7.853981633974483096156608458198764914213e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-57 + 1.0 i) == 3.469446951953614188823848962783813448721e-18 + 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (0x1p-57 - 1.0 i) == 3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (0x1p-64 + 1.0 i) == 2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-64 - 1.0 i) == 2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-13 i) == 4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-27 i) == 9.704060527839234335310696652368086117807 + 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 + 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-13 i) == 4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-27 i) == 9.704060527839234335310696652368086117807 - 7.853981652600934588466178684534110069553e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i": +float: 1 +ifloat: 1 +Test "Real part of: catanh (1.0 - 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 # cbrt Test "cbrt (-0.001) == -0.1": @@ -6494,6 +7142,417 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x0.fffffffffffff8p0) == -9.0071992547409924227843350984672961392521e+15": +double: 1 +idouble: 1 +Test "tgamma (-0x0.ffffffffffffffffp0) == -1.8446744073709551616422784335098467139470e+19": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x0.ffffffp0) == -1.6777216422784419250710305882992376932423e+07": +float: 1 +ifloat: 1 +Test "tgamma (-0x1.000002p0) == 8.3886075772158332060084424806449513922858e+06": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.0a32a2p+5) == 1.8125267978155035272941154746083439329912e-37": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.5800000080001p+7) == -3.1439271448823567326093363350637118195240e-304": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1.fffffffffffffp0) == 2.2517998136852484613921675492337776673289e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffep0) == 2.1550026214525536756224040483579183652119e-13": +float: 2 +ifloat: 2 +Test "tgamma (-0x13.ffffffffffffffep0) == 2.3694367893405502075347562184931828448654e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x13.ffffffffffffp0) == 1.1569515572952029402736625857313236848570e-04": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x14.000000000001p0) == -1.1569515572951781096476686854873801225397e-04": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x14.00002p0) == -2.1549777908265594916405421768142757507179e-13": +float: 1 +ifloat: 1 +Test "tgamma (-0x1d.ffffep0) == 1.9765721589464867957912772592816027583176e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1d.ffffffffffffffep0) == 2.1732499046818166459536268654187775086902e-15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1e.000000000000002p0) == -2.1732499046818166201837145753965837196590e-15": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1e.000000000001p0) == -1.0611571800204053929094168642022073530425e-18": +double: 3 +idouble: 3 +Test "tgamma (-0x1e.00002p0) == -1.9765463890341964384070157599286498212650e-27": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1f4.00000000000002p0) == -2.9528489142763131406565394149878256133744e-1118": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x1p-24) == -1.6777216577215723853867349114260580375249e+07": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000000004p0) == -2.3058430092136939515386078324507664305064e+18": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.0000000000002p0) == -1.1258999068426235386078324507668462444260e+15": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.000004p0) == -2.0971515386080557574407223895988378776747e+06": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.fffffcp0) == -6.9905087601970247876992248591045142913324e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x27.ffffcp0) == 3.2129279441390812141195076945616975790225e-43": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x27.fffffffffffep0) == 1.7249032006742266376460389310340465554361e-34": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.000000000002p0) == -1.7249032006741359094184881234822934593822e-34": +double: 1 +idouble: 1 +Test "tgamma (-0x28.00004p0) == -3.2128372159115252365699015758097981155793e-43": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.ffffcp0) == -7.8364103489619817539676737414096652170685e-45": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.fffffffffffep0) == -4.2070809772542120404320040128839297118648e-36": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x28.ffffffffffffffcp0) == -8.6161018414163982777002940498289948893044e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.000000000000004p0) == 8.6161018414163980549537337663264762179535e-33": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.000000000002p0) == 4.2070809772539892938717205103652583609422e-36": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.00004p0) == 7.8361876024016854597745353972619195760515e-45": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x29.ffffcp0) == 1.8658121573125798145204120066590953505132e-46": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2a.00004p0) == -1.8657587834931410688246126853566488626385e-46": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2ed.fffffffffffffcp0) == 6.9801511765871818502006905472380418430269e-1817": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.0000000000002p0) == 3.7529996894754112398038859470009084971438e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.000004p0) == 6.9905045731381300146131914617735687322025e+05": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "tgamma (-0x3.fffffcp0) == 1.7476272942159602684441970627092458855771e+05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep0) == 9.3824992236885396088236184658402406857503e+13": +double: 2 +idouble: 2 +Test "tgamma (-0x3.fffffffffffffffcp0) == 1.9215358410114116272942156951799168638773e+17": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x31.fffffffffffep0) == 4.6273774273632946947805289899230181990085e-51": +double: 3 +idouble: 3 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000000004p0) == -9.4768689712397633101385547903658075308777e-48": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x32.000000000002p0) == -4.6273774273630367887073532197576655720178e-51": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e7.fffffffffffffcp0) == 4.4768809295877296071892611539415773519036e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3e8.00000000000004p0) == -4.4768809295877261735541135972060089530309e-2552": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.0000000000000008p0) == -9.6076792050570581270578430482008313684602e+16": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.000008p0) == -8.7381270578483499672965708923121931082305e+04": +float: 1 +ifloat: 1 +Test "tgamma (-0x4.fffff8p0) == -1.7476280884325863043793087474680780379554e+04": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.ffffffffffffcp0) == -9.3824992236885475509805702650262155809819e+12": +double: 1 +idouble: 1 +Test "tgamma (-0x4e2.00000000000008p0) == -5.4651488569236421026544487194247355967789e-3315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000000008p0) == 1.9215358410114116252449019429734996071487e+16": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.0000000000004p0) == 9.3824992236885191156860964016850034672946e+12": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.000008p0) == 1.7476252449031389167286893378510439443844e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.ffffffffffffcp0) == 1.5637498706147581566449098589862357835505e+12": +double: 1 +idouble: 1 +Test "tgamma (-0x5db.fffffffffffff8p0) == 1.8718211510339187689122114747834510481993e-4099": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.0000000000000008p0) == -3.2025597350190193751766884234743511972877e+15": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.000008p0) == -2.9127085100239567622341538102130981196910e+03": +float: 2 +ifloat: 2 +Test "tgamma (-0x6.fffff8p0) == -4.1610198723079349791939054365613377035519e+02": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6.ffffffffffffcp0) == -2.2339283865925119357965832452642909859289e+11": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.fffffffffffcp0) == 7.5400833348840965463348754984345825364294e-145": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x63.ffffffffffffff8p0) == 1.5442090669841618542494279375256856430049e-141": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000000008p0) == -1.5442090669841617554527108348771968070612e-141": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x64.000000000004p0) == -7.5400833348831085791638490135462230991587e-145": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6d6.00000000000008p0) == -4.2925786447266421378134368786479937285900e-4902": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000000008p0) == 4.5750853357414562499689653215166468353753e+14": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.0000000000004p0) == 2.2339283865925039372192897706214475877342e+11": +double: 3 +idouble: 3 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.000008p0) == 4.1610118737306415004517215226199741948733e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.fffff8p0) == 5.2012751504050764429534086402871289946986e+01": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.ffffffffffffcp0) == 2.7924104832406402297655703264222230055898e+10": +double: 3 +idouble: 3 +Test "tgamma (-0x7.fffffffffffffff8p0) == 5.7188566696768203227694481100089533685959e+13": +ildouble: 4 +ldouble: 4 +Test "tgamma (-0x8.000000000000001p0) == -2.8594283348384101534210280804672371201060e+13": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x8.00001p0) == -2.6006296115134418896533598545925084576702e+01": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.ffffffffffff8p0) == 1.5513391573559147700413058496716749249803e+08": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.fffffp0) == 2.8896008370721717567612135720915723136310e-01": +float: 1 +ifloat: 1 +Test "tgamma (-0x95.fffffffffff8p0) == 6.1582369322723207086020016423767264008839e-250": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x95.ffffffffffffffp0) == 1.2612069237291916400144732227892704713839e-246": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x96.000000000008p0) == -6.1582369322705655439003240743176243138734e-250": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xa.000000000000001p0) == -3.1771425942649001698860433502350057763905e+11": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xa.00001p0) == -2.8895878754728051776830454190076999107021e-01": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb4.ffffffffffffffp0) == -1.9816628031468191243385005680879281767694e-315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.00000000000001p0) == 1.9816628031468188382579700510291588022368e-315": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb5.000000000008p0) == 9.6760879059888966544677044221698800670218e-319": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb5.ffffffffffffffp0) == 1.0888257160147357826865964233809723297472e-317": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.00000000000001p0) == -1.0888257160147356253334423783317128355514e-317": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.fffffffffff8p0) == -2.9052086428846935908287469917922960610289e-323": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb6.ffffffffffffffp0) == -5.9498673006269714905418984659220067091260e-320": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.fffffffffff8p0) == 1.5789177406982032823826953250736039527543e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb7.ffffffffffffffp0) == 3.2336235329494410277123118903958061569834e-322": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb8.000000000008p0) == -1.5789177406977349925854817486109369828857e-325": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbb.ffffffffffffffp0) == 2.6730392040715350119087465463119939092815e-331": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xbc.00000000000001p0) == -2.6730392040715346232108532050343031951651e-331": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0xbd.00000000000001p0) == 1.4143064571807061497431633629389135273431e-333": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.00000000000001p0) == -7.4437181956879271033676895858841525581153e-336": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbe.ffffffffffffffp0) == -3.8972346574282346536709453101948570578636e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xbf.00000000000001p0) == 3.8972346574282340852496542564155275274974e-338": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf9.ffffffffffffffp0) == 2.2289142548411573883553287678043297937797e-476": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xfa.00000000000001p0) == -2.2289142548411570466476165308364665814265e-476": +ildouble: 1 +ldouble: 1 +Test "tgamma (-1.5) == 2.3632718012073547030642233111215269103967e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (-2.5) == -9.4530872048294188122568932444861076415869e-01": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (-3.5) == 2.7008820585226910892162552127103164690248e-01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (-4.5) == -6.0019601300504246427027893615784810422774e-02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-5.5) == 1.0912654781909862986732344293779056440504e-02": +double: 1 +idouble: 1 +Test "tgamma (-6.5) == -1.6788699664476712287280529682737009908468e-03": +float: 1 +ifloat: 1 +Test "tgamma (-7.5) == 2.2384932885968949716374039576982679877958e-04": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-8.5) == -2.6335215159963470254557693619979623385833e-05": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-9.5) == 2.7721279115751021320587045915768024616666e-06": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 Test "tgamma (0.5) == sqrt (pi)": float: 1 ifloat: 1 @@ -6502,7 +7561,260 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.fffffep0) == 9.9999994960018563231526611134590489120697e-01": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.fffffffffffffffep0) == 9.9999999999999999995416163053934024243282e-01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.fffffffffffffp0) == 9.9999999999999990612301934456883679778984e-01": +double: 1 +idouble: 1 +Test "tgamma (0x1p-24) == 1.6777215422784394050795179874582764575261e+07": +float: 1 +ifloat: 1 +Test "tgamma (0x1p-53) == 9.0071992547409914227843350984672492007618e+15": +double: 1 +idouble: 1 +Test "tgamma (0x1p-64) == 1.8446744073709551615422784335098467139447e+19": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.0000000000002p0) == 1.0000000000000001877539613108624482361963e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.000004p0) == 1.0000001007996638509889062631687945799175e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.30a43cp+4) == 3.4027979115654976101247558405326779640190e+38": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +Test "tgamma (0x2.fffffcp0) == 1.9999995599822108706107786027549565954046e+00": +float: 3 +ifloat: 3 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.ffffffffffffep0) == 1.9999999999999991804028675282128956223990e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.0000000000002p0) == 2.0000000000000008195971324717875960213536e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffcp0) == 5.9999982031095793171233994481968816873643e+00": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.ffffffffffffep0) == 5.9999999999999966530301828845138185025345e+00": +double: 1 +idouble: 1 +Test "tgamma (0x3.fffffffffffffffcp0) == 5.9999999999999999983657373939865784753909e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.0000000000000008p0) == 6.0000000000000000032685252120268430507939e+00": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.0000000000004p0) == 6.0000000000000066939396342309789716341613e+00": +double: 1 +idouble: 1 +Test "tgamma (0x4.fffff8p0) == 2.3999982763857938712639837029547357501709e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x4.ffffffffffffcp0) == 2.3999999999999967895170944875373910918544e+01": +double: 1 +idouble: 1 +Test "tgamma (0x4.fffffffffffffff8p0) == 2.3999999999999999984323813937927417165027e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000000008p0) == 2.4000000000000000015676186062072582846211e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.0000000000004p0) == 2.4000000000000032104829055124673225982803e+01": +double: 1 +idouble: 1 +Test "tgamma (0x5.000008p0) == 2.4000017236155647574166073485628713443799e+01": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.fffff8p0) == 1.1999990237520611552119807476573441975106e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.ffffffffffffcp0) == 1.1999999999999981815957265157389249327533e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000000008p0) == 1.2000000000000000008878927116622375680433e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.0000000000004p0) == 1.2000000000000018184042734842640022086408e+02": +double: 1 +idouble: 1 +Test "tgamma (0x6.000008p0) == 1.2000009762487825358530770343720418162783e+02": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.fffff8p0) == 7.1999935703082425988147448928288557689866e+02": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.ffffffffffffcp0) == 7.1999999999999880237602554542848858572672e+02": +double: 3 +idouble: 3 +Test "tgamma (0x7.0000000000000008p0) == 7.2000000000000000058477733127664675369681e+02": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.0000000000004p0) == 7.2000000000000119762397445457359071259652e+02": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.000008p0) == 7.2000064296977505705636258629805621178587e+02": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.fffff8p0) == 5.0399951558933225045148935487583089307135e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.ffffffffffffcp0) == 5.0399999999999909771437166339103165198442e+03": +double: 2 +idouble: 2 +Test "tgamma (0x7.fffffffffffffff8p0) == 5.0399999999999999955943084553876474508520e+03": +ildouble: 3 +ldouble: 3 +Test "tgamma (0x8.000000000000001p0) == 5.0400000000000000088113830892247051102283e+03": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8.00001p0) == 5.0400096882277802019946778420223050233915e+03": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd72b0fb238p+4) == 1.7976931348622298700886249281842651388250e+308": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (10) == 362880": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (18.5) == 1.4986120533153361177371791123515513270334e+15": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (19.5) == 2.7724322986333718178137813578503699550119e+16": +double: 2 +idouble: 2 +Test "tgamma (2.5) == 1.3293403881791370204736256125058588870982e+00": +float: 2 +ifloat: 2 +Test "tgamma (23.5) == 5.3613035875444147334274983856108155717836e+21": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (29.5) == 1.6348125198274266444378807806868221866931e+30": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (3) == 2": +float: 1 +ifloat: 1 +Test "tgamma (3.5) == 3.3233509704478425511840640312646472177454e+00": +float: 2 +ifloat: 2 +Test "tgamma (30.5) == 4.8226969334909086010917483030261254507447e+31": +float: 1 +ifloat: 1 +Test "tgamma (32.5) == 4.6334060788513904384988971821323500268029e+34": +ildouble: 1 +ldouble: 1 +Test "tgamma (33.5) == 1.5058569756267018925121415841930137587110e+36": +float: 1 +ifloat: 1 +Test "tgamma (34.5) == 5.0446208683494513399156743070465960916817e+37": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 Test "tgamma (4) == 6": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (4.5) == 1.1631728396567448929144224109426265262109e+01": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (5.5) == 5.2342777784553520181149008492418193679490e+01": +ildouble: 1 +ldouble: 1 +Test "tgamma (6) == 120": +float: 1 +ifloat: 1 +Test "tgamma (6.5) == 2.8788527781504436099631954670830006523720e+02": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (7) == 720": +double: 1 +idouble: 1 +Test "tgamma (7.5) == 1.8712543057977883464760770536039504240418e+03": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (8) == 5040": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (8.5) == 1.4034407293483412598570577902029628180313e+04": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (9) == 40320": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (9.5) == 1.1929246199460900708784991216725183953266e+05": +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 @@ -6865,13 +8177,15 @@ ldouble: 1 Function: Real part of "catanh": double: 4 +float: 1 idouble: 4 +ifloat: 1 ildouble: 1 ldouble: 1 Function: Imaginary part of "catanh": -float: 6 -ifloat: 6 +float: 1 +ifloat: 1 Function: "cbrt": double: 1 @@ -7402,12 +8716,12 @@ ildouble: 2 ldouble: 2 Function: "tgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 +double: 4 +float: 3 +idouble: 4 +ifloat: 3 +ildouble: 4 +ldouble: 4 Function: "y0": double: 2 diff --git a/libc/sysdeps/x86_64/fpu/math_private.h b/libc/sysdeps/x86_64/fpu/math_private.h index 63a699e8f..027a6a3a4 100644 --- a/libc/sysdeps/x86_64/fpu/math_private.h +++ b/libc/sysdeps/x86_64/fpu/math_private.h @@ -5,15 +5,17 @@ #if defined __AVX__ || defined SSE2AVX # define MOVD "vmovd" +# define MOVQ "vmovq" #else # define MOVD "movd" +# define MOVQ "movq" #endif /* Direct movement of float into integer register. */ #define EXTRACT_WORDS64(i, d) \ do { \ int64_t i_; \ - asm (MOVD " %1, %0" : "=rm" (i_) : "x" ((double) (d))); \ + asm (MOVQ " %1, %0" : "=rm" (i_) : "x" ((double) (d))); \ (i) = i_; \ } while (0) @@ -22,7 +24,7 @@ do { \ int64_t i_ = i; \ double d__; \ - asm (MOVD " %1, %0" : "=x" (d__) : "rm" (i_)); \ + asm (MOVQ " %1, %0" : "=x" (d__) : "rm" (i_)); \ d = d__; \ } while (0) diff --git a/libc/sysdeps/x86_64/fpu/multiarch/s_fma.c b/libc/sysdeps/x86_64/fpu/multiarch/s_fma.c index ea185590d..25a306f86 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/s_fma.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/s_fma.c @@ -38,7 +38,7 @@ __fma_fma3 (double x, double y, double z) static double __fma_fma4 (double x, double y, double z) { - asm ("vfmaddsd %3, %2, %1, %0" : "=x" (x) : "x" (x), "xm" (y), "xm" (z)); + asm ("vfmaddsd %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z)); return x; } # else diff --git a/libc/sysdeps/x86_64/fpu/multiarch/s_fmaf.c b/libc/sysdeps/x86_64/fpu/multiarch/s_fmaf.c index 9647d79e7..063be692d 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/s_fmaf.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/s_fmaf.c @@ -37,7 +37,7 @@ __fmaf_fma3 (float x, float y, float z) static float __fmaf_fma4 (float x, float y, float z) { - asm ("vfmaddss %3, %2, %1, %0" : "=x" (x) : "x" (x), "xm" (y), "xm" (z)); + asm ("vfmaddss %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z)); return x; } # else |