mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00:00
Add narrowing divide functions.
This patch adds the narrowing divide functions from TS 18661-1 to glibc's libm: fdiv, fdivl, ddivl, f32divf64, f32divf32x, f32xdivf64 for all configurations; f32divf64x, f32divf128, f64divf64x, f64divf128, f32xdivf64x, f32xdivf128, f64xdivf128 for configurations with _Float64x and _Float128; __nldbl_ddivl for ldbl-opt. The changes are mostly essentially the same as for the other narrowing functions, so the description of those generally applies to this patch as well. Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft float) and powerpc, and with build-many-glibcs.py. * math/Makefile (libm-narrow-fns): Add div. (libm-test-funcs-narrow): Likewise. * math/Versions (GLIBC_2.28): Add narrowing divide functions. * math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW. * math/gen-auto-libm-tests.c (test_functions): Add div. * math/math-narrow.h (CHECK_NARROW_DIV): New macro. (NARROW_DIV_ROUND_TO_ODD): Likewise. (NARROW_DIV_TRIVIAL): Likewise. * sysdeps/ieee754/float128/float128_private.h (__fdivl): New macro. (__ddivl): Likewise. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and ddiv. (CFLAGS-nldbl-ddiv.c): New variable. (CFLAGS-nldbl-fdiv.c): Likewise. * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add __nldbl_ddivl. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New prototype. * manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl, ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx. * math/auto-libm-test-in: Add tests of div. * math/auto-libm-test-out-narrow-div: New generated file. * math/libm-test-narrow-div.inc: New file. * sysdeps/i386/fpu/s_f32xdivf64.c: Likewise. * sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise. * sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise. * sysdeps/ieee754/float128/s_f32divf128.c: Likewise. * sysdeps/ieee754/float128/s_f64divf128.c: Likewise. * sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise. * sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise. * sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise. * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. * sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise. * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. * sysdeps/powerpc/fpu/libm-test-ulps: Update. * sysdeps/mach/hurd/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
This commit is contained in:
parent
8c78faa9ef
commit
632a6cbe44
71
ChangeLog
71
ChangeLog
@ -1,3 +1,74 @@
|
||||
2018-05-17 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* math/Makefile (libm-narrow-fns): Add div.
|
||||
(libm-test-funcs-narrow): Likewise.
|
||||
* math/Versions (GLIBC_2.28): Add narrowing divide functions.
|
||||
* math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW.
|
||||
* math/gen-auto-libm-tests.c (test_functions): Add div.
|
||||
* math/math-narrow.h (CHECK_NARROW_DIV): New macro.
|
||||
(NARROW_DIV_ROUND_TO_ODD): Likewise.
|
||||
(NARROW_DIV_TRIVIAL): Likewise.
|
||||
* sysdeps/ieee754/float128/float128_private.h (__fdivl): New
|
||||
macro.
|
||||
(__ddivl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and
|
||||
ddiv.
|
||||
(CFLAGS-nldbl-ddiv.c): New variable.
|
||||
(CFLAGS-nldbl-fdiv.c): Likewise.
|
||||
* sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
|
||||
__nldbl_ddivl.
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New
|
||||
prototype.
|
||||
* manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl,
|
||||
ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx.
|
||||
* math/auto-libm-test-in: Add tests of div.
|
||||
* math/auto-libm-test-out-narrow-div: New generated file.
|
||||
* math/libm-test-narrow-div.inc: New file.
|
||||
* sysdeps/i386/fpu/s_f32xdivf64.c: Likewise.
|
||||
* sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise.
|
||||
* sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise.
|
||||
* sysdeps/ieee754/float128/s_f32divf128.c: Likewise.
|
||||
* sysdeps/ieee754/float128/s_f64divf128.c: Likewise.
|
||||
* sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise.
|
||||
* sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise.
|
||||
* sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise.
|
||||
* sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise.
|
||||
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
|
||||
* sysdeps/mach/hurd/i386/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
|
||||
|
||||
2018-05-16 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
[BZ #23178]
|
||||
|
3
NEWS
3
NEWS
@ -21,6 +21,9 @@ Major new features:
|
||||
- fmul, fmull, dmull and corresponding fMmulfN, fMmulfNx, fMxmulfN and
|
||||
fMxmulfNx functions.
|
||||
|
||||
- fdiv, fdivl, ddivl and corresponding fMdivfN, fMdivfNx, fMxdivfN and
|
||||
fMxdivfNx functions.
|
||||
|
||||
* Nominative and genitive month names are now supported for the Catalan and
|
||||
Czech languages. The Catalan and Greek languages now support abbreviated
|
||||
alternative month names.
|
||||
|
@ -2248,6 +2248,25 @@ function without any intermediate rounding to the type of the
|
||||
arguments.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun float fdiv (double @var{x}, double @var{y})
|
||||
@deftypefunx float fdivl (long double @var{x}, long double @var{y})
|
||||
@deftypefunx double ddivl (long double @var{x}, long double @var{y})
|
||||
@deftypefunx _FloatM fMdivfN (_Float@var{N} @var{x}, _Float@var{N} @var{y})
|
||||
@deftypefunx _FloatM fMdivfNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y})
|
||||
@deftypefunx _FloatMx fMxdivfN (_Float@var{N} @var{x}, _Float@var{N} @var{y})
|
||||
@deftypefunx _FloatMx fMxdivfNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y})
|
||||
@standards{TS 18661-1:2014, math.h}
|
||||
@standardsx{fMdivfN, TS 18661-3:2015, math.h}
|
||||
@standardsx{fMdivfNx, TS 18661-3:2015, math.h}
|
||||
@standardsx{fMxdivfN, TS 18661-3:2015, math.h}
|
||||
@standardsx{fMxdivfNx, TS 18661-3:2015, math.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
These functions, from TS 18661-1:2014 and TS 18661-3:2015, return
|
||||
@math{@var{x} / @var{y}}, rounded once to the return type of the
|
||||
function without any intermediate rounding to the type of the
|
||||
arguments.
|
||||
@end deftypefun
|
||||
|
||||
@node Complex Numbers
|
||||
@section Complex Numbers
|
||||
@pindex complex.h
|
||||
|
@ -89,7 +89,7 @@ libm-compat-calls = \
|
||||
w_lgammaF_r_compat w_lgammaF_compat2 w_expF_compat \
|
||||
w_lgamma_compatF k_standardF
|
||||
|
||||
libm-narrow-fns = add mul sub
|
||||
libm-narrow-fns = add div mul sub
|
||||
libm-narrow-types-basic = s_fF s_f32xFf64
|
||||
libm-narrow-types-ldouble-yes = s_fFl s_dFl
|
||||
libm-narrow-types-float128-yes = s_f32Ff128 s_f64Ff128 s_f64xFf128
|
||||
@ -284,7 +284,7 @@ libm-test-funcs-noauto = canonicalize ceil cimag conj copysign cproj creal \
|
||||
scalbln scalbn setpayload setpayloadsig signbit \
|
||||
significand totalorder totalordermag trunc ufromfp \
|
||||
ufromfpx
|
||||
libm-test-funcs-narrow = add mul sub
|
||||
libm-test-funcs-narrow = add div mul sub
|
||||
libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto)
|
||||
libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c)
|
||||
libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c)
|
||||
|
@ -555,6 +555,8 @@ libm {
|
||||
# Functions not involving _Float64x or _Float128, for all configurations.
|
||||
fadd; faddl; daddl;
|
||||
f32addf32x; f32addf64; f32xaddf64;
|
||||
fdiv; fdivl; ddivl;
|
||||
f32divf32x; f32divf64; f32xdivf64;
|
||||
fmul; fmull; dmull;
|
||||
f32mulf32x; f32mulf64; f32xmulf64;
|
||||
fsub; fsubl; dsubl;
|
||||
@ -563,6 +565,9 @@ libm {
|
||||
f32addf64x; f32addf128;
|
||||
f32xaddf64x; f32xaddf128; f64addf64x; f64addf128;
|
||||
f64xaddf128;
|
||||
f32divf64x; f32divf128;
|
||||
f32xdivf64x; f32xdivf128; f64divf64x; f64divf128;
|
||||
f64xdivf128;
|
||||
f32mulf64x; f32mulf128;
|
||||
f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128;
|
||||
f64xmulf128;
|
||||
|
@ -4758,6 +4758,80 @@ ctanh -min 0
|
||||
ctanh min_subnorm 0
|
||||
ctanh -min_subnorm 0
|
||||
|
||||
div 0 min
|
||||
div 0 -min
|
||||
div 0 min_subnorm
|
||||
div 0 -min_subnorm
|
||||
div 0 max
|
||||
div 0 -max
|
||||
div -0 min
|
||||
div -0 -min
|
||||
div -0 min_subnorm
|
||||
div -0 -min_subnorm
|
||||
div -0 max
|
||||
div -0 -max
|
||||
div max max xfail:ibm128-libgcc
|
||||
div max -max xfail:ibm128-libgcc
|
||||
div -max max xfail:ibm128-libgcc
|
||||
div -max -max xfail:ibm128-libgcc
|
||||
div min min
|
||||
div min -min
|
||||
div -min min
|
||||
div -min -min
|
||||
div min_subnorm min_subnorm
|
||||
div min_subnorm -min_subnorm
|
||||
div -min_subnorm min_subnorm
|
||||
div -min_subnorm -min_subnorm
|
||||
div max min xfail-rounding:ibm128-libgcc
|
||||
div max -min xfail-rounding:ibm128-libgcc
|
||||
div -max min xfail-rounding:ibm128-libgcc
|
||||
div -max -min xfail-rounding:ibm128-libgcc
|
||||
div max min_subnorm xfail-rounding:ibm128-libgcc
|
||||
div max -min_subnorm xfail-rounding:ibm128-libgcc
|
||||
div -max min_subnorm xfail-rounding:ibm128-libgcc
|
||||
div -max -min_subnorm xfail-rounding:ibm128-libgcc
|
||||
div min max xfail-rounding:ibm128-libgcc
|
||||
div min -max xfail-rounding:ibm128-libgcc
|
||||
div -min max xfail-rounding:ibm128-libgcc
|
||||
div -min -max xfail-rounding:ibm128-libgcc
|
||||
div min_subnorm max xfail-rounding:ibm128-libgcc
|
||||
div min_subnorm -max xfail-rounding:ibm128-libgcc
|
||||
div -min_subnorm max xfail-rounding:ibm128-libgcc
|
||||
div -min_subnorm -max xfail-rounding:ibm128-libgcc
|
||||
div 1 2
|
||||
div 1 -2
|
||||
div -1 2
|
||||
div -1 -2
|
||||
div 100.5 0.75
|
||||
div 100.5 -0.75
|
||||
div -100.5 0.75
|
||||
div -100.5 -0.75
|
||||
|
||||
# Cases where the ratio of two values in a wider format is very close
|
||||
# to half way between two representable values in a narrower format,
|
||||
# so that double rounding would sometimes yield the wrong result. For
|
||||
# a narrower format of width a and a wider format of width w, take
|
||||
# b = w - a; these examples are of the form
|
||||
# (1 + 2^-a + 2^-b + 2^(1-w)) / (1 + 2^-b). These examples have
|
||||
# ratios of the form (1 + 2^-a) to the width of the wider format, but
|
||||
# the mathematical value is slightly greater, so that rounding once
|
||||
# should round the result up but double rounding would wrongly round
|
||||
# the result down.
|
||||
# a = 24, w = 53.
|
||||
div 0x1.0000010800001p0 0x1.00000008p0
|
||||
# a = 24, w = 64.
|
||||
div 0x1.0000010001000002p0 0x1.0000000001p0
|
||||
# a = 24, w = 113.
|
||||
div 0x1.0000010000000000000000800001p0 0x1.00000000000000000000008p0
|
||||
# a = 53, w = 64.
|
||||
div 0x1.0020000000000802p0 0x1.002p0
|
||||
# a = 53, w = 113.
|
||||
div 0x1.0000000000000810000000000001p0 0x1.000000000000001p0
|
||||
# a = 64, w = 113.
|
||||
div 0x1.0000000000008001000000000001p0 0x1.0000000000008p0
|
||||
# Similar, for double rounding to 64-bit of a division of 53-bit values.
|
||||
div 0x1ffe1p0 0xfffp0
|
||||
|
||||
erf 0
|
||||
erf -0
|
||||
erf 0.125
|
||||
|
21391
math/auto-libm-test-out-narrow-div
Normal file
21391
math/auto-libm-test-out-narrow-div
Normal file
File diff suppressed because it is too large
Load Diff
@ -23,6 +23,9 @@
|
||||
/* Add. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
|
||||
|
||||
/* Divide. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2);
|
||||
|
||||
/* Multiply. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2);
|
||||
|
||||
|
@ -561,6 +561,7 @@ static test_function test_functions[] =
|
||||
FUNC_mpc_c_c ("csqrt", mpc_sqrt, false),
|
||||
FUNC_mpc_c_c ("ctan", mpc_tan, false),
|
||||
FUNC_mpc_c_c ("ctanh", mpc_tanh, false),
|
||||
FUNC_mpfr_ff_f ("div", mpfr_div, true),
|
||||
FUNC_mpfr_f_f ("erf", mpfr_erf, false),
|
||||
FUNC_mpfr_f_f ("erfc", mpfr_erfc, false),
|
||||
FUNC_mpfr_f_f ("exp", mpfr_exp, false),
|
||||
|
197
math/libm-test-narrow-div.inc
Normal file
197
math/libm-test-narrow-div.inc
Normal file
@ -0,0 +1,197 @@
|
||||
/* Test narrowing divide.
|
||||
Copyright (C) 2018 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 "libm-test-driver.c"
|
||||
|
||||
static const struct test_aa_f_data div_test_data[] =
|
||||
{
|
||||
TEST_aa_f (div, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_qnan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_qnan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
|
||||
TEST_aa_f (div, arg_qnan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_qnan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_zero, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_max_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_max_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_qnan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_zero, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_zero, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_max_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_max_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
|
||||
TEST_aa_f (div, arg_snan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_snan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_plus_zero, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_min_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_min_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_max_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_max_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, -arg_min_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, -arg_min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_snan_value, -arg_max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_plus_zero, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_minus_zero, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_plus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_minus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_min_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_min_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, arg_max_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
TEST_aa_f (div, -arg_max_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
|
||||
|
||||
TEST_aa_f (div, arg_plus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
|
||||
TEST_aa_f (div, arg_plus_zero, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_plus_zero, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_plus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_minus_zero, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||
|
||||
TEST_aa_f (div, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_zero, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_max_value, arg_plus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_max_value, arg_plus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_plus_zero, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_minus_zero, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, arg_max_value, arg_minus_infty, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_aa_f (div, -arg_max_value, arg_minus_infty, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
|
||||
TEST_aa_f (div, arg_min_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_min_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, arg_max_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_max_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, arg_min_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_min_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, arg_min_subnorm_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_min_subnorm_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, arg_max_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
TEST_aa_f (div, -arg_max_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
|
||||
|
||||
AUTO_TESTS_aa_f (div),
|
||||
};
|
||||
|
||||
static void
|
||||
div_test (void)
|
||||
{
|
||||
ALL_RM_TEST (div, 1, div_test_data, RUN_TEST_LOOP_aa_f, END);
|
||||
}
|
||||
|
||||
static void
|
||||
do_test (void)
|
||||
{
|
||||
div_test ();
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode:c
|
||||
* End:
|
||||
*/
|
@ -219,6 +219,59 @@
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Check for error conditions from a narrowing divide function
|
||||
returning RET with arguments X and Y and set errno as needed.
|
||||
Overflow, underflow and divide-by-zero can occur for finite
|
||||
arguments and a domain error for Inf / Inf and 0 / 0. */
|
||||
#define CHECK_NARROW_DIV(RET, X, Y) \
|
||||
do \
|
||||
{ \
|
||||
if (!isfinite (RET)) \
|
||||
{ \
|
||||
if (isnan (RET)) \
|
||||
{ \
|
||||
if (!isnan (X) && !isnan (Y)) \
|
||||
__set_errno (EDOM); \
|
||||
} \
|
||||
else if (isfinite (X)) \
|
||||
__set_errno (ERANGE); \
|
||||
} \
|
||||
else if ((RET) == 0 && (X) != 0 && !isinf (Y)) \
|
||||
__set_errno (ERANGE); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Implement narrowing divide using round-to-odd. The arguments are
|
||||
X and Y, the return type is TYPE and UNION, MANTISSA and SUFFIX are
|
||||
as for ROUND_TO_ODD. */
|
||||
#define NARROW_DIV_ROUND_TO_ODD(X, Y, TYPE, UNION, SUFFIX, MANTISSA) \
|
||||
do \
|
||||
{ \
|
||||
TYPE ret; \
|
||||
\
|
||||
ret = (TYPE) ROUND_TO_ODD (math_opt_barrier (X) / (Y), \
|
||||
UNION, SUFFIX, MANTISSA); \
|
||||
\
|
||||
CHECK_NARROW_DIV (ret, (X), (Y)); \
|
||||
return ret; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Implement a narrowing divide function that is not actually
|
||||
narrowing or where no attempt is made to be correctly rounding (the
|
||||
latter only applies to IBM long double). The arguments are X and Y
|
||||
and the return type is TYPE. */
|
||||
#define NARROW_DIV_TRIVIAL(X, Y, TYPE) \
|
||||
do \
|
||||
{ \
|
||||
TYPE ret; \
|
||||
\
|
||||
ret = (TYPE) ((X) / (Y)); \
|
||||
CHECK_NARROW_DIV (ret, (X), (Y)); \
|
||||
return ret; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* The following macros declare aliases for a narrowing function. The
|
||||
sole argument is the base name of a family of functions, such as
|
||||
"add". If any platform changes long double format after the
|
||||
|
29
sysdeps/i386/fpu/s_f32xdivf64.c
Normal file
29
sysdeps/i386/fpu/s_f32xdivf64.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* Divide _Float64 values, converting the result to _Float32x. i386 version.
|
||||
Copyright (C) 2018 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-narrow.h>
|
||||
|
||||
_Float32x
|
||||
__f32xdivf64 (_Float64 x, _Float64 y)
|
||||
{
|
||||
/* To avoid double rounding, use round-to-odd on long double. */
|
||||
NARROW_DIV_ROUND_TO_ODD ((long double) x, (long double) y, double,
|
||||
union ieee854_long_double, l, mantissa1);
|
||||
}
|
||||
libm_alias_float32x_float64 (div)
|
30
sysdeps/ieee754/dbl-64/s_f32xdivf64.c
Normal file
30
sysdeps/ieee754/dbl-64/s_f32xdivf64.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* Divide _Float64 values, converting the result to _Float32x.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define ddivl __hide_ddivl
|
||||
#include <math.h>
|
||||
#undef ddivl
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
_Float32x
|
||||
__f32xdivf64 (_Float64 x, _Float64 y)
|
||||
{
|
||||
NARROW_DIV_TRIVIAL (x, y, _Float32x);
|
||||
}
|
||||
libm_alias_float32x_float64 (div)
|
34
sysdeps/ieee754/dbl-64/s_fdiv.c
Normal file
34
sysdeps/ieee754/dbl-64/s_fdiv.c
Normal file
@ -0,0 +1,34 @@
|
||||
/* Divide double values, narrowing the result to float.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32divf64 __hide_f32divf64
|
||||
#define f32divf32x __hide_f32divf32x
|
||||
#define fdivl __hide_fdivl
|
||||
#include <math.h>
|
||||
#undef f32divf64
|
||||
#undef f32divf32x
|
||||
#undef fdivl
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
float
|
||||
__fdiv (double x, double y)
|
||||
{
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee754_double, , mantissa1);
|
||||
}
|
||||
libm_alias_float_double (div)
|
@ -258,6 +258,8 @@
|
||||
|
||||
#define __faddl __f32addf128
|
||||
#define __daddl __f64addf128
|
||||
#define __fdivl __f32divf128
|
||||
#define __ddivl __f64divf128
|
||||
#define __fmull __f32mulf128
|
||||
#define __dmull __f64mulf128
|
||||
#define __fsubl __f32subf128
|
||||
|
6
sysdeps/ieee754/float128/s_f32divf128.c
Normal file
6
sysdeps/ieee754/float128/s_f32divf128.c
Normal file
@ -0,0 +1,6 @@
|
||||
#define f32divf64x __hide_f32divf64x
|
||||
#define f32divf128 __hide_f32divf128
|
||||
#include <float128_private.h>
|
||||
#undef f32divf64x
|
||||
#undef f32divf128
|
||||
#include "../ldbl-128/s_fdivl.c"
|
10
sysdeps/ieee754/float128/s_f64divf128.c
Normal file
10
sysdeps/ieee754/float128/s_f64divf128.c
Normal file
@ -0,0 +1,10 @@
|
||||
#define f32xdivf64x __hide_f32xdivf64x
|
||||
#define f32xdivf128 __hide_f32xdivf128
|
||||
#define f64divf64x __hide_f64divf64x
|
||||
#define f64divf128 __hide_f64divf128
|
||||
#include <float128_private.h>
|
||||
#undef f32xdivf64x
|
||||
#undef f32xdivf128
|
||||
#undef f64divf64x
|
||||
#undef f64divf128
|
||||
#include "../ldbl-128/s_ddivl.c"
|
2
sysdeps/ieee754/float128/s_f64xdivf128.c
Normal file
2
sysdeps/ieee754/float128/s_f64xdivf128.c
Normal file
@ -0,0 +1,2 @@
|
||||
#include <float128_private.h>
|
||||
#include "../ldbl-128/s_f64xdivf128.c"
|
37
sysdeps/ieee754/ldbl-128/s_ddivl.c
Normal file
37
sysdeps/ieee754/ldbl-128/s_ddivl.c
Normal file
@ -0,0 +1,37 @@
|
||||
/* Divide long double (ldbl-128) values, narrowing the result to double.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32xdivf64x __hide_f32xdivf64x
|
||||
#define f32xdivf128 __hide_f32xdivf128
|
||||
#define f64divf64x __hide_f64divf64x
|
||||
#define f64divf128 __hide_f64divf128
|
||||
#include <math.h>
|
||||
#undef f32xdivf64x
|
||||
#undef f32xdivf128
|
||||
#undef f64divf64x
|
||||
#undef f64divf128
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
double
|
||||
__ddivl (_Float128 x, _Float128 y)
|
||||
{
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, double, union ieee854_long_double, l,
|
||||
mantissa3);
|
||||
}
|
||||
libm_alias_double_ldouble (div)
|
38
sysdeps/ieee754/ldbl-128/s_f64xdivf128.c
Normal file
38
sysdeps/ieee754/ldbl-128/s_f64xdivf128.c
Normal file
@ -0,0 +1,38 @@
|
||||
/* Divide _Float128 values, converting the result to _Float64x.
|
||||
Copyright (C) 2018 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-narrow.h>
|
||||
|
||||
/* math_ldbl.h defines _Float128 to long double for this directory,
|
||||
but when they are different, this function must be defined with
|
||||
_Float128 arguments to avoid defining an alias with an incompatible
|
||||
type. */
|
||||
#undef _Float128
|
||||
|
||||
_Float64x
|
||||
__f64xdivf128 (_Float128 x, _Float128 y)
|
||||
{
|
||||
#if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, _Float64x, union ieee854_long_double, l,
|
||||
mantissa3);
|
||||
#else
|
||||
NARROW_DIV_TRIVIAL (x, y, _Float64x);
|
||||
#endif
|
||||
}
|
||||
libm_alias_float64x_float128 (div)
|
33
sysdeps/ieee754/ldbl-128/s_fdivl.c
Normal file
33
sysdeps/ieee754/ldbl-128/s_fdivl.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Divide long double (ldbl-128) values, narrowing the result to float.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32divf64x __hide_f32divf64x
|
||||
#define f32divf128 __hide_f32divf128
|
||||
#include <math.h>
|
||||
#undef f32divf64x
|
||||
#undef f32divf128
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
float
|
||||
__fdivl (_Float128 x, _Float128 y)
|
||||
{
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee854_long_double, l,
|
||||
mantissa3);
|
||||
}
|
||||
libm_alias_float_ldouble (div)
|
27
sysdeps/ieee754/ldbl-128ibm/s_ddivl.c
Normal file
27
sysdeps/ieee754/ldbl-128ibm/s_ddivl.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Divide long double (ldbl-128ibm) values, narrowing the result to double.
|
||||
Copyright (C) 2018 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-narrow.h>
|
||||
|
||||
double
|
||||
__ddivl (long double x, long double y)
|
||||
{
|
||||
NARROW_DIV_TRIVIAL (x, y, double);
|
||||
}
|
||||
libm_alias_double_ldouble (div)
|
27
sysdeps/ieee754/ldbl-128ibm/s_fdivl.c
Normal file
27
sysdeps/ieee754/ldbl-128ibm/s_fdivl.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Divide long double (ldbl-128ibm) values, narrowing the result to float.
|
||||
Copyright (C) 2018 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-narrow.h>
|
||||
|
||||
float
|
||||
__fdivl (long double x, long double y)
|
||||
{
|
||||
NARROW_DIV_TRIVIAL (x, y, float);
|
||||
}
|
||||
libm_alias_float_ldouble (div)
|
33
sysdeps/ieee754/ldbl-96/s_ddivl.c
Normal file
33
sysdeps/ieee754/ldbl-96/s_ddivl.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Divide long double (ldbl-96) values, narrowing the result to double.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32xdivf64x __hide_f32xdivf64x
|
||||
#define f64divf64x __hide_f64divf64x
|
||||
#include <math.h>
|
||||
#undef f32xdivf64x
|
||||
#undef f64divf64x
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
double
|
||||
__ddivl (long double x, long double y)
|
||||
{
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, double, union ieee854_long_double, l,
|
||||
mantissa1);
|
||||
}
|
||||
libm_alias_double_ldouble (div)
|
31
sysdeps/ieee754/ldbl-96/s_fdivl.c
Normal file
31
sysdeps/ieee754/ldbl-96/s_fdivl.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* Divide long double (ldbl-96) values, narrowing the result to float.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32divf64x __hide_f32divf64x
|
||||
#include <math.h>
|
||||
#undef f32divf64x
|
||||
|
||||
#include <math-narrow.h>
|
||||
|
||||
float
|
||||
__fdivl (long double x, long double y)
|
||||
{
|
||||
NARROW_DIV_ROUND_TO_ODD (x, y, float, union ieee854_long_double, l,
|
||||
mantissa1);
|
||||
}
|
||||
libm_alias_float_ldouble (div)
|
@ -45,7 +45,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
|
||||
nextup nextdown totalorder totalordermag getpayload \
|
||||
canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \
|
||||
roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \
|
||||
fmul dmul fsub dsub
|
||||
fdiv ddiv fmul dmul fsub dsub
|
||||
libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
|
||||
libnldbl-inhibit-o = $(object-suffixes)
|
||||
libnldbl-static-only-routines = $(libnldbl-routines)
|
||||
@ -88,6 +88,7 @@ CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl
|
||||
CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl
|
||||
CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl
|
||||
CFLAGS-nldbl-dadd.c = -fno-builtin-daddl
|
||||
CFLAGS-nldbl-ddiv.c = -fno-builtin-ddivl
|
||||
CFLAGS-nldbl-dmul.c = -fno-builtin-dmull
|
||||
CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl
|
||||
CFLAGS-nldbl-erf.c = -fno-builtin-erfl
|
||||
@ -99,6 +100,7 @@ CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
|
||||
CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
|
||||
CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
|
||||
CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml
|
||||
CFLAGS-nldbl-fdiv.c = -fno-builtin-fdivl
|
||||
CFLAGS-nldbl-finite.c = -fno-builtin-finitel
|
||||
CFLAGS-nldbl-floor.c = -fno-builtin-floorl
|
||||
CFLAGS-nldbl-fma.c = -fno-builtin-fmal
|
||||
|
@ -101,6 +101,6 @@ libm {
|
||||
# Functions taking long double = double argument and rounding
|
||||
# result to double (same as f32x*f64 functions, but those names
|
||||
# are not reserved in TS 18661-1).
|
||||
__nldbl_daddl; __nldbl_dmull; __nldbl_dsubl;
|
||||
__nldbl_daddl; __nldbl_ddivl; __nldbl_dmull; __nldbl_dsubl;
|
||||
}
|
||||
}
|
||||
|
@ -104,6 +104,7 @@ extern void __nldbl___vsyslog_chk (int, int, const char *, va_list);
|
||||
/* The original declarations of these were hidden by the including
|
||||
file. */
|
||||
extern double __nldbl_daddl (double, double) __THROW;
|
||||
extern double __nldbl_ddivl (double, double) __THROW;
|
||||
extern double __nldbl_dmull (double, double) __THROW;
|
||||
extern double __nldbl_dsubl (double, double) __THROW;
|
||||
|
||||
|
28
sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c
Normal file
28
sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Compatibility routine for IEEE double as long double for ddiv.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define ddivl __hide_ddivl
|
||||
#include "nldbl-compat.h"
|
||||
#undef ddivl
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
ddivl (double x, double y)
|
||||
{
|
||||
return __nldbl_ddivl (x, y);
|
||||
}
|
28
sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c
Normal file
28
sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Compatibility routine for IEEE double as long double for fdiv.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define fdivl __hide_fdivl
|
||||
#include "nldbl-compat.h"
|
||||
#undef fdivl
|
||||
|
||||
float
|
||||
attribute_hidden
|
||||
fdivl (double x, double y)
|
||||
{
|
||||
return fdiv (x, y);
|
||||
}
|
59
sysdeps/ieee754/soft-fp/s_ddivl.c
Normal file
59
sysdeps/ieee754/soft-fp/s_ddivl.c
Normal file
@ -0,0 +1,59 @@
|
||||
/* Divide long double (ldbl-128) values, narrowing the result to
|
||||
double, using soft-fp.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32xdivf64x __hide_f32xdivf64x
|
||||
#define f32xdivf128 __hide_f32xdivf128
|
||||
#define f64divf64x __hide_f64divf64x
|
||||
#define f64divf128 __hide_f64divf128
|
||||
#include <math.h>
|
||||
#undef f32xdivf64x
|
||||
#undef f32xdivf128
|
||||
#undef f64divf64x
|
||||
#undef f64divf128
|
||||
|
||||
#include <math-narrow.h>
|
||||
#include <soft-fp.h>
|
||||
#include <double.h>
|
||||
#include <quad.h>
|
||||
|
||||
double
|
||||
__ddivl (_Float128 x, _Float128 y)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q (X);
|
||||
FP_DECL_Q (Y);
|
||||
FP_DECL_Q (R);
|
||||
FP_DECL_D (RN);
|
||||
double ret;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q (X, x);
|
||||
FP_UNPACK_Q (Y, y);
|
||||
FP_DIV_Q (R, X, Y);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_TRUNC_COOKED (D, Q, 2, 4, RN, R);
|
||||
#else
|
||||
FP_TRUNC_COOKED (D, Q, 1, 2, RN, R);
|
||||
#endif
|
||||
FP_PACK_D (ret, RN);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
CHECK_NARROW_DIV (ret, x, y);
|
||||
return ret;
|
||||
}
|
||||
libm_alias_double_ldouble (div)
|
56
sysdeps/ieee754/soft-fp/s_fdiv.c
Normal file
56
sysdeps/ieee754/soft-fp/s_fdiv.c
Normal file
@ -0,0 +1,56 @@
|
||||
/* Divide double values, narrowing the result to float, using soft-fp.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32divf64 __hide_f32divf64
|
||||
#define f32divf32x __hide_f32divf32x
|
||||
#define fdivl __hide_fdivl
|
||||
#include <math.h>
|
||||
#undef f32divf64
|
||||
#undef f32divf32x
|
||||
#undef fdivl
|
||||
|
||||
#include <math-narrow.h>
|
||||
#include <soft-fp.h>
|
||||
#include <single.h>
|
||||
#include <double.h>
|
||||
|
||||
float
|
||||
__fdiv (double x, double y)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_D (X);
|
||||
FP_DECL_D (Y);
|
||||
FP_DECL_D (R);
|
||||
FP_DECL_S (RN);
|
||||
float ret;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_D (X, x);
|
||||
FP_UNPACK_D (Y, y);
|
||||
FP_DIV_D (R, X, Y);
|
||||
#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
|
||||
FP_TRUNC_COOKED (S, D, 1, 2, RN, R);
|
||||
#else
|
||||
FP_TRUNC_COOKED (S, D, 1, 1, RN, R);
|
||||
#endif
|
||||
FP_PACK_S (ret, RN);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
CHECK_NARROW_DIV (ret, x, y);
|
||||
return ret;
|
||||
}
|
||||
libm_alias_float_double (div)
|
55
sysdeps/ieee754/soft-fp/s_fdivl.c
Normal file
55
sysdeps/ieee754/soft-fp/s_fdivl.c
Normal file
@ -0,0 +1,55 @@
|
||||
/* Divide long double (ldbl-128) values, narrowing the result to
|
||||
float, using soft-fp.
|
||||
Copyright (C) 2018 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/>. */
|
||||
|
||||
#define f32divf64x __hide_f32divf64x
|
||||
#define f32divf128 __hide_f32divf128
|
||||
#include <math.h>
|
||||
#undef f32divf64x
|
||||
#undef f32divf128
|
||||
|
||||
#include <math-narrow.h>
|
||||
#include <soft-fp.h>
|
||||
#include <single.h>
|
||||
#include <quad.h>
|
||||
|
||||
float
|
||||
__fdivl (_Float128 x, _Float128 y)
|
||||
{
|
||||
FP_DECL_EX;
|
||||
FP_DECL_Q (X);
|
||||
FP_DECL_Q (Y);
|
||||
FP_DECL_Q (R);
|
||||
FP_DECL_S (RN);
|
||||
float ret;
|
||||
|
||||
FP_INIT_ROUNDMODE;
|
||||
FP_UNPACK_Q (X, x);
|
||||
FP_UNPACK_Q (Y, y);
|
||||
FP_DIV_Q (R, X, Y);
|
||||
#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
|
||||
FP_TRUNC_COOKED (S, Q, 1, 4, RN, R);
|
||||
#else
|
||||
FP_TRUNC_COOKED (S, Q, 1, 2, RN, R);
|
||||
#endif
|
||||
FP_PACK_S (ret, RN);
|
||||
FP_HANDLE_EXCEPTIONS;
|
||||
CHECK_NARROW_DIV (ret, x, y);
|
||||
return ret;
|
||||
}
|
||||
libm_alias_float_ldouble (div)
|
@ -1017,12 +1017,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1034,6 +1039,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1042,15 +1050,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -1823,6 +1823,9 @@ ifloat128: 5
|
||||
ildouble: 10
|
||||
ldouble: 10
|
||||
|
||||
Function: "div_ldouble":
|
||||
float: 1
|
||||
|
||||
Function: "erf":
|
||||
double: 1
|
||||
float: 1
|
||||
|
@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -988,15 +988,21 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1008,6 +1014,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1016,15 +1025,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -430,19 +430,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -1024,12 +1024,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1041,6 +1046,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1049,15 +1057,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -954,12 +954,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -971,6 +976,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -979,15 +987,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -430,19 +430,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -781,19 +781,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -742,19 +742,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -742,19 +742,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -783,22 +783,29 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -782,22 +782,29 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -1021,15 +1021,21 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1041,6 +1047,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1049,15 +1058,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -461,22 +461,29 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -968,12 +968,17 @@ GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.27 ynl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -985,6 +990,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -993,15 +1001,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -978,15 +978,21 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -998,6 +1004,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1006,15 +1015,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -978,15 +978,21 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -998,6 +1004,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1006,15 +1015,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -741,19 +741,25 @@ GLIBC_2.27 ynf32 F
|
||||
GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
GLIBC_2.28 f32subf32x F
|
||||
GLIBC_2.28 f32subf64 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -985,15 +985,21 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 __nldbl_daddl F
|
||||
GLIBC_2.28 __nldbl_ddivl F
|
||||
GLIBC_2.28 __nldbl_dmull F
|
||||
GLIBC_2.28 __nldbl_dsubl F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1005,6 +1011,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1013,15 +1022,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -981,12 +981,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -998,6 +1003,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1006,15 +1014,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -1015,12 +1015,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1032,6 +1037,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1040,15 +1048,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
@ -1015,12 +1015,17 @@ GLIBC_2.27 ynf32x F
|
||||
GLIBC_2.27 ynf64 F
|
||||
GLIBC_2.27 ynf64x F
|
||||
GLIBC_2.28 daddl F
|
||||
GLIBC_2.28 ddivl F
|
||||
GLIBC_2.28 dmull F
|
||||
GLIBC_2.28 dsubl F
|
||||
GLIBC_2.28 f32addf128 F
|
||||
GLIBC_2.28 f32addf32x F
|
||||
GLIBC_2.28 f32addf64 F
|
||||
GLIBC_2.28 f32addf64x F
|
||||
GLIBC_2.28 f32divf128 F
|
||||
GLIBC_2.28 f32divf32x F
|
||||
GLIBC_2.28 f32divf64 F
|
||||
GLIBC_2.28 f32divf64x F
|
||||
GLIBC_2.28 f32mulf128 F
|
||||
GLIBC_2.28 f32mulf32x F
|
||||
GLIBC_2.28 f32mulf64 F
|
||||
@ -1032,6 +1037,9 @@ GLIBC_2.28 f32subf64x F
|
||||
GLIBC_2.28 f32xaddf128 F
|
||||
GLIBC_2.28 f32xaddf64 F
|
||||
GLIBC_2.28 f32xaddf64x F
|
||||
GLIBC_2.28 f32xdivf128 F
|
||||
GLIBC_2.28 f32xdivf64 F
|
||||
GLIBC_2.28 f32xdivf64x F
|
||||
GLIBC_2.28 f32xmulf128 F
|
||||
GLIBC_2.28 f32xmulf64 F
|
||||
GLIBC_2.28 f32xmulf64x F
|
||||
@ -1040,15 +1048,20 @@ GLIBC_2.28 f32xsubf64 F
|
||||
GLIBC_2.28 f32xsubf64x F
|
||||
GLIBC_2.28 f64addf128 F
|
||||
GLIBC_2.28 f64addf64x F
|
||||
GLIBC_2.28 f64divf128 F
|
||||
GLIBC_2.28 f64divf64x F
|
||||
GLIBC_2.28 f64mulf128 F
|
||||
GLIBC_2.28 f64mulf64x F
|
||||
GLIBC_2.28 f64subf128 F
|
||||
GLIBC_2.28 f64subf64x F
|
||||
GLIBC_2.28 f64xaddf128 F
|
||||
GLIBC_2.28 f64xdivf128 F
|
||||
GLIBC_2.28 f64xmulf128 F
|
||||
GLIBC_2.28 f64xsubf128 F
|
||||
GLIBC_2.28 fadd F
|
||||
GLIBC_2.28 faddl F
|
||||
GLIBC_2.28 fdiv F
|
||||
GLIBC_2.28 fdivl F
|
||||
GLIBC_2.28 fmul F
|
||||
GLIBC_2.28 fmull F
|
||||
GLIBC_2.28 fsub F
|
||||
|
Loading…
Reference in New Issue
Block a user