mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Make more libm functions into weak aliases.
Many libm functions define the function as __<func> and then define <func> as a weak alias. This is not at all limited to cases where there is an internal call that has namespace reasons to need to call __<func> instead of <func>. The common macros for creating libm function aliases work on the basis of public function names all being aliases; that is, they define aliases for functions using the above pattern. Thus, where a function just defines the public name <func> directly, changing that to be a weak alias enables a subsequent conversion to the common macros to retain the exact existing symbols (and so be testable by comparison of stripped binaries). This patch converts many existing functions to use the weak alias pattern, as preparation for subsequent conversions to common macros. I do expect that _FloatN/_FloatNx function aliases will end up needing new variants of the common macros that do *not* create the original float / double / long double name of a function - for cases where that name is created specially to give it a particular symbol version, for example - but for functions that can use the most common macros to create all the public names as aliases, it makes sense for them to do so. Regarding the Bessel function wrappers in this patch: only float and double wrappers are changed because the long double wrappers already used the weak alias pattern. Tested for x86_64, and with build-many-glibcs.py. * include/math.h (roundeven): Change hidden_proto call to __roundeven. * math/w_j0_compat.c (j0): Rename to __j0 and define as weak alias. [NO_LONG_DOUBLE] (__j0l): New strong alias. (y0): Rename to __y0 and define as weak alias. [NO_LONG_DOUBLE] (__y0l): New strong alias. * math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak alias. (y0f): Rename to __y0f and define as weak alias. * math/w_j1_compat.c (j1): Rename to __j1 and define as weak alias. [NO_LONG_DOUBLE] (__j1l): New strong alias. (y1): Rename to __y1 and define as weak alias. [NO_LONG_DOUBLE] (__y1l): New strong alias. * math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak alias. (y1f): Rename to __y1f and define as weak alias. * math/w_jn_compat.c (jn): Rename to __jn and define as weak alias. [NO_LONG_DOUBLE] (__jnl): New strong alias. (yn): Rename to __yn and define as weak alias. [NO_LONG_DOUBLE] (__ynl): New strong alias. * math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak alias. (ynf): Rename to __ynf and define as weak alias. * sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp. (fromfp): Define as weak alias. [NO_LONG_DOUBLE] (__fromfpl): New strong alias. * sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx. (fromfpx): Define as weak alias. [NO_LONG_DOUBLE] (__fromfpxl): New strong alias. * sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to __getpayload and define as weak alias. [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. * sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to __roundeven and define as weak alias. [NO_LONG_DOUBLE] (__roundevenl): New strong alias. * sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to __setpayload. (setpayload): Define as weak alias. [NO_LONG_DOUBLE] (__setpayloadl): New strong alias. * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to __setpayloadsig. (setpayloadsig): Define as weak alias. [NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias. * sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to __totalorder and define as weak alias. [NO_LONG_DOUBLE] (__totalorderl): New strong alias. * sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename to __totalordermag and define as weak alias. [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. * sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp. (ufromfp): Define as weak alias. [NO_LONG_DOUBLE] (__ufromfpl): New strong alias. * sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to __ufromfpx. (ufromfpx): Define as weak alias. [NO_LONG_DOUBLE] (__ufromfpxl): New strong alias. * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload): Rename to __getpayload and define as weak alias. [NO_LONG_DOUBLE] (__getpayloadl): New strong alias. * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven): Rename to __roundeven and define as weak alias. [NO_LONG_DOUBLE] (__roundevenl): New strong alias. * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder): Rename to __totalorder and define as weak alias. [NO_LONG_DOUBLE] (__totalorderl): New strong alias. * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c (totalordermag): Rename to __totalordermag and define as weak alias. [NO_LONG_DOUBLE] (__totalordermagl): New strong alias. * sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New macro. (__roundevenl): Likewise. (__totalorderl): Likewise. (__totalordermagl): Likewise * sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to __fromfpf128. (fromfpf128): Define as weak alias. * sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to __fromfpxf128. (fromfpxf128): Define as weak alias. * sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to __setpayloadf128. (setpayloadf128): Define as weak alias. * sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to __setpayloadsigf128. (setpayloadsigf128): Define as weak alias. * sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to __ufromfpf128. (ufromfpf128): Define as weak alias. * sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to __ufromfpxf128. (ufromfpxf128): Define as weak alias. * sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf. (fromfpf): Define as weak alias. * sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to __fromfpxf. (fromfpxf): Define as weak alias. * sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to __getpayloadf and define as weak alias. * sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to __roundevenf and define as weak alias. * sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to __setpayloadf. (setpayloadf): Define as weak alias. * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to __setpayloadsigf. (setpayloadsigf): Define as weak alias. * sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to __totalorderf and define as weak alias. * sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf): Rename to __totalordermagf and define as weak alias. * sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to __ufromfpf. (ufromfpf): Define as weak alias. * sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to __ufromfpxf. (ufromfpxf): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to __fromfpl. (fromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to __fromfpxl. (fromfpxl): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename to __getpayloadl and define as weak alias. * sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to __roundevenl and define as weak alias. * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to __setpayloadl. (setpayloadl): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to __setpayloadsigl. (setpayloadsigl): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename to __totalorderl and define as weak alias. * sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl): Rename to __totalordermagl and define as weak alias. * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to __ufromfpl. (ufromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to __ufromfpxl. (ufromfpxl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to __fromfpl. (fromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to __fromfpxl. (fromfpxl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl): Rename to __getpayloadl and define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename to __roundevenl and define as weak alias. Call __roundeven instead of roundeven. * sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to __setpayloadl. (setpayloadl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to __setpayloadsigl. (setpayloadsigl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl): Rename to __totalorderl and define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl): Rename to __totalordermagl and define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to __ufromfpl. (ufromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to __ufromfpxl. (ufromfpxl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to __fromfpl. (fromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to __fromfpxl. (fromfpxl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to __getpayloadl and define as weak alias. * sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to __roundevenl and define as weak alias. * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to __setpayloadl. (setpayloadl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to __setpayloadsigl. (setpayloadsigl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to __totalorderl and define as weak alias. * sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl): Rename to __totalordermagl and define as weak alias. * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to __ufromfpl. (ufromfpl): Define as weak alias. * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to __ufromfpxl. (ufromfpxl): Define as weak alias.
This commit is contained in:
parent
503c92c37a
commit
01f2881245
202
ChangeLog
202
ChangeLog
@ -1,3 +1,205 @@
|
|||||||
|
2017-09-14 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* include/math.h (roundeven): Change hidden_proto call to
|
||||||
|
__roundeven.
|
||||||
|
* math/w_j0_compat.c (j0): Rename to __j0 and define as weak
|
||||||
|
alias.
|
||||||
|
[NO_LONG_DOUBLE] (__j0l): New strong alias.
|
||||||
|
(y0): Rename to __y0 and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__y0l): New strong alias.
|
||||||
|
* math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak
|
||||||
|
alias.
|
||||||
|
(y0f): Rename to __y0f and define as weak alias.
|
||||||
|
* math/w_j1_compat.c (j1): Rename to __j1 and define as weak
|
||||||
|
alias.
|
||||||
|
[NO_LONG_DOUBLE] (__j1l): New strong alias.
|
||||||
|
(y1): Rename to __y1 and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__y1l): New strong alias.
|
||||||
|
* math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak
|
||||||
|
alias.
|
||||||
|
(y1f): Rename to __y1f and define as weak alias.
|
||||||
|
* math/w_jn_compat.c (jn): Rename to __jn and define as weak
|
||||||
|
alias.
|
||||||
|
[NO_LONG_DOUBLE] (__jnl): New strong alias.
|
||||||
|
(yn): Rename to __yn and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__ynl): New strong alias.
|
||||||
|
* math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak
|
||||||
|
alias.
|
||||||
|
(ynf): Rename to __ynf and define as weak alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp.
|
||||||
|
(fromfp): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__fromfpl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx.
|
||||||
|
(fromfpx): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__fromfpxl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to
|
||||||
|
__getpayload and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to
|
||||||
|
__roundeven and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to
|
||||||
|
__setpayload.
|
||||||
|
(setpayload): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__setpayloadl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to
|
||||||
|
__setpayloadsig.
|
||||||
|
(setpayloadsig): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to
|
||||||
|
__totalorder and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename
|
||||||
|
to __totalordermag and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp.
|
||||||
|
(ufromfp): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__ufromfpl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to
|
||||||
|
__ufromfpx.
|
||||||
|
(ufromfpx): Define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__ufromfpxl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload):
|
||||||
|
Rename to __getpayload and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven):
|
||||||
|
Rename to __roundeven and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder):
|
||||||
|
Rename to __totalorder and define as weak alias.
|
||||||
|
[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
|
||||||
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
|
||||||
|
(totalordermag): Rename to __totalordermag and define as weak
|
||||||
|
alias.
|
||||||
|
[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
|
||||||
|
* sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New
|
||||||
|
macro.
|
||||||
|
(__roundevenl): Likewise.
|
||||||
|
(__totalorderl): Likewise.
|
||||||
|
(__totalordermagl): Likewise
|
||||||
|
* sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to
|
||||||
|
__fromfpf128.
|
||||||
|
(fromfpf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to
|
||||||
|
__fromfpxf128.
|
||||||
|
(fromfpxf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to
|
||||||
|
__setpayloadf128.
|
||||||
|
(setpayloadf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to
|
||||||
|
__setpayloadsigf128.
|
||||||
|
(setpayloadsigf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to
|
||||||
|
__ufromfpf128.
|
||||||
|
(ufromfpf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to
|
||||||
|
__ufromfpxf128.
|
||||||
|
(ufromfpxf128): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf.
|
||||||
|
(fromfpf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to
|
||||||
|
__fromfpxf.
|
||||||
|
(fromfpxf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to
|
||||||
|
__getpayloadf and define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to
|
||||||
|
__roundevenf and define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to
|
||||||
|
__setpayloadf.
|
||||||
|
(setpayloadf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to
|
||||||
|
__setpayloadsigf.
|
||||||
|
(setpayloadsigf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to
|
||||||
|
__totalorderf and define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf):
|
||||||
|
Rename to __totalordermagf and define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to
|
||||||
|
__ufromfpf.
|
||||||
|
(ufromfpf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to
|
||||||
|
__ufromfpxf.
|
||||||
|
(ufromfpxf): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to
|
||||||
|
__fromfpl.
|
||||||
|
(fromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to
|
||||||
|
__fromfpxl.
|
||||||
|
(fromfpxl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename
|
||||||
|
to __getpayloadl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to
|
||||||
|
__roundevenl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to
|
||||||
|
__setpayloadl.
|
||||||
|
(setpayloadl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to
|
||||||
|
__setpayloadsigl.
|
||||||
|
(setpayloadsigl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename
|
||||||
|
to __totalorderl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl):
|
||||||
|
Rename to __totalordermagl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to
|
||||||
|
__ufromfpl.
|
||||||
|
(ufromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to
|
||||||
|
__ufromfpxl.
|
||||||
|
(ufromfpxl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to
|
||||||
|
__fromfpl.
|
||||||
|
(fromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to
|
||||||
|
__fromfpxl.
|
||||||
|
(fromfpxl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl):
|
||||||
|
Rename to __getpayloadl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename
|
||||||
|
to __roundevenl and define as weak alias. Call __roundeven
|
||||||
|
instead of roundeven.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to
|
||||||
|
__setpayloadl.
|
||||||
|
(setpayloadl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to
|
||||||
|
__setpayloadsigl.
|
||||||
|
(setpayloadsigl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl):
|
||||||
|
Rename to __totalorderl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl):
|
||||||
|
Rename to __totalordermagl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to
|
||||||
|
__ufromfpl.
|
||||||
|
(ufromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to
|
||||||
|
__ufromfpxl.
|
||||||
|
(ufromfpxl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to
|
||||||
|
__fromfpl.
|
||||||
|
(fromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to
|
||||||
|
__fromfpxl.
|
||||||
|
(fromfpxl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to
|
||||||
|
__getpayloadl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to
|
||||||
|
__roundevenl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to
|
||||||
|
__setpayloadl.
|
||||||
|
(setpayloadl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to
|
||||||
|
__setpayloadsigl.
|
||||||
|
(setpayloadsigl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to
|
||||||
|
__totalorderl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl):
|
||||||
|
Rename to __totalordermagl and define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to
|
||||||
|
__ufromfpl.
|
||||||
|
(ufromfpl): Define as weak alias.
|
||||||
|
* sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to
|
||||||
|
__ufromfpxl.
|
||||||
|
(ufromfpxl): Define as weak alias.
|
||||||
|
|
||||||
2017-09-14 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
2017-09-14 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
|
|
||||||
* benchtests/bench-string.h (realloc_bufs): New function.
|
* benchtests/bench-string.h (realloc_bufs): New function.
|
||||||
|
@ -39,7 +39,7 @@ libm_hidden_proto (__issignaling)
|
|||||||
libm_hidden_proto (__issignalingf)
|
libm_hidden_proto (__issignalingf)
|
||||||
libm_hidden_proto (__exp)
|
libm_hidden_proto (__exp)
|
||||||
libm_hidden_proto (__expf)
|
libm_hidden_proto (__expf)
|
||||||
libm_hidden_proto (roundeven)
|
libm_hidden_proto (__roundeven)
|
||||||
|
|
||||||
# ifndef __NO_LONG_DOUBLE_MATH
|
# ifndef __NO_LONG_DOUBLE_MATH
|
||||||
libm_hidden_proto (__fpclassifyl)
|
libm_hidden_proto (__fpclassifyl)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper j0 */
|
/* wrapper j0 */
|
||||||
double
|
double
|
||||||
j0 (double x)
|
__j0 (double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,14 +34,16 @@ j0 (double x)
|
|||||||
|
|
||||||
return __ieee754_j0 (x);
|
return __ieee754_j0 (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__j0, j0)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (j0, j0l)
|
strong_alias (__j0, __j0l)
|
||||||
|
weak_alias (__j0, j0l)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
||||||
/* wrapper y0 */
|
/* wrapper y0 */
|
||||||
double
|
double
|
||||||
y0 (double x)
|
__y0 (double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_)
|
&& _LIB_VERSION != _IEEE_)
|
||||||
@ -65,7 +67,9 @@ y0 (double x)
|
|||||||
|
|
||||||
return __ieee754_y0 (x);
|
return __ieee754_y0 (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__y0, y0)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (y0, y0l)
|
strong_alias (__y0, __y0l)
|
||||||
|
weak_alias (__y0, y0l)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper j0f */
|
/* wrapper j0f */
|
||||||
float
|
float
|
||||||
j0f (float x)
|
__j0f (float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,11 +34,12 @@ j0f (float x)
|
|||||||
|
|
||||||
return __ieee754_j0f (x);
|
return __ieee754_j0f (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__j0f, j0f)
|
||||||
|
|
||||||
|
|
||||||
/* wrapper y0f */
|
/* wrapper y0f */
|
||||||
float
|
float
|
||||||
y0f (float x)
|
__y0f (float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0f)
|
if (__builtin_expect (islessequal (x, 0.0f)
|
||||||
|| isgreater (x, (float) X_TLOSS), 0)
|
|| isgreater (x, (float) X_TLOSS), 0)
|
||||||
@ -63,4 +64,5 @@ y0f (float x)
|
|||||||
|
|
||||||
return __ieee754_y0f (x);
|
return __ieee754_y0f (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__y0f, y0f)
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper j1 */
|
/* wrapper j1 */
|
||||||
double
|
double
|
||||||
j1 (double x)
|
__j1 (double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,14 +34,16 @@ j1 (double x)
|
|||||||
|
|
||||||
return __ieee754_j1 (x);
|
return __ieee754_j1 (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__j1, j1)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (j1, j1l)
|
strong_alias (__j1, __j1l)
|
||||||
|
weak_alias (__j1, j1l)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
||||||
/* wrapper y1 */
|
/* wrapper y1 */
|
||||||
double
|
double
|
||||||
y1 (double x)
|
__y1 (double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_)
|
&& _LIB_VERSION != _IEEE_)
|
||||||
@ -65,7 +67,9 @@ y1 (double x)
|
|||||||
|
|
||||||
return __ieee754_y1 (x);
|
return __ieee754_y1 (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__y1, y1)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (y1, y1l)
|
strong_alias (__y1, __y1l)
|
||||||
|
weak_alias (__y1, y1l)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper j1f */
|
/* wrapper j1f */
|
||||||
float
|
float
|
||||||
j1f (float x)
|
__j1f (float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,11 +34,12 @@ j1f (float x)
|
|||||||
|
|
||||||
return __ieee754_j1f (x);
|
return __ieee754_j1f (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__j1f, j1f)
|
||||||
|
|
||||||
|
|
||||||
/* wrapper y1f */
|
/* wrapper y1f */
|
||||||
float
|
float
|
||||||
y1f (float x)
|
__y1f (float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0f)
|
if (__builtin_expect (islessequal (x, 0.0f)
|
||||||
|| isgreater (x, (float) X_TLOSS), 0)
|
|| isgreater (x, (float) X_TLOSS), 0)
|
||||||
@ -63,4 +64,5 @@ y1f (float x)
|
|||||||
|
|
||||||
return __ieee754_y1f (x);
|
return __ieee754_y1f (x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__y1f, y1f)
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper jn */
|
/* wrapper jn */
|
||||||
double
|
double
|
||||||
jn (int n, double x)
|
__jn (int n, double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,14 +34,16 @@ jn (int n, double x)
|
|||||||
|
|
||||||
return __ieee754_jn (n, x);
|
return __ieee754_jn (n, x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__jn, jn)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (jn, jnl)
|
strong_alias (__jn, __jnl)
|
||||||
|
weak_alias (__jn, jnl)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
||||||
/* wrapper yn */
|
/* wrapper yn */
|
||||||
double
|
double
|
||||||
yn (int n, double x)
|
__yn (int n, double x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_)
|
&& _LIB_VERSION != _IEEE_)
|
||||||
@ -65,7 +67,9 @@ yn (int n, double x)
|
|||||||
|
|
||||||
return __ieee754_yn (n, x);
|
return __ieee754_yn (n, x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__yn, yn)
|
||||||
# ifdef NO_LONG_DOUBLE
|
# ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (yn, ynl)
|
strong_alias (__yn, __ynl)
|
||||||
|
weak_alias (__yn, ynl)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
/* wrapper jnf */
|
/* wrapper jnf */
|
||||||
float
|
float
|
||||||
jnf (int n, float x)
|
__jnf (int n, float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
|
if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
|
||||||
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
&& _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
|
||||||
@ -34,11 +34,12 @@ jnf (int n, float x)
|
|||||||
|
|
||||||
return __ieee754_jnf (n, x);
|
return __ieee754_jnf (n, x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__jnf, jnf)
|
||||||
|
|
||||||
|
|
||||||
/* wrapper ynf */
|
/* wrapper ynf */
|
||||||
float
|
float
|
||||||
ynf (int n, float x)
|
__ynf (int n, float x)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (islessequal (x, 0.0f)
|
if (__builtin_expect (islessequal (x, 0.0f)
|
||||||
|| isgreater (x, (float) X_TLOSS), 0)
|
|| isgreater (x, (float) X_TLOSS), 0)
|
||||||
@ -63,4 +64,5 @@ ynf (int n, float x)
|
|||||||
|
|
||||||
return __ieee754_ynf (n, x);
|
return __ieee754_ynf (n, x);
|
||||||
}
|
}
|
||||||
|
weak_alias (__ynf, ynf)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfp
|
#define FUNC __fromfp
|
||||||
#include <s_fromfp_main.c>
|
#include <s_fromfp_main.c>
|
||||||
|
weak_alias (__fromfp, fromfp)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (fromfp, fromfpl)
|
strong_alias (__fromfp, __fromfpl)
|
||||||
|
weak_alias (__fromfp, fromfpl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpx
|
#define FUNC __fromfpx
|
||||||
#include <s_fromfp_main.c>
|
#include <s_fromfp_main.c>
|
||||||
|
weak_alias (__fromfpx, fromfpx)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (fromfpx, fromfpxl)
|
strong_alias (__fromfpx, __fromfpxl)
|
||||||
|
weak_alias (__fromfpx, fromfpxl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
double
|
double
|
||||||
getpayload (const double *x)
|
__getpayload (const double *x)
|
||||||
{
|
{
|
||||||
uint32_t hx, lx;
|
uint32_t hx, lx;
|
||||||
EXTRACT_WORDS (hx, lx, *x);
|
EXTRACT_WORDS (hx, lx, *x);
|
||||||
@ -32,6 +32,8 @@ getpayload (const double *x)
|
|||||||
return 0.0f;
|
return 0.0f;
|
||||||
return (double) ix;
|
return (double) ix;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayload, getpayload)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (getpayload, getpayloadl)
|
strong_alias (__getpayload, __getpayloadl)
|
||||||
|
weak_alias (__getpayload, getpayloadl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define MAX_EXP (2 * BIAS + 1)
|
#define MAX_EXP (2 * BIAS + 1)
|
||||||
|
|
||||||
double
|
double
|
||||||
roundeven (double x)
|
__roundeven (double x)
|
||||||
{
|
{
|
||||||
uint32_t hx, lx, uhx;
|
uint32_t hx, lx, uhx;
|
||||||
EXTRACT_WORDS (hx, lx, x);
|
EXTRACT_WORDS (hx, lx, x);
|
||||||
@ -100,7 +100,9 @@ roundeven (double x)
|
|||||||
INSERT_WORDS (x, hx, lx);
|
INSERT_WORDS (x, hx, lx);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
hidden_def (roundeven)
|
hidden_def (__roundeven)
|
||||||
|
weak_alias (__roundeven, roundeven)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (roundeven, roundevenl)
|
strong_alias (__roundeven, __roundevenl)
|
||||||
|
weak_alias (__roundeven, roundevenl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayload
|
#define FUNC __setpayload
|
||||||
#include <s_setpayload_main.c>
|
#include <s_setpayload_main.c>
|
||||||
|
weak_alias (__setpayload, setpayload)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (setpayload, setpayloadl)
|
strong_alias (__setpayload, __setpayloadl)
|
||||||
|
weak_alias (__setpayload, setpayloadl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsig
|
#define FUNC __setpayloadsig
|
||||||
#include <s_setpayload_main.c>
|
#include <s_setpayload_main.c>
|
||||||
|
weak_alias (__setpayloadsig, setpayloadsig)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (setpayloadsig, setpayloadsigl)
|
strong_alias (__setpayloadsig, __setpayloadsigl)
|
||||||
|
weak_alias (__setpayloadsig, setpayloadsigl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorder (double x, double y)
|
__totalorder (double x, double y)
|
||||||
{
|
{
|
||||||
int32_t hx, hy;
|
int32_t hx, hy;
|
||||||
uint32_t lx, ly;
|
uint32_t lx, ly;
|
||||||
@ -49,6 +49,8 @@ totalorder (double x, double y)
|
|||||||
ly ^= hy_sign;
|
ly ^= hy_sign;
|
||||||
return hx < hy || (hx == hy && lx <= ly);
|
return hx < hy || (hx == hy && lx <= ly);
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorder, totalorder)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (totalorder, totalorderl)
|
strong_alias (__totalorder, __totalorderl)
|
||||||
|
weak_alias (__totalorder, totalorderl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermag (double x, double y)
|
__totalordermag (double x, double y)
|
||||||
{
|
{
|
||||||
uint32_t hx, hy;
|
uint32_t hx, hy;
|
||||||
uint32_t lx, ly;
|
uint32_t lx, ly;
|
||||||
@ -44,6 +44,8 @@ totalordermag (double x, double y)
|
|||||||
#endif
|
#endif
|
||||||
return hx < hy || (hx == hy && lx <= ly);
|
return hx < hy || (hx == hy && lx <= ly);
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermag, totalordermag)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (totalordermag, totalordermagl)
|
strong_alias (__totalordermag, __totalordermagl)
|
||||||
|
weak_alias (__totalordermag, totalordermagl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfp
|
#define FUNC __ufromfp
|
||||||
#include <s_fromfp_main.c>
|
#include <s_fromfp_main.c>
|
||||||
|
weak_alias (__ufromfp, ufromfp)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (ufromfp, ufromfpl)
|
strong_alias (__ufromfp, __ufromfpl)
|
||||||
|
weak_alias (__ufromfp, ufromfpl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpx
|
#define FUNC __ufromfpx
|
||||||
#include <s_fromfp_main.c>
|
#include <s_fromfp_main.c>
|
||||||
|
weak_alias (__ufromfpx, ufromfpx)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (ufromfpx, ufromfpxl)
|
strong_alias (__ufromfpx, __ufromfpxl)
|
||||||
|
weak_alias (__ufromfpx, ufromfpxl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -21,13 +21,15 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
double
|
double
|
||||||
getpayload (const double *x)
|
__getpayload (const double *x)
|
||||||
{
|
{
|
||||||
uint64_t ix;
|
uint64_t ix;
|
||||||
EXTRACT_WORDS64 (ix, *x);
|
EXTRACT_WORDS64 (ix, *x);
|
||||||
ix &= 0x7ffffffffffffULL;
|
ix &= 0x7ffffffffffffULL;
|
||||||
return (double) ix;
|
return (double) ix;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayload, getpayload)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (getpayload, getpayloadl)
|
strong_alias (__getpayload, __getpayloadl)
|
||||||
|
weak_alias (__getpayload, getpayloadl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define MAX_EXP (2 * BIAS + 1)
|
#define MAX_EXP (2 * BIAS + 1)
|
||||||
|
|
||||||
double
|
double
|
||||||
roundeven (double x)
|
__roundeven (double x)
|
||||||
{
|
{
|
||||||
uint64_t ix, ux;
|
uint64_t ix, ux;
|
||||||
EXTRACT_WORDS64 (ix, x);
|
EXTRACT_WORDS64 (ix, x);
|
||||||
@ -66,7 +66,9 @@ roundeven (double x)
|
|||||||
INSERT_WORDS64 (x, ix);
|
INSERT_WORDS64 (x, ix);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
hidden_def (roundeven)
|
hidden_def (__roundeven)
|
||||||
|
weak_alias (__roundeven, roundeven)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (roundeven, roundevenl)
|
strong_alias (__roundeven, __roundevenl)
|
||||||
|
weak_alias (__roundeven, roundevenl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorder (double x, double y)
|
__totalorder (double x, double y)
|
||||||
{
|
{
|
||||||
int64_t ix, iy;
|
int64_t ix, iy;
|
||||||
EXTRACT_WORDS64 (ix, x);
|
EXTRACT_WORDS64 (ix, x);
|
||||||
@ -45,6 +45,8 @@ totalorder (double x, double y)
|
|||||||
iy ^= iy_sign >> 1;
|
iy ^= iy_sign >> 1;
|
||||||
return ix <= iy;
|
return ix <= iy;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorder, totalorder)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (totalorder, totalorderl)
|
strong_alias (__totalorder, __totalorderl)
|
||||||
|
weak_alias (__totalorder, totalorderl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermag (double x, double y)
|
__totalordermag (double x, double y)
|
||||||
{
|
{
|
||||||
uint64_t ix, iy;
|
uint64_t ix, iy;
|
||||||
EXTRACT_WORDS64 (ix, x);
|
EXTRACT_WORDS64 (ix, x);
|
||||||
@ -42,6 +42,8 @@ totalordermag (double x, double y)
|
|||||||
#endif
|
#endif
|
||||||
return ix <= iy;
|
return ix <= iy;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermag, totalordermag)
|
||||||
#ifdef NO_LONG_DOUBLE
|
#ifdef NO_LONG_DOUBLE
|
||||||
weak_alias (totalordermag, totalordermagl)
|
strong_alias (__totalordermag, __totalordermagl)
|
||||||
|
weak_alias (__totalordermag, totalordermagl)
|
||||||
#endif
|
#endif
|
||||||
|
@ -199,6 +199,7 @@
|
|||||||
#define __fpclassifyl __fpclassifyf128
|
#define __fpclassifyl __fpclassifyf128
|
||||||
#define __frexpl __frexpf128
|
#define __frexpl __frexpf128
|
||||||
#define __gammal_r_finite __gammaf128_r_finite
|
#define __gammal_r_finite __gammaf128_r_finite
|
||||||
|
#define __getpayloadl __getpayloadf128
|
||||||
#define __isinfl __isinff128
|
#define __isinfl __isinff128
|
||||||
#define __isnanl __isnanf128
|
#define __isnanl __isnanf128
|
||||||
#define __issignalingl __issignalingf128
|
#define __issignalingl __issignalingf128
|
||||||
@ -217,6 +218,7 @@
|
|||||||
#define __nextupl __nextupf128
|
#define __nextupl __nextupf128
|
||||||
#define __remquol __remquof128
|
#define __remquol __remquof128
|
||||||
#define __rintl __rintf128
|
#define __rintl __rintf128
|
||||||
|
#define __roundevenl __roundevenf128
|
||||||
#define __roundl __roundf128
|
#define __roundl __roundf128
|
||||||
#define __scalblnl __scalblnf128
|
#define __scalblnl __scalblnf128
|
||||||
#define __scalbnl __scalbnf128
|
#define __scalbnl __scalbnf128
|
||||||
@ -226,6 +228,8 @@
|
|||||||
#define __sqrtl __sqrtf128
|
#define __sqrtl __sqrtf128
|
||||||
#define __tanhl __tanhf128
|
#define __tanhl __tanhf128
|
||||||
#define __tanl __tanf128
|
#define __tanl __tanf128
|
||||||
|
#define __totalorderl __totalorderf128
|
||||||
|
#define __totalordermagl __totalordermagf128
|
||||||
#define __truncl __truncf128
|
#define __truncl __truncf128
|
||||||
#define __x2y2m1l __x2y2m1f128
|
#define __x2y2m1l __x2y2m1f128
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfpf128
|
#define FUNC __fromfpf128
|
||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#include "../ldbl-128/s_fromfpl_main.c"
|
#include "../ldbl-128/s_fromfpl_main.c"
|
||||||
|
weak_alias (__fromfpf128, fromfpf128)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpxf128
|
#define FUNC __fromfpxf128
|
||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#include "../ldbl-128/s_fromfpl_main.c"
|
#include "../ldbl-128/s_fromfpl_main.c"
|
||||||
|
weak_alias (__fromfpxf128, fromfpxf128)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayloadf128
|
#define FUNC __setpayloadf128
|
||||||
#include "../ldbl-128/s_setpayloadl_main.c"
|
#include "../ldbl-128/s_setpayloadl_main.c"
|
||||||
|
weak_alias (__setpayloadf128, setpayloadf128)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsigf128
|
#define FUNC __setpayloadsigf128
|
||||||
#include "../ldbl-128/s_setpayloadl_main.c"
|
#include "../ldbl-128/s_setpayloadl_main.c"
|
||||||
|
weak_alias (__setpayloadsigf128, setpayloadsigf128)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfpf128
|
#define FUNC __ufromfpf128
|
||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#include "../ldbl-128/s_fromfpl_main.c"
|
#include "../ldbl-128/s_fromfpl_main.c"
|
||||||
|
weak_alias (__ufromfpf128, ufromfpf128)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpxf128
|
#define FUNC __ufromfpxf128
|
||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
#include "../ldbl-128/s_fromfpl_main.c"
|
#include "../ldbl-128/s_fromfpl_main.c"
|
||||||
|
weak_alias (__ufromfpxf128, ufromfpxf128)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfpf
|
#define FUNC __fromfpf
|
||||||
#include <s_fromfpf_main.c>
|
#include <s_fromfpf_main.c>
|
||||||
|
weak_alias (__fromfpf, fromfpf)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpxf
|
#define FUNC __fromfpxf
|
||||||
#include <s_fromfpf_main.c>
|
#include <s_fromfpf_main.c>
|
||||||
|
weak_alias (__fromfpxf, fromfpxf)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
float
|
float
|
||||||
getpayloadf (const float *x)
|
__getpayloadf (const float *x)
|
||||||
{
|
{
|
||||||
uint32_t ix;
|
uint32_t ix;
|
||||||
GET_FLOAT_WORD (ix, *x);
|
GET_FLOAT_WORD (ix, *x);
|
||||||
@ -31,3 +31,4 @@ getpayloadf (const float *x)
|
|||||||
return 0.0f;
|
return 0.0f;
|
||||||
return (float) ix;
|
return (float) ix;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayloadf, getpayloadf)
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define MAX_EXP (2 * BIAS + 1)
|
#define MAX_EXP (2 * BIAS + 1)
|
||||||
|
|
||||||
float
|
float
|
||||||
roundevenf (float x)
|
__roundevenf (float x)
|
||||||
{
|
{
|
||||||
uint32_t ix, ux;
|
uint32_t ix, ux;
|
||||||
GET_FLOAT_WORD (ix, x);
|
GET_FLOAT_WORD (ix, x);
|
||||||
@ -66,3 +66,4 @@ roundevenf (float x)
|
|||||||
SET_FLOAT_WORD (x, ix);
|
SET_FLOAT_WORD (x, ix);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
weak_alias (__roundevenf, roundevenf)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayloadf
|
#define FUNC __setpayloadf
|
||||||
#include <s_setpayloadf_main.c>
|
#include <s_setpayloadf_main.c>
|
||||||
|
weak_alias (__setpayloadf, setpayloadf)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsigf
|
#define FUNC __setpayloadsigf
|
||||||
#include <s_setpayloadf_main.c>
|
#include <s_setpayloadf_main.c>
|
||||||
|
weak_alias (__setpayloadsigf, setpayloadsigf)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorderf (float x, float y)
|
__totalorderf (float x, float y)
|
||||||
{
|
{
|
||||||
int32_t ix, iy;
|
int32_t ix, iy;
|
||||||
GET_FLOAT_WORD (ix, x);
|
GET_FLOAT_WORD (ix, x);
|
||||||
@ -44,3 +44,4 @@ totalorderf (float x, float y)
|
|||||||
iy ^= iy_sign >> 1;
|
iy ^= iy_sign >> 1;
|
||||||
return ix <= iy;
|
return ix <= iy;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorderf, totalorderf)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermagf (float x, float y)
|
__totalordermagf (float x, float y)
|
||||||
{
|
{
|
||||||
uint32_t ix, iy;
|
uint32_t ix, iy;
|
||||||
GET_FLOAT_WORD (ix, x);
|
GET_FLOAT_WORD (ix, x);
|
||||||
@ -42,3 +42,4 @@ totalordermagf (float x, float y)
|
|||||||
#endif
|
#endif
|
||||||
return ix <= iy;
|
return ix <= iy;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermagf, totalordermagf)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfpf
|
#define FUNC __ufromfpf
|
||||||
#include <s_fromfpf_main.c>
|
#include <s_fromfpf_main.c>
|
||||||
|
weak_alias (__ufromfpf, ufromfpf)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpxf
|
#define FUNC __ufromfpxf
|
||||||
#include <s_fromfpf_main.c>
|
#include <s_fromfpf_main.c>
|
||||||
|
weak_alias (__ufromfpxf, ufromfpxf)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfpl
|
#define FUNC __fromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpl, fromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpxl
|
#define FUNC __fromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpxl, fromfpxl)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
_Float128
|
_Float128
|
||||||
getpayloadl (const _Float128 *x)
|
__getpayloadl (const _Float128 *x)
|
||||||
{
|
{
|
||||||
uint64_t hx, lx;
|
uint64_t hx, lx;
|
||||||
GET_LDOUBLE_WORDS64 (hx, lx, *x);
|
GET_LDOUBLE_WORDS64 (hx, lx, *x);
|
||||||
@ -55,3 +55,4 @@ getpayloadl (const _Float128 *x)
|
|||||||
SET_LDOUBLE_WORDS64 (ret, hx, lx);
|
SET_LDOUBLE_WORDS64 (ret, hx, lx);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayloadl, getpayloadl)
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define MAX_EXP (2 * BIAS + 1)
|
#define MAX_EXP (2 * BIAS + 1)
|
||||||
|
|
||||||
_Float128
|
_Float128
|
||||||
roundevenl (_Float128 x)
|
__roundevenl (_Float128 x)
|
||||||
{
|
{
|
||||||
uint64_t hx, lx, uhx;
|
uint64_t hx, lx, uhx;
|
||||||
GET_LDOUBLE_WORDS64 (hx, lx, x);
|
GET_LDOUBLE_WORDS64 (hx, lx, x);
|
||||||
@ -100,3 +100,4 @@ roundevenl (_Float128 x)
|
|||||||
SET_LDOUBLE_WORDS64 (x, hx, lx);
|
SET_LDOUBLE_WORDS64 (x, hx, lx);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
weak_alias (__roundevenl, roundevenl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayloadl
|
#define FUNC __setpayloadl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadl, setpayloadl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsigl
|
#define FUNC __setpayloadsigl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadsigl, setpayloadsigl)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorderl (_Float128 x, _Float128 y)
|
__totalorderl (_Float128 x, _Float128 y)
|
||||||
{
|
{
|
||||||
int64_t hx, hy;
|
int64_t hx, hy;
|
||||||
uint64_t lx, ly;
|
uint64_t lx, ly;
|
||||||
@ -52,3 +52,4 @@ totalorderl (_Float128 x, _Float128 y)
|
|||||||
ly ^= hy_sign;
|
ly ^= hy_sign;
|
||||||
return hx < hy || (hx == hy && lx <= ly);
|
return hx < hy || (hx == hy && lx <= ly);
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorderl, totalorderl)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermagl (_Float128 x, _Float128 y)
|
__totalordermagl (_Float128 x, _Float128 y)
|
||||||
{
|
{
|
||||||
uint64_t hx, hy;
|
uint64_t hx, hy;
|
||||||
uint64_t lx, ly;
|
uint64_t lx, ly;
|
||||||
@ -46,3 +46,4 @@ totalordermagl (_Float128 x, _Float128 y)
|
|||||||
#endif
|
#endif
|
||||||
return hx < hy || (hx == hy && lx <= ly);
|
return hx < hy || (hx == hy && lx <= ly);
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermagl, totalordermagl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfpl
|
#define FUNC __ufromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpl, ufromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpxl
|
#define FUNC __ufromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpxl, ufromfpxl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfpl
|
#define FUNC __fromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpl, fromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpxl
|
#define FUNC __fromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpxl, fromfpxl)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
long double
|
long double
|
||||||
getpayloadl (const long double *x)
|
__getpayloadl (const long double *x)
|
||||||
{
|
{
|
||||||
double xhi = ldbl_high (*x);
|
double xhi = ldbl_high (*x);
|
||||||
uint64_t ix;
|
uint64_t ix;
|
||||||
@ -32,3 +32,4 @@ getpayloadl (const long double *x)
|
|||||||
return 0.0L;
|
return 0.0L;
|
||||||
return (long double) ix;
|
return (long double) ix;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayloadl, getpayloadl)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <math_private.h>
|
#include <math_private.h>
|
||||||
|
|
||||||
long double
|
long double
|
||||||
roundevenl (long double x)
|
__roundevenl (long double x)
|
||||||
{
|
{
|
||||||
double xh, xl, hi;
|
double xh, xl, hi;
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ roundevenl (long double x)
|
|||||||
|
|
||||||
if (xh != 0 && isfinite (xh))
|
if (xh != 0 && isfinite (xh))
|
||||||
{
|
{
|
||||||
hi = roundeven (xh);
|
hi = __roundeven (xh);
|
||||||
if (hi != xh)
|
if (hi != xh)
|
||||||
{
|
{
|
||||||
/* The high part is not an integer; the low part only
|
/* The high part is not an integer; the low part only
|
||||||
@ -56,7 +56,7 @@ roundevenl (long double x)
|
|||||||
part to nearest, ties round to even, is always correct,
|
part to nearest, ties round to even, is always correct,
|
||||||
as a high part that is an odd integer together with a low
|
as a high part that is an odd integer together with a low
|
||||||
part with magnitude 0.5 is not a valid long double. */
|
part with magnitude 0.5 is not a valid long double. */
|
||||||
xl = roundeven (xl);
|
xl = __roundeven (xl);
|
||||||
xh = hi;
|
xh = hi;
|
||||||
ldbl_canonicalize_int (&xh, &xl);
|
ldbl_canonicalize_int (&xh, &xl);
|
||||||
}
|
}
|
||||||
@ -67,3 +67,4 @@ roundevenl (long double x)
|
|||||||
|
|
||||||
return ldbl_pack (xh, xl);
|
return ldbl_pack (xh, xl);
|
||||||
}
|
}
|
||||||
|
weak_alias (__roundevenl, roundevenl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayloadl
|
#define FUNC __setpayloadl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadl, setpayloadl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsigl
|
#define FUNC __setpayloadsigl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadsigl, setpayloadsigl)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorderl (long double x, long double y)
|
__totalorderl (long double x, long double y)
|
||||||
{
|
{
|
||||||
double xhi, xlo, yhi, ylo;
|
double xhi, xlo, yhi, ylo;
|
||||||
int64_t hx, hy, lx, ly;
|
int64_t hx, hy, lx, ly;
|
||||||
@ -60,3 +60,4 @@ totalorderl (long double x, long double y)
|
|||||||
ly ^= ly_sign >> 1;
|
ly ^= ly_sign >> 1;
|
||||||
return lx <= ly;
|
return lx <= ly;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorderl, totalorderl)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermagl (long double x, long double y)
|
__totalordermagl (long double x, long double y)
|
||||||
{
|
{
|
||||||
double xhi, xlo, yhi, ylo;
|
double xhi, xlo, yhi, ylo;
|
||||||
int64_t hx, hy, lx, ly;
|
int64_t hx, hy, lx, ly;
|
||||||
@ -62,3 +62,4 @@ totalordermagl (long double x, long double y)
|
|||||||
ly ^= ly_sign >> 1;
|
ly ^= ly_sign >> 1;
|
||||||
return lx <= ly;
|
return lx <= ly;
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermagl, totalordermagl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfpl
|
#define FUNC __ufromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpl, ufromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpxl
|
#define FUNC __ufromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpxl, ufromfpxl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC fromfpl
|
#define FUNC __fromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpl, fromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 0
|
#define UNSIGNED 0
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC fromfpxl
|
#define FUNC __fromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__fromfpxl, fromfpxl)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
long double
|
long double
|
||||||
getpayloadl (const long double *x)
|
__getpayloadl (const long double *x)
|
||||||
{
|
{
|
||||||
uint16_t se __attribute__ ((unused));
|
uint16_t se __attribute__ ((unused));
|
||||||
uint32_t hx, lx;
|
uint32_t hx, lx;
|
||||||
@ -30,3 +30,4 @@ getpayloadl (const long double *x)
|
|||||||
uint64_t ix = ((uint64_t) hx << 32) | lx;
|
uint64_t ix = ((uint64_t) hx << 32) | lx;
|
||||||
return (long double) ix;
|
return (long double) ix;
|
||||||
}
|
}
|
||||||
|
weak_alias (__getpayloadl, getpayloadl)
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define MAX_EXP (2 * BIAS + 1)
|
#define MAX_EXP (2 * BIAS + 1)
|
||||||
|
|
||||||
long double
|
long double
|
||||||
roundevenl (long double x)
|
__roundevenl (long double x)
|
||||||
{
|
{
|
||||||
uint16_t se;
|
uint16_t se;
|
||||||
uint32_t hx, lx;
|
uint32_t hx, lx;
|
||||||
@ -122,3 +122,4 @@ roundevenl (long double x)
|
|||||||
SET_LDOUBLE_WORDS (x, se, hx, lx);
|
SET_LDOUBLE_WORDS (x, se, hx, lx);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
weak_alias (__roundevenl, roundevenl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 0
|
#define SIG 0
|
||||||
#define FUNC setpayloadl
|
#define FUNC __setpayloadl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadl, setpayloadl)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#define SIG 1
|
#define SIG 1
|
||||||
#define FUNC setpayloadsigl
|
#define FUNC __setpayloadsigl
|
||||||
#include <s_setpayloadl_main.c>
|
#include <s_setpayloadl_main.c>
|
||||||
|
weak_alias (__setpayloadsigl, setpayloadsigl)
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalorderl (long double x, long double y)
|
__totalorderl (long double x, long double y)
|
||||||
{
|
{
|
||||||
int16_t expx, expy;
|
int16_t expx, expy;
|
||||||
uint32_t hx, hy;
|
uint32_t hx, hy;
|
||||||
@ -55,3 +55,4 @@ totalorderl (long double x, long double y)
|
|||||||
ly ^= y_sign;
|
ly ^= y_sign;
|
||||||
return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
|
return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalorderl, totalorderl)
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
totalordermagl (long double x, long double y)
|
__totalordermagl (long double x, long double y)
|
||||||
{
|
{
|
||||||
uint16_t expx, expy;
|
uint16_t expx, expy;
|
||||||
uint32_t hx, hy;
|
uint32_t hx, hy;
|
||||||
@ -49,3 +49,4 @@ totalordermagl (long double x, long double y)
|
|||||||
#endif
|
#endif
|
||||||
return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
|
return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
|
||||||
}
|
}
|
||||||
|
weak_alias (__totalordermagl, totalordermagl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 0
|
#define INEXACT 0
|
||||||
#define FUNC ufromfpl
|
#define FUNC __ufromfpl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpl, ufromfpl)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define UNSIGNED 1
|
#define UNSIGNED 1
|
||||||
#define INEXACT 1
|
#define INEXACT 1
|
||||||
#define FUNC ufromfpxl
|
#define FUNC __ufromfpxl
|
||||||
#include <s_fromfpl_main.c>
|
#include <s_fromfpl_main.c>
|
||||||
|
weak_alias (__ufromfpxl, ufromfpxl)
|
||||||
|
Loading…
Reference in New Issue
Block a user