/usr/include/bits
NameSizeModeActions
types/-0755rm
a.out.h2680644editdlrm
byteswap.h24490644editdlrm
cmathcalls.h41380644editdlrm
confname.h237080644editdlrm
cpu-set.h45150644editdlrm
dirent.h17700644editdlrm
dlfcn.h25200644editdlrm
elfclass.h4260644editdlrm
endian.h1760644editdlrm
environments.h37900644editdlrm
epoll.h10700644editdlrm
errno.h14250644editdlrm
error.h26830644editdlrm
eventfd.h11280644editdlrm
fcntl-linux.h137120644editdlrm
fcntl.h22450644editdlrm
fcntl2.h55740644editdlrm
fenv.h46050644editdlrm
fenvinline.h1900644editdlrm
floatn-common.h97640644editdlrm
floatn.h43720644editdlrm
flt-eval-method.h12140644editdlrm
fp-fast.h12150644editdlrm
fp-logb.h10110644editdlrm
getopt_core.h36660644editdlrm
getopt_ext.h30370644editdlrm
getopt_posix.h18090644editdlrm
hwcap.h9710644editdlrm
in.h94660644editdlrm
indirect-return.h15850644editdlrm
initspin.h250644editdlrm
inotify.h10790644editdlrm
ioctl-types.h24550644editdlrm
ioctls.h44770644editdlrm
ipc.h20700644editdlrm
ipctypes.h11750644editdlrm
iscanonical.h24780644editdlrm
libc-header-start.h26070644editdlrm
libm-simd-decl-stubs.h30030644editdlrm
link.h42850644editdlrm
link_lavcurrent.h10990644editdlrm
locale.h13670644editdlrm
local_lim.h31840644editdlrm
long-double.h9230644editdlrm
math-finite.h53740644editdlrm
math-vector.h23070644editdlrm
mathcalls-helper-functions.h17640644editdlrm
mathcalls-narrow.h13060644editdlrm
mathcalls.h131000644editdlrm
mathdef.h8900644editdlrm
mathinline.h130150644editdlrm
mman-linux.h48950644editdlrm
mman-shared.h27360644editdlrm
mman.h20630644editdlrm
monetary-ldbl.h10460644editdlrm
mqueue.h12450644editdlrm
mqueue2.h21500644editdlrm
msq.h26370644editdlrm
netdb.h12630644editdlrm
param.h14320644editdlrm
poll.h20750644editdlrm
poll2.h24850644editdlrm
posix1_lim.h51880644editdlrm
posix2_lim.h28660644editdlrm
posix_opt.h57660644editdlrm
printf-ldbl.h9910644editdlrm
pthreadtypes-arch.h32900644editdlrm
pthreadtypes.h30710644editdlrm
ptrace-shared.h29000644editdlrm
resource.h62980644editdlrm
sched.h37470644editdlrm
select.h21050644editdlrm
select2.h14370644editdlrm
sem.h26190644editdlrm
semaphore.h12370644editdlrm
setjmp.h12860644editdlrm
setjmp2.h17040644editdlrm
shm.h35910644editdlrm
sigaction.h29340644editdlrm
sigcontext.h42640644editdlrm
sigevent-consts.h14700644editdlrm
siginfo-arch.h7290644editdlrm
siginfo-consts-arch.h2040644editdlrm
siginfo-consts.h59730644editdlrm
signalfd.h10660644editdlrm
signum-generic.h43400644editdlrm
signum.h16330644editdlrm
sigstack.h11670644editdlrm
sigthread.h16910644editdlrm
sockaddr.h15130644editdlrm
socket.h155620644editdlrm
socket2.h30360644editdlrm
socket_type.h22150644editdlrm
ss_flags.h11870644editdlrm
stab.def90390644editdlrm
stat.h76190644editdlrm
statfs.h19160644editdlrm
statvfs.h34220644editdlrm
statx-generic.h20490644editdlrm
statx.h13990644editdlrm
stdint-intn.h10360644editdlrm
stdint-uintn.h10480644editdlrm
stdio-ldbl.h30130644editdlrm
stdio.h55860644editdlrm
stdio2.h125460644editdlrm
stdio_lim.h12120644editdlrm
stdlib-bsearch.h13770644editdlrm
stdlib-float.h11140644editdlrm
stdlib-ldbl.h13720644editdlrm
stdlib.h50690644editdlrm
strings_fortified.h12390644editdlrm
string_fortified.h46830644editdlrm
syscall.h456630644editdlrm
sysctl.h8980644editdlrm
syslog-ldbl.h12050644editdlrm
syslog-path.h10600644editdlrm
syslog.h16840644editdlrm
sysmacros.h29520644editdlrm
sys_errlist.h12150644editdlrm
termios.h53630644editdlrm
thread-shared-types.h67350644editdlrm
time.h29980644editdlrm
timerfd.h11020644editdlrm
timex.h45950644editdlrm
types.h83350644editdlrm
typesizes.h33970644editdlrm
uintn-identity.h15410644editdlrm
uio-ext.h19220644editdlrm
uio_lim.h13840644editdlrm
unistd.h108120644editdlrm
utmp.h40660644editdlrm
utmpx.h35770644editdlrm
utsname.h12120644editdlrm
waitflags.h16960644editdlrm
waitstatus.h22860644editdlrm
wchar-ldbl.h24230644editdlrm
wchar.h19050644editdlrm
wchar2.h182210644editdlrm
wctype-wchar.h63010644editdlrm
wordsize.h4420644editdlrm
xopen_lim.h38570644editdlrm
Edit: /usr/include/bits/fenv.h (4605B)
/* Copyright (C) 1997-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ #ifndef _FENV_H # error "Never use directly; include instead." #endif /* Define bits representing the exception. We use the bit positions of the appropriate bits in the FPU control word. */ enum { FE_INVALID = #define FE_INVALID 0x01 FE_INVALID, __FE_DENORM = 0x02, FE_DIVBYZERO = #define FE_DIVBYZERO 0x04 FE_DIVBYZERO, FE_OVERFLOW = #define FE_OVERFLOW 0x08 FE_OVERFLOW, FE_UNDERFLOW = #define FE_UNDERFLOW 0x10 FE_UNDERFLOW, FE_INEXACT = #define FE_INEXACT 0x20 FE_INEXACT }; #define FE_ALL_EXCEPT \ (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) /* The ix87 FPU supports all of the four defined rounding modes. We use again the bit positions in the FPU control word as the values for the appropriate macros. */ enum { FE_TONEAREST = #define FE_TONEAREST 0 FE_TONEAREST, FE_DOWNWARD = #define FE_DOWNWARD 0x400 FE_DOWNWARD, FE_UPWARD = #define FE_UPWARD 0x800 FE_UPWARD, FE_TOWARDZERO = #define FE_TOWARDZERO 0xc00 FE_TOWARDZERO }; /* Type representing exception flags. */ typedef unsigned short int fexcept_t; /* Type representing floating-point environment. This structure corresponds to the layout of the block written by the `fstenv' instruction and has additional fields for the contents of the MXCSR register as written by the `stmxcsr' instruction. */ typedef struct { unsigned short int __control_word; unsigned short int __glibc_reserved1; unsigned short int __status_word; unsigned short int __glibc_reserved2; unsigned short int __tags; unsigned short int __glibc_reserved3; unsigned int __eip; unsigned short int __cs_selector; unsigned int __opcode:11; unsigned int __glibc_reserved4:5; unsigned int __data_offset; unsigned short int __data_selector; unsigned short int __glibc_reserved5; #ifdef __x86_64__ unsigned int __mxcsr; #endif } fenv_t; /* If the default argument is used we use this value. */ #define FE_DFL_ENV ((const fenv_t *) -1) #ifdef __USE_GNU /* Floating-point environment where none of the exception is masked. */ # define FE_NOMASK_ENV ((const fenv_t *) -2) #endif #if __GLIBC_USE (IEC_60559_BFP_EXT) /* Type representing floating-point control modes. */ typedef struct { unsigned short int __control_word; unsigned short int __glibc_reserved; unsigned int __mxcsr; } femode_t; /* Default floating-point control modes. */ # define FE_DFL_MODE ((const femode_t *) -1L) #endif #ifdef __USE_EXTERN_INLINES __BEGIN_DECLS /* Optimized versions. */ #ifndef _LIBC extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept); #endif __extern_always_inline void __NTH (__feraiseexcept_invalid_divbyzero (int __excepts)) { if ((FE_INVALID & __excepts) != 0) { /* One example of an invalid operation is 0.0 / 0.0. */ float __f = 0.0; # ifdef __SSE_MATH__ __asm__ __volatile__ ("divss %0, %0 " : "+x" (__f)); # else __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait" : "=t" (__f) : "0" (__f)); # endif (void) &__f; } if ((FE_DIVBYZERO & __excepts) != 0) { float __f = 1.0; float __g = 0.0; # ifdef __SSE_MATH__ __asm__ __volatile__ ("divss %1, %0" : "+x" (__f) : "x" (__g)); # else __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait" : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); # endif (void) &__f; } } __extern_inline int __NTH (feraiseexcept (int __excepts)) { if (__builtin_constant_p (__excepts) && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0) { __feraiseexcept_invalid_divbyzero (__excepts); return 0; } return __feraiseexcept_renamed (__excepts); } __END_DECLS #endif