diff options
| author | Joseph Myers <josmyers@redhat.com> | 2024-12-05 21:42:10 +0000 |
|---|---|---|
| committer | Joseph Myers <josmyers@redhat.com> | 2024-12-05 21:42:10 +0000 |
| commit | f9e90e4b4ce71f88470c8c8b0a16c21088294be4 (patch) | |
| tree | f1480a938f936a29630f67901a86b7e2c750eff1 /math | |
| parent | 062257c5d929e3c9a83a26624a09e57936ac6b5e (diff) | |
| download | glibc-f9e90e4b4ce71f88470c8c8b0a16c21088294be4.tar.xz glibc-f9e90e4b4ce71f88470c8c8b0a16c21088294be4.zip | |
Implement C23 tanpi
C23 adds various <math.h> function families originally defined in TS
18661-4. Add the tanpi functions (tan(pi*x)).
Tested for x86_64 and x86, and with build-many-glibcs.py.
Diffstat (limited to 'math')
| -rw-r--r-- | math/Makefile | 6 | ||||
| -rw-r--r-- | math/Versions | 2 | ||||
| -rw-r--r-- | math/auto-libm-test-in | 83 | ||||
| -rw-r--r-- | math/auto-libm-test-out-tanpi | 9058 | ||||
| -rw-r--r-- | math/bits/mathcalls.h | 2 | ||||
| -rw-r--r-- | math/gen-auto-libm-tests.c | 1 | ||||
| -rwxr-xr-x | math/gen-tgmath-tests.py | 1 | ||||
| -rw-r--r-- | math/libm-test-tanpi.inc | 89 | ||||
| -rw-r--r-- | math/s_tanpi_template.c | 65 | ||||
| -rw-r--r-- | math/test-tgmath.c | 12 | ||||
| -rw-r--r-- | math/tgmath.h | 2 |
11 files changed, 9320 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile index 4b1706b425..d204ac254c 100644 --- a/math/Makefile +++ b/math/Makefile @@ -136,6 +136,7 @@ gen-libm-calls = \ s_nextdownF \ s_significandF \ s_sinpiF \ + s_tanpiF \ w_acosF \ w_acoshF \ w_asinF \ @@ -672,6 +673,7 @@ libm-test-funcs-auto = \ sqrt \ tan \ tanh \ + tanpi \ tgamma \ y0 \ y1 \ @@ -1004,6 +1006,7 @@ tgmath3-macros = \ sqrt \ tan \ tanh \ + tanpi \ tgamma \ trunc \ ufromfp \ @@ -1430,6 +1433,7 @@ CFLAGS-s_sinpi.c += -fno-builtin-sinpil CFLAGS-w_sqrt.c += -fno-builtin-sqrtl CFLAGS-s_tan.c += -fno-builtin-tanl CFLAGS-s_tanh.c += -fno-builtin-tanhl +CFLAGS-s_tanpi.c += -fno-builtin-tanpil CFLAGS-w_tgamma.c += -fno-builtin-tgammal CFLAGS-s_totalorder.c += -fno-builtin-totalorderl CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagl @@ -1557,6 +1561,7 @@ CFLAGS-s_sinpi.c += -fno-builtin-sinpif32x -fno-builtin-sinpif64 CFLAGS-w_sqrt.c += -fno-builtin-sqrtf32x -fno-builtin-sqrtf64 CFLAGS-s_tan.c += -fno-builtin-tanf32x -fno-builtin-tanf64 CFLAGS-s_tanh.c += -fno-builtin-tanhf32x -fno-builtin-tanhf64 +CFLAGS-s_tanpi.c += -fno-builtin-tanpif32x -fno-builtin-tanpif64 CFLAGS-w_tgamma.c += -fno-builtin-tgammaf32x -fno-builtin-tgammaf64 CFLAGS-s_totalorder.c += -fno-builtin-totalorderf32x -fno-builtin-totalorderf64 CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagf32x -fno-builtin-totalordermagf64 @@ -1677,6 +1682,7 @@ CFLAGS-s_sinpif.c += -fno-builtin-sinpif32 CFLAGS-w_sqrtf.c += -fno-builtin-sqrtf32 CFLAGS-s_tanf.c += -fno-builtin-tanf32 CFLAGS-s_tanhf.c += -fno-builtin-tanhf32 +CFLAGS-s_tanpif.c += -fno-builtin-tanpif32 CFLAGS-w_tgammaf.c += -fno-builtin-tgammaf32 CFLAGS-s_totalorderf.c += -fno-builtin-totalorderf32 CFLAGS-s_totalordermagf.c += -fno-builtin-totalordermagf32 diff --git a/math/Versions b/math/Versions index b14ea92392..baad0a8f93 100644 --- a/math/Versions +++ b/math/Versions @@ -657,8 +657,10 @@ libm { # Functions not involving _Float64x or _Float128, for all configurations. cospi; cospif; cospil; cospif32; cospif64; cospif32x; sinpi; sinpif; sinpil; sinpif32; sinpif64; sinpif32x; + tanpi; tanpif; tanpil; tanpif32; tanpif64; tanpif32x; # Functions involving _Float64x or _Float128, for some configurations. cospif64x; cospif128; sinpif64x; sinpif128; + tanpif64x; tanpif128; } } diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 0d765e8d27..42e75067c4 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -8427,6 +8427,89 @@ tanh -min tanh min_subnorm tanh -min_subnorm +tanpi 0 +tanpi -0 +tanpi min +tanpi -min +tanpi min_subnorm +tanpi -min_subnorm +tanpi max +tanpi -max +tanpi 1 +tanpi -1 +tanpi 2 +tanpi -2 +tanpi 3 +tanpi -3 +tanpi 4 +tanpi -4 +tanpi 0.1 +tanpi -0.1 +tanpi 0.2 +tanpi -0.2 +tanpi 0.3 +tanpi -0.3 +tanpi 0.4 +tanpi -0.4 +tanpi 0.6 +tanpi -0.6 +tanpi 0.7 +tanpi -0.7 +tanpi 0.8 +tanpi -0.8 +tanpi 0.9 +tanpi -0.9 +tanpi 1.1 +tanpi -1.1 +tanpi 1.2 +tanpi -1.2 +tanpi 1.3 +tanpi -1.3 +tanpi 1.4 +tanpi -1.4 +tanpi 0.24 +tanpi -0.24 +tanpi 0.49 +tanpi -0.49 +tanpi 0.51 +tanpi -0.51 +tanpi 0.76 +tanpi -0.76 +tanpi 1.24 +tanpi -1.24 +tanpi 1.49 +tanpi -1.49 +tanpi 1.51 +tanpi -1.51 +tanpi 1.76 +tanpi -1.76 +tanpi 100.24 +tanpi -100.24 +tanpi 100.49 +tanpi -100.49 +tanpi 100.51 +tanpi -100.51 +tanpi 100.76 +tanpi -100.76 +tanpi 1234.56 +tanpi -1234.56 +tanpi 0x1fffff.6p0 +tanpi -0x1fffff.6p0 +tanpi 0x1fffff.ap0 +tanpi -0x1fffff.ap0 +tanpi 0x3ffffffffffff.6p0 +tanpi -0x3ffffffffffff.6p0 +tanpi 0x3ffffffffffff.ap0 +tanpi -0x3ffffffffffff.ap0 +tanpi 0x1fffffffffffffff.6p0 +tanpi -0x1fffffffffffffff.6p0 +tanpi 0x1fffffffffffffff.ap0 +tanpi -0x1fffffffffffffff.ap0 +tanpi 0x3fffffffffffffffffffffffffff.6p0 +tanpi -0x3fffffffffffffffffffffffffff.6p0 +tanpi 0x3fffffffffffffffffffffffffff.ap0 +tanpi -0x3fffffffffffffffffffffffffff.ap0 + tgamma 0.5 tgamma -0.5 diff --git a/math/auto-libm-test-out-tanpi b/math/auto-libm-test-out-tanpi new file mode 100644 index 0000000000..241a84c0a7 --- /dev/null +++ b/math/auto-libm-test-out-tanpi @@ -0,0 +1,9058 @@ +tanpi 0 += tanpi downward binary32 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward binary32 0x0p+0 : 0x0p+0 : inexact-ok += tanpi downward binary64 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward binary64 0x0p+0 : 0x0p+0 : inexact-ok += tanpi downward intel96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward intel96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok += tanpi downward binary128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward binary128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok += tanpi upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok +tanpi -0 += tanpi downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok += tanpi upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok +tanpi min += tanpi downward binary32 0x4p-128 : 0xc.90fdap-128 : inexact-ok += tanpi tonearest binary32 0x4p-128 : 0xc.90fdbp-128 : inexact-ok += tanpi towardzero binary32 0x4p-128 : 0xc.90fdap-128 : inexact-ok += tanpi upward binary32 0x4p-128 : 0xc.90fdbp-128 : inexact-ok += tanpi downward binary64 0x4p-128 : 0xc.90fdaa22168cp-128 : inexact-ok += tanpi tonearest binary64 0x4p-128 : 0xc.90fdaa22168cp-128 : inexact-ok += tanpi towardzero binary64 0x4p-128 : 0xc.90fdaa22168cp-128 : inexact-ok += tanpi upward binary64 0x4p-128 : 0xc.90fdaa22168c8p-128 : inexact-ok += tanpi downward intel96 0x4p-128 : 0xc.90fdaa22168c234p-128 : inexact-ok += tanpi tonearest intel96 0x4p-128 : 0xc.90fdaa22168c235p-128 : inexact-ok += tanpi towardzero intel96 0x4p-128 : 0xc.90fdaa22168c234p-128 : inexact-ok += tanpi upward intel96 0x4p-128 : 0xc.90fdaa22168c235p-128 : inexact-ok += tanpi downward m68k96 0x4p-128 : 0xc.90fdaa22168c234p-128 : inexact-ok += tanpi tonearest m68k96 0x4p-128 : 0xc.90fdaa22168c235p-128 : inexact-ok += tanpi towardzero m68k96 0x4p-128 : 0xc.90fdaa22168c234p-128 : inexact-ok += tanpi upward m68k96 0x4p-128 : 0xc.90fdaa22168c235p-128 : inexact-ok += tanpi downward binary128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi tonearest binary128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi towardzero binary128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi upward binary128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80dc8p-128 : inexact-ok += tanpi downward ibm128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi tonearest ibm128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi towardzero ibm128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi upward ibm128 0x4p-128 : 0xc.90fdaa22168c234c4c6628b81p-128 : inexact-ok += tanpi downward binary64 0x4p-1024 : 0xc.90fdaa22168cp-1024 : inexact-ok += tanpi tonearest binary64 0x4p-1024 : 0xc.90fdaa22168cp-1024 : inexact-ok += tanpi towardzero binary64 0x4p-1024 : 0xc.90fdaa22168cp-1024 : inexact-ok += tanpi upward binary64 0x4p-1024 : 0xc.90fdaa22168c8p-1024 : inexact-ok += tanpi downward intel96 0x4p-1024 : 0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi tonearest intel96 0x4p-1024 : 0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi towardzero intel96 0x4p-1024 : 0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi upward intel96 0x4p-1024 : 0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi downward m68k96 0x4p-1024 : 0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi tonearest m68k96 0x4p-1024 : 0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi towardzero m68k96 0x4p-1024 : 0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi upward m68k96 0x4p-1024 : 0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi downward binary128 0x4p-1024 : 0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi tonearest binary128 0x4p-1024 : 0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi towardzero binary128 0x4p-1024 : 0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi upward binary128 0x4p-1024 : 0xc.90fdaa22168c234c4c6628b80dc8p-1024 : inexact-ok += tanpi downward ibm128 0x4p-1024 : 0xc.90fdaa22168cp-1024 : inexact-ok underflow errno-erange-ok += tanpi tonearest ibm128 0x4p-1024 : 0xc.90fdaa22168c4p-1024 : inexact-ok underflow errno-erange-ok += tanpi towardzero ibm128 0x4p-1024 : 0xc.90fdaa22168cp-1024 : inexact-ok underflow errno-erange-ok += tanpi upward ibm128 0x4p-1024 : 0xc.90fdaa22168c4p-1024 : inexact-ok underflow errno-erange-ok += tanpi downward intel96 0x4p-16384 : 0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi tonearest intel96 0x4p-16384 : 0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi towardzero intel96 0x4p-16384 : 0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi upward intel96 0x4p-16384 : 0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi downward m68k96 0x4p-16384 : 0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi tonearest m68k96 0x4p-16384 : 0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi towardzero m68k96 0x4p-16384 : 0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi upward m68k96 0x4p-16384 : 0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi downward binary128 0x4p-16384 : 0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi tonearest binary128 0x4p-16384 : 0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi towardzero binary128 0x4p-16384 : 0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi upward binary128 0x4p-16384 : 0xc.90fdaa22168c234c4c6628b80dc8p-16384 : inexact-ok += tanpi downward intel96 0x2p-16384 : 0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi tonearest intel96 0x2p-16384 : 0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi towardzero intel96 0x2p-16384 : 0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi upward intel96 0x2p-16384 : 0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi downward m68k96 0x2p-16384 : 0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi tonearest m68k96 0x2p-16384 : 0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi towardzero m68k96 0x2p-16384 : 0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi upward m68k96 0x2p-16384 : 0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi downward binary128 0x2p-16384 : 0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi tonearest binary128 0x2p-16384 : 0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi towardzero binary128 0x2p-16384 : 0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi upward binary128 0x2p-16384 : 0x6.487ed5110b4611a62633145c06e4p-16384 : inexact-ok += tanpi downward binary64 0x8p-972 : 0x1.921fb54442d18p-968 : inexact-ok += tanpi tonearest binary64 0x8p-972 : 0x1.921fb54442d18p-968 : inexact-ok += tanpi towardzero binary64 0x8p-972 : 0x1.921fb54442d18p-968 : inexact-ok += tanpi upward binary64 0x8p-972 : 0x1.921fb54442d19p-968 : inexact-ok += tanpi downward intel96 0x8p-972 : 0x1.921fb54442d18468p-968 : inexact-ok += tanpi tonearest intel96 0x8p-972 : 0x1.921fb54442d1846ap-968 : inexact-ok += tanpi towardzero intel96 0x8p-972 : 0x1.921fb54442d18468p-968 : inexact-ok += tanpi upward intel96 0x8p-972 : 0x1.921fb54442d1846ap-968 : inexact-ok += tanpi downward m68k96 0x8p-972 : 0x1.921fb54442d18468p-968 : inexact-ok += tanpi tonearest m68k96 0x8p-972 : 0x1.921fb54442d1846ap-968 : inexact-ok += tanpi towardzero m68k96 0x8p-972 : 0x1.921fb54442d18468p-968 : inexact-ok += tanpi upward m68k96 0x8p-972 : 0x1.921fb54442d1846ap-968 : inexact-ok += tanpi downward binary128 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi tonearest binary128 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi towardzero binary128 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi upward binary128 0x8p-972 : 0x1.921fb54442d18469898cc51701b9p-968 : inexact-ok += tanpi downward ibm128 0x8p-972 : 0x1.921fb54442d18469898cc517018p-968 : inexact-ok += tanpi tonearest ibm128 0x8p-972 : 0x1.921fb54442d18469898cc517018p-968 : inexact-ok += tanpi towardzero ibm128 0x8p-972 : 0x1.921fb54442d18469898cc517018p-968 : inexact-ok += tanpi upward ibm128 0x8p-972 : 0x1.921fb54442d18469898cc51702p-968 : inexact-ok +tanpi -min += tanpi downward binary32 -0x4p-128 : -0xc.90fdbp-128 : inexact-ok += tanpi tonearest binary32 -0x4p-128 : -0xc.90fdbp-128 : inexact-ok += tanpi towardzero binary32 -0x4p-128 : -0xc.90fdap-128 : inexact-ok += tanpi upward binary32 -0x4p-128 : -0xc.90fdap-128 : inexact-ok += tanpi downward binary64 -0x4p-128 : -0xc.90fdaa22168c8p-128 : inexact-ok += tanpi tonearest binary64 -0x4p-128 : -0xc.90fdaa22168cp-128 : inexact-ok += tanpi towardzero binary64 -0x4p-128 : -0xc.90fdaa22168cp-128 : inexact-ok += tanpi upward binary64 -0x4p-128 : -0xc.90fdaa22168cp-128 : inexact-ok += tanpi downward intel96 -0x4p-128 : -0xc.90fdaa22168c235p-128 : inexact-ok += tanpi tonearest intel96 -0x4p-128 : -0xc.90fdaa22168c235p-128 : inexact-ok += tanpi towardzero intel96 -0x4p-128 : -0xc.90fdaa22168c234p-128 : inexact-ok += tanpi upward intel96 -0x4p-128 : -0xc.90fdaa22168c234p-128 : inexact-ok += tanpi downward m68k96 -0x4p-128 : -0xc.90fdaa22168c235p-128 : inexact-ok += tanpi tonearest m68k96 -0x4p-128 : -0xc.90fdaa22168c235p-128 : inexact-ok += tanpi towardzero m68k96 -0x4p-128 : -0xc.90fdaa22168c234p-128 : inexact-ok += tanpi upward m68k96 -0x4p-128 : -0xc.90fdaa22168c234p-128 : inexact-ok += tanpi downward binary128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80dc8p-128 : inexact-ok += tanpi tonearest binary128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi towardzero binary128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi upward binary128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80dcp-128 : inexact-ok += tanpi downward ibm128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b81p-128 : inexact-ok += tanpi tonearest ibm128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi towardzero ibm128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi upward ibm128 -0x4p-128 : -0xc.90fdaa22168c234c4c6628b80cp-128 : inexact-ok += tanpi downward binary64 -0x4p-1024 : -0xc.90fdaa22168c8p-1024 : inexact-ok += tanpi tonearest binary64 -0x4p-1024 : -0xc.90fdaa22168cp-1024 : inexact-ok += tanpi towardzero binary64 -0x4p-1024 : -0xc.90fdaa22168cp-1024 : inexact-ok += tanpi upward binary64 -0x4p-1024 : -0xc.90fdaa22168cp-1024 : inexact-ok += tanpi downward intel96 -0x4p-1024 : -0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi tonearest intel96 -0x4p-1024 : -0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi towardzero intel96 -0x4p-1024 : -0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi upward intel96 -0x4p-1024 : -0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi downward m68k96 -0x4p-1024 : -0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi tonearest m68k96 -0x4p-1024 : -0xc.90fdaa22168c235p-1024 : inexact-ok += tanpi towardzero m68k96 -0x4p-1024 : -0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi upward m68k96 -0x4p-1024 : -0xc.90fdaa22168c234p-1024 : inexact-ok += tanpi downward binary128 -0x4p-1024 : -0xc.90fdaa22168c234c4c6628b80dc8p-1024 : inexact-ok += tanpi tonearest binary128 -0x4p-1024 : -0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi towardzero binary128 -0x4p-1024 : -0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi upward binary128 -0x4p-1024 : -0xc.90fdaa22168c234c4c6628b80dcp-1024 : inexact-ok += tanpi downward ibm128 -0x4p-1024 : -0xc.90fdaa22168c4p-1024 : inexact-ok underflow errno-erange-ok += tanpi tonearest ibm128 -0x4p-1024 : -0xc.90fdaa22168c4p-1024 : inexact-ok underflow errno-erange-ok += tanpi towardzero ibm128 -0x4p-1024 : -0xc.90fdaa22168cp-1024 : inexact-ok underflow errno-erange-ok += tanpi upward ibm128 -0x4p-1024 : -0xc.90fdaa22168cp-1024 : inexact-ok underflow errno-erange-ok += tanpi downward intel96 -0x4p-16384 : -0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi tonearest intel96 -0x4p-16384 : -0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi towardzero intel96 -0x4p-16384 : -0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi upward intel96 -0x4p-16384 : -0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi downward m68k96 -0x4p-16384 : -0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi tonearest m68k96 -0x4p-16384 : -0xc.90fdaa22168c235p-16384 : inexact-ok += tanpi towardzero m68k96 -0x4p-16384 : -0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi upward m68k96 -0x4p-16384 : -0xc.90fdaa22168c234p-16384 : inexact-ok += tanpi downward binary128 -0x4p-16384 : -0xc.90fdaa22168c234c4c6628b80dc8p-16384 : inexact-ok += tanpi tonearest binary128 -0x4p-16384 : -0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi towardzero binary128 -0x4p-16384 : -0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi upward binary128 -0x4p-16384 : -0xc.90fdaa22168c234c4c6628b80dcp-16384 : inexact-ok += tanpi downward intel96 -0x2p-16384 : -0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi tonearest intel96 -0x2p-16384 : -0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi towardzero intel96 -0x2p-16384 : -0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi upward intel96 -0x2p-16384 : -0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi downward m68k96 -0x2p-16384 : -0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi tonearest m68k96 -0x2p-16384 : -0x6.487ed5110b4611a8p-16384 : inexact-ok += tanpi towardzero m68k96 -0x2p-16384 : -0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi upward m68k96 -0x2p-16384 : -0x6.487ed5110b4611ap-16384 : inexact-ok += tanpi downward binary128 -0x2p-16384 : -0x6.487ed5110b4611a62633145c06e4p-16384 : inexact-ok += tanpi tonearest binary128 -0x2p-16384 : -0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi towardzero binary128 -0x2p-16384 : -0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi upward binary128 -0x2p-16384 : -0x6.487ed5110b4611a62633145c06ep-16384 : inexact-ok += tanpi downward binary64 -0x8p-972 : -0x1.921fb54442d19p-968 : inexact-ok += tanpi tonearest binary64 -0x8p-972 : -0x1.921fb54442d18p-968 : inexact-ok += tanpi towardzero binary64 -0x8p-972 : -0x1.921fb54442d18p-968 : inexact-ok += tanpi upward binary64 -0x8p-972 : -0x1.921fb54442d18p-968 : inexact-ok += tanpi downward intel96 -0x8p-972 : -0x1.921fb54442d1846ap-968 : inexact-ok += tanpi tonearest intel96 -0x8p-972 : -0x1.921fb54442d1846ap-968 : inexact-ok += tanpi towardzero intel96 -0x8p-972 : -0x1.921fb54442d18468p-968 : inexact-ok += tanpi upward intel96 -0x8p-972 : -0x1.921fb54442d18468p-968 : inexact-ok += tanpi downward m68k96 -0x8p-972 : -0x1.921fb54442d1846ap-968 : inexact-ok += tanpi tonearest m68k96 -0x8p-972 : -0x1.921fb54442d1846ap-968 : inexact-ok += tanpi towardzero m68k96 -0x8p-972 : -0x1.921fb54442d18468p-968 : inexact-ok += tanpi upward m68k96 -0x8p-972 : -0x1.921fb54442d18468p-968 : inexact-ok += tanpi downward binary128 -0x8p-972 : -0x1.921fb54442d18469898cc51701b9p-968 : inexact-ok += tanpi tonearest binary128 -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi towardzero binary128 -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi upward binary128 -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p-968 : inexact-ok += tanpi downward ibm128 -0x8p-972 : -0x1.921fb54442d18469898cc51702p-968 : inexact-ok += tanpi tonearest ibm128 -0x8p-972 : -0x1.921fb54442d18469898cc517018p-968 : inexact-ok += tanpi towardzero ibm128 -0x8p-972 : -0x1.921fb54442d18469898cc517018p-968 : inexact-ok += tanpi upward ibm128 -0x8p-972 : -0x1.921fb54442d18469898cc517018p-968 : inexact-ok +tanpi min_subnorm += tanpi downward binary32 0x8p-152 : 0x1.8p-148 : inexact-ok underflow errno-erange-ok += tanpi tonearest binary32 0x8p-152 : 0x1.8p-148 : inexact-ok underflow errno-erange-ok += tanpi towardzero binary32 0x8p-152 : 0x1.8p-148 : inexact-ok underflow errno-erange-ok += tanpi upward binary32 0x8p-152 : 0x2p-148 : inexact-ok underflow errno-erange-ok += tanpi downward binary64 0x8p-152 : 0x1.921fb54442d18p-148 : inexact-ok += tanpi tonearest binary64 0x8p-152 : 0x1.921fb54442d18p-148 : inexact-ok += tanpi towardzero binary64 0x8p-152 : 0x1.921fb54442d18p-148 : inexact-ok += tanpi upward binary64 0x8p-152 : 0x1.921fb54442d19p-148 : inexact-ok += tanpi downward intel96 0x8p-152 : 0x1.921fb54442d18468p-148 : inexact-ok += tanpi tonearest intel96 0x8p-152 : 0x1.921fb54442d1846ap-148 : inexact-ok += tanpi towardzero intel96 0x8p-152 : 0x1.921fb54442d18468p-148 : inexact-ok += tanpi upward intel96 0x8p-152 : 0x1.921fb54442d1846ap-148 : inexact-ok += tanpi downward m68k96 0x8p-152 : 0x1.921fb54442d18468p-148 : inexact-ok += tanpi tonearest m68k96 0x8p-152 : 0x1.921fb54442d1846ap-148 : inexact-ok += tanpi towardzero m68k96 0x8p-152 : 0x1.921fb54442d18468p-148 : inexact-ok += tanpi upward m68k96 0x8p-152 : 0x1.921fb54442d1846ap-148 : inexact-ok += tanpi downward binary128 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p-148 : inexact-ok += tanpi tonearest binary128 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p-148 : inexact-ok += tanpi towardzero binary128 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p-148 : inexact-ok += tanpi upward binary128 0x8p-152 : 0x1.921fb54442d18469898cc51701b9p-148 : inexact-ok += tanpi downward ibm128 0x8p-152 : 0x1.921fb54442d18469898cc517018p-148 : inexact-ok += tanpi tonearest ibm128 0x8p-152 : 0x1.921fb54442d18469898cc517018p-148 : inexact-ok += tanpi towardzero ibm128 0x8p-152 : 0x1.921fb54442d18469898cc517018p-148 : inexact-ok += tanpi upward ibm128 0x8p-152 : 0x1.921fb54442d18469898cc51702p-148 : inexact-ok += tanpi downward binary64 0x4p-1076 : 0xcp-1076 : inexact-ok underflow errno-erange-ok += tanpi tonearest binary64 0x4p-1076 : 0xcp-1076 : inexact-ok underflow errno-erange-ok += tanpi towardzero binary64 0x4p-1076 : 0xcp-1076 : inexact-ok underflow errno-erange-ok += tanpi upward binary64 0x4p-1076 : 0x1p-1072 : inexact-ok underflow errno-erange-ok += tanpi downward intel96 0x4p-1076 : 0xc.90fdaa22168c234p-1076 : inexact-ok += tanpi tonearest intel96 0x4p-1076 : 0xc.90fdaa22168c235p-1076 : inexact-ok += tanpi towardzero intel96 0x4p-1076 : 0xc.90fdaa22168c234p-1076 : inexact-ok += tanpi upward intel96 0x4p-1076 : 0xc.90fdaa22168c235p-1076 : inexact-ok += tanpi downward |
