golden hour
/usr/include
⬆️ Go Up
Upload
File/Folder
Size
Actions
FlexLexer.h
6.07 KB
Del
OK
GL
-
Del
OK
KF5
-
Del
OK
X11
-
Del
OK
_G_config.h
1.26 KB
Del
OK
a.out.h
4.25 KB
Del
OK
aio.h
7.27 KB
Del
OK
aliases.h
2 KB
Del
OK
alloca.h
1.19 KB
Del
OK
apache2
-
Del
OK
ar.h
1.68 KB
Del
OK
argp.h
24.75 KB
Del
OK
argz.h
6.96 KB
Del
OK
arpa
-
Del
OK
asm
-
Del
OK
asm-generic
-
Del
OK
assert.h
3.52 KB
Del
OK
autosprintf.h
2.33 KB
Del
OK
bind9
-
Del
OK
bits
-
Del
OK
bsock
-
Del
OK
byteswap.h
1.41 KB
Del
OK
c++
-
Del
OK
com_err.h
2.07 KB
Del
OK
complex.h
3.62 KB
Del
OK
cpio.h
2.21 KB
Del
OK
cpufreq.h
5.8 KB
Del
OK
criu
-
Del
OK
crypt.h
2.22 KB
Del
OK
ctype.h
11.52 KB
Del
OK
curses.h
93.19 KB
Del
OK
cursesapp.h
6.62 KB
Del
OK
cursesf.h
27.05 KB
Del
OK
cursesm.h
19.09 KB
Del
OK
cursesp.h
8.3 KB
Del
OK
cursesw.h
48.24 KB
Del
OK
cursslk.h
7.13 KB
Del
OK
db.h
120.21 KB
Del
OK
db4.7.25
-
Del
OK
db_185.h
5.84 KB
Del
OK
dbm.h
1.37 KB
Del
OK
dirent.h
12.34 KB
Del
OK
dlfcn.h
6.88 KB
Del
OK
drm
-
Del
OK
e2p
-
Del
OK
elf.h
141.01 KB
Del
OK
endian.h
2.95 KB
Del
OK
entities.h
4.56 KB
Del
OK
envz.h
2.82 KB
Del
OK
err.h
2.18 KB
Del
OK
errno.h
2.33 KB
Del
OK
error.h
2.01 KB
Del
OK
et
-
Del
OK
eti.h
2.82 KB
Del
OK
etip.h
9.04 KB
Del
OK
execinfo.h
1.5 KB
Del
OK
expat.h
41.04 KB
Del
OK
expat_external.h
3.29 KB
Del
OK
ext2fs
-
Del
OK
fcntl.h
9.89 KB
Del
OK
features.h
12.87 KB
Del
OK
fenv.h
4.5 KB
Del
OK
fmtmsg.h
3.18 KB
Del
OK
fnmatch.h
2.27 KB
Del
OK
fontconfig
-
Del
OK
form.h
17.56 KB
Del
OK
fpu_control.h
3.5 KB
Del
OK
freetype2
-
Del
OK
fstab.h
3.04 KB
Del
OK
fts.h
5.17 KB
Del
OK
ftw.h
5.15 KB
Del
OK
gconv.h
5.16 KB
Del
OK
gcrypt-module.h
7.18 KB
Del
OK
gcrypt.h
76.51 KB
Del
OK
gd.h
32.02 KB
Del
OK
gd_io.h
1.13 KB
Del
OK
gdbm
-
Del
OK
gdbm.h
5.75 KB
Del
OK
gdcache.h
2.75 KB
Del
OK
gdfontg.h
623 B
Del
OK
gdfontl.h
621 B
Del
OK
gdfontmb.h
590 B
Del
OK
gdfonts.h
585 B
Del
OK
gdfontt.h
617 B
Del
OK
gdfx.h
2.34 KB
Del
OK
gelf.h
11.05 KB
Del
OK
getopt.h
6.53 KB
Del
OK
gettext-po.h
15.17 KB
Del
OK
glob.h
6.51 KB
Del
OK
gnu
-
Del
OK
gnu-versions.h
2.29 KB
Del
OK
google
-
Del
OK
gpg-error.h
23.66 KB
Del
OK
grp.h
6.75 KB
Del
OK
gshadow.h
4.43 KB
Del
OK
gssapi
-
Del
OK
gssapi.h
181 B
Del
OK
gssrpc
-
Del
OK
iconv.h
1.83 KB
Del
OK
idn-free.h
2.41 KB
Del
OK
idn-int.h
20 B
Del
OK
idna.h
3.48 KB
Del
OK
ieee754.h
4.81 KB
Del
OK
ifaddrs.h
2.77 KB
Del
OK
inttypes.h
11.61 KB
Del
OK
jconfig.h
1.7 KB
Del
OK
jerror.h
14.4 KB
Del
OK
jmorecfg.h
13.5 KB
Del
OK
jpeglib.h
49.12 KB
Del
OK
kadm5
-
Del
OK
kdb.h
60.12 KB
Del
OK
kde4
-
Del
OK
keyutils.h
7.08 KB
Del
OK
krad.h
8.72 KB
Del
OK
krb5
-
Del
OK
krb5.h
402 B
Del
OK
langinfo.h
15.57 KB
Del
OK
lastlog.h
126 B
Del
OK
lauxlib.h
5.64 KB
Del
OK
lber.h
14.95 KB
Del
OK
lber_types.h
1.43 KB
Del
OK
ldap.h
63.46 KB
Del
OK
ldap_cdefs.h
9.24 KB
Del
OK
ldap_features.h
1.77 KB
Del
OK
ldap_schema.h
9.23 KB
Del
OK
ldap_utf8.h
3.39 KB
Del
OK
ldif.h
4.58 KB
Del
OK
libaio.h
7.8 KB
Del
OK
libdb
-
Del
OK
libelf.h
19.11 KB
Del
OK
libexslt
-
Del
OK
libgen.h
1.37 KB
Del
OK
libintl.h
4.49 KB
Del
OK
libio.h
16.87 KB
Del
OK
libltdl
-
Del
OK
libpng15
-
Del
OK
libxml2
-
Del
OK
libxslt
-
Del
OK
limits.h
4.42 KB
Del
OK
link.h
6.99 KB
Del
OK
linux
-
Del
OK
locale.h
7.78 KB
Del
OK
ltdl.h
5.58 KB
Del
OK
lua.h
11.41 KB
Del
OK
lua.hpp
191 B
Del
OK
luaconf.h
21.64 KB
Del
OK
lualib.h
1 KB
Del
OK
lzma
-
Del
OK
lzma.h
9.51 KB
Del
OK
malloc.h
6.44 KB
Del
OK
math.h
15.7 KB
Del
OK
mcheck.h
2.4 KB
Del
OK
memory.h
962 B
Del
OK
menu.h
11.67 KB
Del
OK
misc
-
Del
OK
mntent.h
3.3 KB
Del
OK
monetary.h
1.73 KB
Del
OK
mqueue.h
3.7 KB
Del
OK
mtd
-
Del
OK
mysql
-
Del
OK
nc_tparm.h
4.05 KB
Del
OK
ncurses
-
Del
OK
ncurses.h
93.19 KB
Del
OK
ncurses_dll.h
3.83 KB
Del
OK
ncursesw
-
Del
OK
ndbm.h
2.39 KB
Del
OK
net
-
Del
OK
netash
-
Del
OK
netatalk
-
Del
OK
netax25
-
Del
OK
netdb.h
27.46 KB
Del
OK
neteconet
-
Del
OK
netinet
-
Del
OK
netipx
-
Del
OK
netiucv
-
Del
OK
netpacket
-
Del
OK
netrom
-
Del
OK
netrose
-
Del
OK
nfs
-
Del
OK
nl_types.h
1.73 KB
Del
OK
nlist.h
1.56 KB
Del
OK
nss.h
1.85 KB
Del
OK
obstack.h
18.84 KB
Del
OK
openssl
-
Del
OK
panel.h
3.97 KB
Del
OK
paths.h
2.91 KB
Del
OK
pcre.h
29.73 KB
Del
OK
pcre_scanner.h
6.45 KB
Del
OK
pcre_stringpiece.h
6.11 KB
Del
OK
pcrecpp.h
25.91 KB
Del
OK
pcrecpparg.h
6.62 KB
Del
OK
pcreposix.h
5.32 KB
Del
OK
png.h
113.36 KB
Del
OK
pngconf.h
20.94 KB
Del
OK
pnglibconf.h
6.3 KB
Del
OK
poll.h
22 B
Del
OK
pr29.h
2.07 KB
Del
OK
printf.h
6.56 KB
Del
OK
profile.h
11.87 KB
Del
OK
protobuf-c
-
Del
OK
protocols
-
Del
OK
pthread.h
39.95 KB
Del
OK
pty.h
1.51 KB
Del
OK
punycode.h
9.36 KB
Del
OK
pwd.h
5.87 KB
Del
OK
python2.7
-
Del
OK
python3.6m
-
Del
OK
quota
-
Del
OK
rdma
-
Del
OK
re_comp.h
957 B
Del
OK
regex.h
21.58 KB
Del
OK
regexp.h
6.89 KB
Del
OK
resolv.h
14.67 KB
Del
OK
rpc
-
Del
OK
rpcsvc
-
Del
OK
sasl
-
Del
OK
sched.h
4.55 KB
Del
OK
scsi
-
Del
OK
search.h
5.11 KB
Del
OK
security
-
Del
OK
selinux
-
Del
OK
semaphore.h
2.36 KB
Del
OK
sepol
-
Del
OK
setjmp.h
3.97 KB
Del
OK
sgtty.h
1.33 KB
Del
OK
shadow.h
5.1 KB
Del
OK
signal.h
13.3 KB
Del
OK
slapi-plugin.h
37.45 KB
Del
OK
sound
-
Del
OK
spawn.h
6.53 KB
Del
OK
stab.h
264 B
Del
OK
stdc-predef.h
1.59 KB
Del
OK
stdint.h
7.94 KB
Del
OK
stdio.h
30.9 KB
Del
OK
stdio_ext.h
2.74 KB
Del
OK
stdlib.h
33.23 KB
Del
OK
string.h
21.75 KB
Del
OK
stringprep.h
8 KB
Del
OK
strings.h
4.55 KB
Del
OK
sys
-
Del
OK
syscall.h
25 B
Del
OK
sysexits.h
5.11 KB
Del
OK
syslog.h
24 B
Del
OK
tar.h
3.67 KB
Del
OK
tcpd.h
11.48 KB
Del
OK
term.h
38.63 KB
Del
OK
term_entry.h
7.91 KB
Del
OK
termcap.h
3.4 KB
Del
OK
termio.h
214 B
Del
OK
termios.h
3.52 KB
Del
OK
tgmath.h
18.11 KB
Del
OK
thread_db.h
15.65 KB
Del
OK
tic.h
12.35 KB
Del
OK
tiff.h
34.95 KB
Del
OK
tiffconf-64.h
3.35 KB
Del
OK
tiffconf.h
250 B
Del
OK
tiffio.h
22.52 KB
Del
OK
tiffio.hxx
1.66 KB
Del
OK
tiffvers.h
410 B
Del
OK
time.h
13.4 KB
Del
OK
tld.h
4.54 KB
Del
OK
ttyent.h
2.44 KB
Del
OK
uapi
-
Del
OK
uchar.h
2.42 KB
Del
OK
ucontext.h
1.92 KB
Del
OK
ulimit.h
1.55 KB
Del
OK
unctrl.h
3.03 KB
Del
OK
unistd.h
41.78 KB
Del
OK
ustat.h
23 B
Del
OK
utime.h
1.5 KB
Del
OK
utmp.h
3.16 KB
Del
OK
utmpx.h
4.02 KB
Del
OK
uuid
-
Del
OK
values.h
1.92 KB
Del
OK
verto-module.h
6.48 KB
Del
OK
verto.h
18.57 KB
Del
OK
video
-
Del
OK
wait.h
22 B
Del
OK
wchar.h
31.37 KB
Del
OK
wctype.h
10.89 KB
Del
OK
wordexp.h
2.47 KB
Del
OK
xcb
-
Del
OK
xen
-
Del
OK
xlocale.h
1.66 KB
Del
OK
zconf.h
14.92 KB
Del
OK
zlib.h
84.68 KB
Del
OK
Edit: math.h
/* Declarations for math functions. Copyright (C) 1991-1993, 1995-1999, 2001, 2002, 2004, 2006, 2009, 2011, 2012 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/>. */ /* * ISO C99 Standard: 7.12 Mathematics <math.h> */ #ifndef _MATH_H #define _MATH_H 1 #include <features.h> __BEGIN_DECLS /* Get machine-dependent HUGE_VAL value (returned on overflow). On all IEEE754 machines, this is +Infinity. */ #include <bits/huge_val.h> #ifdef __USE_ISOC99 # include <bits/huge_valf.h> # include <bits/huge_vall.h> /* Get machine-dependent INFINITY value. */ # include <bits/inf.h> /* Get machine-dependent NAN value (returned for some domain errors). */ # include <bits/nan.h> #endif /* __USE_ISOC99 */ /* Get general and ISO C99 specific information. */ #include <bits/mathdef.h> /* The file <bits/mathcalls.h> contains the prototypes for all the actual math functions. These macros are used for those prototypes, so we can easily declare each function as both `name' and `__name', and can declare the float versions `namef' and `__namef'. */ #define __MATHCALL(function,suffix, args) \ __MATHDECL (_Mdouble_,function,suffix, args) #define __MATHDECL(type, function,suffix, args) \ __MATHDECL_1(type, function,suffix, args); \ __MATHDECL_1(type, __CONCAT(__,function),suffix, args) #define __MATHCALLX(function,suffix, args, attrib) \ __MATHDECLX (_Mdouble_,function,suffix, args, attrib) #define __MATHDECLX(type, function,suffix, args, attrib) \ __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \ __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib) #define __MATHDECL_1(type, function,suffix, args) \ extern type __MATH_PRECNAME(function,suffix) args __THROW #define _Mdouble_ double #define __MATH_PRECNAME(name,r) __CONCAT(name,r) #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD #define _Mdouble_END_NAMESPACE __END_NAMESPACE_STD #include <bits/mathcalls.h> #undef _Mdouble_ #undef _Mdouble_BEGIN_NAMESPACE #undef _Mdouble_END_NAMESPACE #undef __MATH_PRECNAME #if defined __USE_MISC || defined __USE_ISOC99 /* Include the file of declarations again, this time using `float' instead of `double' and appending f to each function name. */ # ifndef _Mfloat_ # define _Mfloat_ float # endif # define _Mdouble_ _Mfloat_ # define __MATH_PRECNAME(name,r) name##f##r # define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99 # define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99 # include <bits/mathcalls.h> # undef _Mdouble_ # undef _Mdouble_BEGIN_NAMESPACE # undef _Mdouble_END_NAMESPACE # undef __MATH_PRECNAME # if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \ || defined __LDBL_COMPAT # ifdef __LDBL_COMPAT # ifdef __USE_ISOC99 extern float __nldbl_nexttowardf (float __x, long double __y) __THROW __attribute__ ((__const__)); # ifdef __REDIRECT_NTH extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y), __nldbl_nexttowardf) __attribute__ ((__const__)); extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), nextafter) __attribute__ ((__const__)); extern long double __REDIRECT_NTH (nexttowardl, (long double __x, long double __y), nextafter) __attribute__ ((__const__)); # endif # endif # undef __MATHDECL_1 # define __MATHDECL_2(type, function,suffix, args, alias) \ extern type __REDIRECT_NTH(__MATH_PRECNAME(function,suffix), \ args, alias) # define __MATHDECL_1(type, function,suffix, args) \ __MATHDECL_2(type, function,suffix, args, __CONCAT(function,suffix)) # endif /* Include the file of declarations again, this time using `long double' instead of `double' and appending l to each function name. */ # ifndef _Mlong_double_ # define _Mlong_double_ long double # endif # define _Mdouble_ _Mlong_double_ # define __MATH_PRECNAME(name,r) name##l##r # define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99 # define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99 # define __MATH_DECLARE_LDOUBLE 1 # include <bits/mathcalls.h> # undef _Mdouble_ # undef _Mdouble_BEGIN_NAMESPACE # undef _Mdouble_END_NAMESPACE # undef __MATH_PRECNAME # endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */ #endif /* Use misc or ISO C99. */ #undef __MATHDECL_1 #undef __MATHDECL #undef __MATHCALL #if defined __USE_MISC || defined __USE_XOPEN /* This variable is used by `gamma' and `lgamma'. */ extern int signgam; #endif /* ISO C99 defines some generic macros which work on any data type. */ #ifdef __USE_ISOC99 /* Get the architecture specific values describing the floating-point evaluation. The following symbols will get defined: float_t floating-point type at least as wide as `float' used to evaluate `float' expressions double_t floating-point type at least as wide as `double' used to evaluate `double' expressions FLT_EVAL_METHOD Defined to 0 if `float_t' is `float' and `double_t' is `double' 1 if `float_t' and `double_t' are `double' 2 if `float_t' and `double_t' are `long double' else `float_t' and `double_t' are unspecified INFINITY representation of the infinity value of type `float' FP_FAST_FMA FP_FAST_FMAF FP_FAST_FMAL If defined it indicates that the `fma' function generally executes about as fast as a multiply and an add. This macro is defined only iff the `fma' function is implemented directly with a hardware multiply-add instructions. FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. DECIMAL_DIG Number of decimal digits supported by conversion between decimal and all internal floating-point formats. */ /* All floating-point numbers can be put in one of these categories. */ enum { FP_NAN = # define FP_NAN 0 FP_NAN, FP_INFINITE = # define FP_INFINITE 1 FP_INFINITE, FP_ZERO = # define FP_ZERO 2 FP_ZERO, FP_SUBNORMAL = # define FP_SUBNORMAL 3 FP_SUBNORMAL, FP_NORMAL = # define FP_NORMAL 4 FP_NORMAL }; /* Return number of classification appropriate for X. */ # ifdef __NO_LONG_DOUBLE_MATH # define fpclassify(x) \ (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) # else # define fpclassify(x) \ (sizeof (x) == sizeof (float) \ ? __fpclassifyf (x) \ : sizeof (x) == sizeof (double) \ ? __fpclassify (x) : __fpclassifyl (x)) # endif /* Return nonzero value if sign of X is negative. */ # ifdef __NO_LONG_DOUBLE_MATH # define signbit(x) \ (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) # else # define signbit(x) \ (sizeof (x) == sizeof (float) \ ? __signbitf (x) \ : sizeof (x) == sizeof (double) \ ? __signbit (x) : __signbitl (x)) # endif /* Return nonzero value if X is not +-Inf or NaN. */ # ifdef __NO_LONG_DOUBLE_MATH # define isfinite(x) \ (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) # else # define isfinite(x) \ (sizeof (x) == sizeof (float) \ ? __finitef (x) \ : sizeof (x) == sizeof (double) \ ? __finite (x) : __finitel (x)) # endif /* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */ # define isnormal(x) (fpclassify (x) == FP_NORMAL) /* Return nonzero value if X is a NaN. We could use `fpclassify' but we already have this functions `__isnan' and it is faster. */ # ifdef __NO_LONG_DOUBLE_MATH # define isnan(x) \ (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) # else # define isnan(x) \ (sizeof (x) == sizeof (float) \ ? __isnanf (x) \ : sizeof (x) == sizeof (double) \ ? __isnan (x) : __isnanl (x)) # endif /* Return nonzero value if X is positive or negative infinity. */ # ifdef __NO_LONG_DOUBLE_MATH # define isinf(x) \ (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) # else # define isinf(x) \ (sizeof (x) == sizeof (float) \ ? __isinff (x) \ : sizeof (x) == sizeof (double) \ ? __isinf (x) : __isinfl (x)) # endif /* Bitmasks for the math_errhandling macro. */ # define MATH_ERRNO 1 /* errno set by math functions. */ # define MATH_ERREXCEPT 2 /* Exceptions raised by math functions. */ /* By default all functions support both errno and exception handling. In gcc's fast math mode and if inline functions are defined this might not be true. */ # ifndef __FAST_MATH__ # define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT) # endif #endif /* Use ISO C99. */ #ifdef __USE_MISC /* Support for various different standard error handling behaviors. */ typedef enum { _IEEE_ = -1, /* According to IEEE 754/IEEE 854. */ _SVID_, /* According to System V, release 4. */ _XOPEN_, /* Nowadays also Unix98. */ _POSIX_, _ISOC_ /* Actually this is ISO C99. */ } _LIB_VERSION_TYPE; /* This variable can be changed at run-time to any of the values above to affect floating point error handling behavior (it may also be necessary to change the hardware FPU exception settings). */ extern _LIB_VERSION_TYPE _LIB_VERSION; #endif #ifdef __USE_SVID /* In SVID error handling, `matherr' is called with this description of the exceptional condition. We have a problem when using C++ since `exception' is a reserved name in C++. */ # ifdef __cplusplus struct __exception # else struct exception # endif { int type; char *name; double arg1; double arg2; double retval; }; # ifdef __cplusplus extern int matherr (struct __exception *__exc) throw (); # else extern int matherr (struct exception *__exc); # endif # define X_TLOSS 1.41484755040568800000e+16 /* Types of exceptions in the `type' field. */ # define DOMAIN 1 # define SING 2 # define OVERFLOW 3 # define UNDERFLOW 4 # define TLOSS 5 # define PLOSS 6 /* SVID mode specifies returning this large value instead of infinity. */ # define HUGE 3.40282347e+38F #else /* !SVID */ # ifdef __USE_XOPEN /* X/Open wants another strange constant. */ # define MAXFLOAT 3.40282347e+38F # endif #endif /* SVID */ /* Some useful constants. */ #if defined __USE_BSD || defined __USE_XOPEN # define M_E 2.7182818284590452354 /* e */ # define M_LOG2E 1.4426950408889634074 /* log_2 e */ # define M_LOG10E 0.43429448190325182765 /* log_10 e */ # define M_LN2 0.69314718055994530942 /* log_e 2 */ # define M_LN10 2.30258509299404568402 /* log_e 10 */ # define M_PI 3.14159265358979323846 /* pi */ # define M_PI_2 1.57079632679489661923 /* pi/2 */ # define M_PI_4 0.78539816339744830962 /* pi/4 */ # define M_1_PI 0.31830988618379067154 /* 1/pi */ # define M_2_PI 0.63661977236758134308 /* 2/pi */ # define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ # define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ # define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ #endif /* The above constants are not adequate for computation using `long double's. Therefore we provide as an extension constants with similar names as a GNU extension. Provide enough digits for the 128-bit IEEE quad. */ #ifdef __USE_GNU # define M_El 2.718281828459045235360287471352662498L /* e */ # define M_LOG2El 1.442695040888963407359924681001892137L /* log_2 e */ # define M_LOG10El 0.434294481903251827651128918916605082L /* log_10 e */ # define M_LN2l 0.693147180559945309417232121458176568L /* log_e 2 */ # define M_LN10l 2.302585092994045684017991454684364208L /* log_e 10 */ # define M_PIl 3.141592653589793238462643383279502884L /* pi */ # define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */ # define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */ # define M_1_PIl 0.318309886183790671537767526745028724L /* 1/pi */ # define M_2_PIl 0.636619772367581343075535053490057448L /* 2/pi */ # define M_2_SQRTPIl 1.128379167095512573896158903121545172L /* 2/sqrt(pi) */ # define M_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */ # define M_SQRT1_2l 0.707106781186547524400844362104849039L /* 1/sqrt(2) */ #endif /* When compiling in strict ISO C compatible mode we must not use the inline functions since they, among other things, do not set the `errno' variable correctly. */ #if defined __STRICT_ANSI__ && !defined __NO_MATH_INLINES # define __NO_MATH_INLINES 1 #endif #if defined __USE_ISOC99 && __GNUC_PREREQ(2,97) /* ISO C99 defines some macros to compare number while taking care for unordered numbers. Many FPUs provide special instructions to support these operations. Generic support in GCC for these as builtins went in before 3.0.0, but not all cpus added their patterns. We define versions that use the builtins here, and <bits/mathinline.h> will undef/redefine as appropriate for the specific GCC version in use. */ # define isgreater(x, y) __builtin_isgreater(x, y) # define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) # define isless(x, y) __builtin_isless(x, y) # define islessequal(x, y) __builtin_islessequal(x, y) # define islessgreater(x, y) __builtin_islessgreater(x, y) # define isunordered(u, v) __builtin_isunordered(u, v) #endif /* Get machine-dependent inline versions (if there are any). */ #ifdef __USE_EXTERN_INLINES # include <bits/mathinline.h> #endif /* Define special entry points to use when the compiler got told to only expect finite results. */ #if defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0 # include <bits/math-finite.h> #endif #ifdef __USE_ISOC99 /* If we've still got undefined comparison macros, provide defaults. */ /* Return nonzero value if X is greater than Y. */ # ifndef isgreater # define isgreater(x, y) \ (__extension__ \ ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ !isunordered (__x, __y) && __x > __y; })) # endif /* Return nonzero value if X is greater than or equal to Y. */ # ifndef isgreaterequal # define isgreaterequal(x, y) \ (__extension__ \ ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ !isunordered (__x, __y) && __x >= __y; })) # endif /* Return nonzero value if X is less than Y. */ # ifndef isless # define isless(x, y) \ (__extension__ \ ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ !isunordered (__x, __y) && __x < __y; })) # endif /* Return nonzero value if X is less than or equal to Y. */ # ifndef islessequal # define islessequal(x, y) \ (__extension__ \ ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ !isunordered (__x, __y) && __x <= __y; })) # endif /* Return nonzero value if either X is less than Y or Y is less than X. */ # ifndef islessgreater # define islessgreater(x, y) \ (__extension__ \ ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ !isunordered (__x, __y) && (__x < __y || __y < __x); })) # endif /* Return nonzero value if arguments are unordered. */ # ifndef isunordered # define isunordered(u, v) \ (__extension__ \ ({ __typeof__(u) __u = (u); __typeof__(v) __v = (v); \ fpclassify (__u) == FP_NAN || fpclassify (__v) == FP_NAN; })) # endif #endif __END_DECLS #endif /* math.h */
Save