Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
git-mirror
/
glibc
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
0
Security
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security
Insights
Files
91682d7
abilist
aout
argp
assert
bare
bits
catgets
conf
conform
crypt
csu
ctype
debug
dirent
dlfcn
elf
gmon
gnulib
grp
hesiod
hurd
iconv
iconvdata
include
inet
intl
io
libidn
libio
linuxthreads
linuxthreads_db
locale
localedata
login
mach
malloc
manual
math
misc
nis
nptl
nptl_db
nscd
nss
po
posix
pwd
resolv
resource
rt
scripts
setjmp
shadow
signal
socket
soft-fp
stdio-common
stdlib
streams
string
sunrpc
sysdeps
alpha
arm
generic
gnu
hppa
i386
ia64
bits
elf
fpu
bits
Dist
Makefile
README
Versions
branred.c
doasin.c
dosincos.c
e_acos.S
e_acosf.S
e_acosh.S
e_acoshf.S
e_acoshl.S
e_acosl.S
e_asin.S
e_asinf.S
e_asinl.S
e_atan2.S
e_atan2f.S
e_atan2l.c
e_atanh.S
e_atanhf.S
e_atanhl.S
e_cosh.S
e_coshf.S
e_coshl.S
e_exp.S
e_exp10.S
e_exp10f.S
e_exp10l.S
e_exp2.S
e_exp2f.S
e_exp2l.S
e_expf.S
e_expl.c
e_fmod.S
e_fmodf.S
e_fmodl.S
e_gamma_r.c
e_gammaf_r.c
e_gammal_r.c
e_hypot.S
e_hypotf.S
e_hypotl.S
e_lgamma_r.c
e_lgammaf_r.c
e_lgammal_r.c
e_log.S
e_log10.c
e_log10f.c
e_log10l.c
e_log2.S
e_log2f.S
e_log2l.S
e_logf.S
e_logl.S
e_pow.S
e_powf.S
e_powl.S
e_rem_pio2.c
e_rem_pio2f.c
e_remainder.S
e_remainderf.S
e_remainderl.S
e_scalb.S
e_scalbf.S
e_scalbl.S
e_sinh.S
e_sinhf.S
e_sinhl.S
e_sqrt.S
e_sqrtf.S
e_sqrtl.S
fclrexcpt.c
fedisblxcpt.c
feenablxcpt.c
fegetenv.c
fegetexcept.c
fegetround.c
feholdexcpt.c
fesetenv.c
fesetround.c
feupdateenv.c
fgetexcptflg.c
fraiseexcpt.c
fsetexcptflg.c
ftestexcept.c
gen_import_file_list
halfulp.c
import_check
import_diffs
import_file.awk
import_intel_libm
k_rem_pio2.c
k_rem_pio2f.c
k_rem_pio2l.c
libc_libm_error.c
libm-symbols.h
libm-test-ulps
libm_cpu_defs.h
libm_error.c
libm_error_codes.h
libm_frexp.S
libm_frexp4.S
libm_frexp4f.S
libm_frexp4l.S
libm_frexpf.S
libm_frexpl.S
libm_lgamma.S
libm_lgammaf.S
libm_lgammal.S
libm_reduce.S
libm_scalblnf.S
libm_sincos.S
libm_sincos_large.S
libm_sincosf.S
libm_sincosl.S
libm_support.h
libm_tan.S
math_ldbl.h
mpa.c
mpatan.c
mpatan2.c
mpexp.c
mplog.c
mpsqrt.c
mptan.c
printf_fphex.c
s_asinh.S
s_asinhf.S
s_asinhl.S
s_atan.S
s_atanf.S
s_atanl.S
s_cbrt.S
s_cbrtf.S
s_cbrtl.S
s_ceil.S
s_ceilf.S
s_ceill.S
s_copysign.S
s_copysignf.S
s_copysignl.S
s_cos.S
s_cosf.S
s_cosl.S
s_erf.S
s_erfc.S
s_erfcf.S
s_erfcl.S
s_erff.S
s_erfl.S
s_expm1.S
s_expm1f.S
s_expm1l.S
s_fabs.S
s_fabsf.S
s_fabsl.S
s_fdim.S
s_fdimf.S
s_fdiml.S
s_finite.S
s_finitef.S
s_finitel.S
s_floor.S
s_floorf.S
s_floorl.S
s_fma.S
s_fmaf.S
s_fmal.S
s_fmax.S
s_fmaxf.S
s_fmaxl.S
s_fpclassify.S
s_fpclassifyf.S
s_fpclassifyl.S
s_frexp.c
s_frexpf.c
s_frexpl.c
s_ilogb.S
s_ilogbf.S
s_ilogbl.S
s_isinf.S
s_isinff.S
s_isinfl.S
s_isnan.S
s_isnanf.S
s_isnanl.S
s_ldexp.c
s_ldexpf.c
s_ldexpl.c
s_libm_ldexp.S
s_libm_ldexpf.S
s_libm_ldexpl.S
s_libm_scalbn.S
s_libm_scalbnf.S
s_libm_scalbnl.S
s_log1p.S
s_log1pf.S
s_log1pl.S
s_logb.S
s_logbf.S
s_logbl.S
s_matherrf.c
s_matherrl.c
s_modf.S
s_modff.S
s_modfl.S
s_nearbyint.S
s_nearbyintf.S
s_nearbyintl.S
s_nextafter.S
s_nextafterf.S
s_nextafterl.S
s_nexttoward.S
s_nexttowardf.S
s_nexttowardl.S
s_rint.S
s_rintf.S
s_rintl.S
s_round.S
s_roundf.S
s_roundl.S
s_scalblnf.c
s_scalbn.c
s_scalbnf.c
s_scalbnl.c
s_signbit.S
s_signbitf.S
s_signbitl.S
s_significand.S
s_significandf.S
s_significandl.S
s_sin.c
s_sincos.c
s_sincosf.c
s_sincosl.c
s_sinf.c
s_sinl.c
s_tan.S
s_tanf.S
s_tanh.S
s_tanhf.S
s_tanhl.S
s_tanl.S
s_trunc.S
s_truncf.S
s_truncl.S
sincos32.c
slowexp.c
slowpow.c
t_exp.c
w_acos.c
w_acosf.c
w_acosh.c
w_acoshf.c
w_acoshl.c
w_acosl.c
w_asin.c
w_asinf.c
w_asinl.c
w_atan2.c
w_atan2f.c
w_atan2l.c
w_atanh.c
w_atanhf.c
w_atanhl.c
w_cosh.c
w_coshf.c
w_coshl.c
w_exp.c
w_exp10.c
w_exp10f.c
w_exp10l.c
w_exp2.c
w_exp2f.c
w_exp2l.c
w_expf.c
w_expl.c
w_fmod.c
w_fmodf.c
w_fmodl.c
w_hypot.c
w_hypotf.c
w_hypotl.c
w_lgamma.c
w_lgamma_r.c
w_lgammaf.c
w_lgammaf_r.c
w_lgammal.c
w_lgammal_r.c
w_log.c
w_log10.c
w_log10f.c
w_log10l.c
w_log2.c
w_log2f.c
w_log2l.c
w_logf.c
w_logl.c
w_pow.c
w_powf.c
w_powl.c
w_remainder.c
w_remainderf.c
w_remainderl.c
w_scalb.c
w_scalbf.c
w_scalbl.c
w_sinh.c
w_sinhf.c
w_sinhl.c
w_sqrt.c
w_sqrtf.c
w_sqrtl.c
w_tgamma.S
w_tgammaf.S
w_tgammal.S
Dist
Implies
Makefile
Versions
_mcount.S
abort-instr.h
backtrace.c
bcopy.S
bzero.S
dl-dtprocnum.h
dl-fptr.h
dl-lookupcfg.h
dl-machine.h
dl-sysdep.h
dl-tls.h
dl-trampoline.S
gccframe.h
hp-timing.c
hp-timing.h
htonl.S
htons.S
ia64libgcc.S
ieee754.h
libc-tls.c
machine-gmon.h
memccpy.S
memchr.S
memcmp.S
memcpy.S
memmove.S
memset.S
memusage.h
softpipe.h
stackinfo.h
strcat.c
strchr.S
strcmp.S
strcpy.S
strlen.S
strncmp.S
strncpy.S
sysdep.h
ieee754
m68k
mach
mips
posix
powerpc
pthread
rs6000
s390
sh
sparc
unix
wordsize-32
wordsize-64
x86_64
linkmap.h
sysvipc
termios
time
timezone
wcsmbs
wctype
.cvsignore
BUGS
CANCEL-FCT-WAIVE
CANCEL-FILE-WAIVE
CONFORMANCE
COPYING
COPYING.LIB
ChangeLog
ChangeLog.1
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
FAQ
FAQ.in
INSTALL
INTERFACE
LICENSES
MakeTAGS
Makeconfig
Makefile
Makefile.in
Makerules
NAMESPACE
NEWS
NOTES
PROJECTS
README
README.libm
README.template
Rules
Versions.def
WUR-REPORT
abi-tags
aclocal.m4
config-name.in
config.h.in
config.make.in
configure
configure.in
cppflags-iterator.mk
extra-lib.mk
extra-modules.mk
o-iterator.mk
shlib-versions
test-skeleton.c
tls.make.c
version.h
Breadcrumbs
glibc
/
sysdeps
/
ia64
/
fpu
/
libm_cpu_defs.h
Copy path
Blame
Blame
Latest commit
History
History
156 lines (134 loc) · 5.27 KB
Breadcrumbs
glibc
/
sysdeps
/
ia64
/
fpu
/
libm_cpu_defs.h
Top
File metadata and controls
Code
Blame
156 lines (134 loc) · 5.27 KB
Raw
/* file: libm_cpu_defs.h */ // Copyright (c) 2000 - 2004, Intel Corporation // All rights reserved. // // Contributed 2000 by the Intel Numerics Group, Intel Corporation // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // * Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // // * The name of Intel Corporation may not be used to endorse or promote // products derived from this software without specific prior written // permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Intel Corporation is the author of this code, and requests that all // problem reports or change requests be submitted to it directly at // http://www.intel.com/software/products/opensource/libraries/num.htm. // #ifndef __LIBM_CPU_DEFS__H_INCLUDED__ #define __LIBM_CPU_DEFS__H_INCLUDED__ void __libm_sincos_pi4(double,double*,double*,int); void __libm_y0y1(double , double *, double *); void __libm_j0j1(double , double *, double *); double __libm_j0(double); double __libm_j1(double); double __libm_jn(int,double); double __libm_y0(double); double __libm_y1(double); double __libm_yn(int,double); double __libm_copysign (double, double); float __libm_copysignf (float, float); long double __libm_copysignl (long double, long double); extern double sqrt(double); extern double fabs(double); extern double log(double); extern double log1p(double); extern double sqrt(double); extern double sin(double); extern double exp(double); extern double modf(double, double *); extern double asinh(double); extern double acosh(double); extern double atanh(double); extern double tanh(double); extern double erf(double); extern double erfc(double); extern double j0(double); extern double j1(double); extern double jn(int, double); extern double y0(double); extern double y1(double); extern double yn(int, double); extern float fabsf(float); extern float asinhf(float); extern float acoshf(float); extern float atanhf(float); extern float tanhf(float); extern float erff(float); extern float erfcf(float); extern float j0f(float); extern float j1f(float); extern float jnf(int, float); extern float y0f(float); extern float y1f(float); extern float ynf(int, float); extern long double log1pl(long double); extern long double logl(long double); extern long double sqrtl(long double); extern long double expl(long double); extern long double fabsl(long double); #if !(defined(SIZE_LONG_INT_32) || defined(SIZE_LONG_INT_64)) #error long int size not established; define SIZE_LONG_INT_32 or SIZE_LONG_INT_64 #endif #if (defined(SIZE_LONG_INT_32) && defined(SIZE_LONG_INT_64)) #error multiple long int size definitions; define SIZE_LONG_INT_32 or SIZE_LONG_INT_64 #endif #if !(defined(SIZE_LONG_LONG_INT_32) || defined(SIZE_LONG_LONG_INT_64)) #error long long int size not established; define SIZE_LONG_LONG_INT_32 or SIZE_LONG_LONG_INT_64 #endif #if (defined(SIZE_LONG_LONG_INT_32) && defined(SIZE_LONG_LONG_INT_64)) #error multiple long long int size definitions; define SIZE_LONG_LONG_INT_32 or SIZE_LONG_LONG_INT_64 #endif #define HI_SIGNIFICAND_LESS(X, HI) ((X)->hi_significand < 0x ## HI) #define f64abs(x) ((x) < 0.0 ? -(x) : (x)) #define FP80_DECLARE() #define FP80_SET() #define FP80_RESET() #ifdef _LIBC # include <math.h> #else static const unsigned INF[] = { DOUBLE_HEX(7ff00000, 00000000), DOUBLE_HEX(fff00000, 00000000) }; static const double _zeroo = 0.0; static const double _bigg = 1.0e300; static const double _ponee = 1.0; static const double _nonee = -1.0; #define INVALID (_zeroo * *((double*)&INF[0])) #define PINF *((double*)&INF[0]) #define NINF -PINF #define PINF_DZ (_ponee/_zeroo) #define X_TLOSS 1.41484755040568800000e+16 #endif /* Set these appropriately to make thread Safe */ #define ERRNO_RANGE errno = ERANGE #define ERRNO_DOMAIN errno = EDOM #ifndef _LIBC #if defined(__ICC) || defined(__ICL) || defined(__ECC) || defined(__ECL) # pragma warning( disable : 68 ) /* #68: integer conversion resulted in a change of sign */ # pragma warning( disable : 186 ) /* #186: pointless comparison of unsigned integer with zero */ # pragma warning( disable : 1572 ) /* #1572: floating-point equality and inequality comparisons are unreliable */ #endif #endif #endif /*__LIBM_CPU_DEFS__H_INCLUDED__*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
You can’t perform that action at this time.