Align stack to 16 bytes when calling __errno_location
[glibc.git] / include / fenv.h
blob7070199eced61c542c6ea9f790f60b7e35b02ead
1 #ifndef _FENV_H
2 #include <math/fenv.h>
4 #ifndef _ISOMAC
5 # include <stdbool.h>
6 /* Now define the internal interfaces. */
8 extern int __feclearexcept (int __excepts);
9 extern int __fegetexcept (void);
10 extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts);
11 extern int __feraiseexcept (int __excepts);
12 extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts);
13 extern int __fegetenv (fenv_t *__envp);
14 extern int __fesetenv (const fenv_t *__envp);
15 extern int __feupdateenv (const fenv_t *__envp);
16 extern __typeof (fegetround) __fegetround;
17 extern __typeof (feholdexcept) __feholdexcept;
18 extern __typeof (fesetround) __fesetround;
20 libm_hidden_proto (feraiseexcept)
21 libm_hidden_proto (__feraiseexcept)
22 libm_hidden_proto (fegetenv)
23 libm_hidden_proto (__fegetenv)
24 libm_hidden_proto (fegetround)
25 libm_hidden_proto (__fegetround)
26 libm_hidden_proto (fesetenv)
27 libm_hidden_proto (__fesetenv)
28 libm_hidden_proto (fesetround)
29 libm_hidden_proto (__fesetround)
30 libm_hidden_proto (feholdexcept)
31 libm_hidden_proto (__feholdexcept)
32 libm_hidden_proto (feupdateenv)
33 libm_hidden_proto (__feupdateenv)
34 libm_hidden_proto (fetestexcept)
35 libm_hidden_proto (feclearexcept)
37 /* Rounding mode context. This allows functions to set/restore rounding mode
38 only when the desired rounding mode is different from the current rounding
39 mode. */
40 struct rm_ctx
42 fenv_t env;
43 bool updated_status;
45 #endif
47 #endif