]>
Commit | Line | Data |
---|---|---|
ed073f0e | 1 | #ifndef _FENV_H |
7cabd57c | 2 | #include <math/fenv.h> |
ed073f0e | 3 | |
a68d0680 | 4 | #ifndef _ISOMAC |
b92a20b5 | 5 | # include <stdbool.h> |
ed073f0e AJ |
6 | /* Now define the internal interfaces. */ |
7 | ||
8 | extern int __feclearexcept (int __excepts); | |
246ec411 | 9 | extern int __fegetexcept (void); |
ed073f0e AJ |
10 | extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts); |
11 | extern int __feraiseexcept (int __excepts); | |
a784e502 | 12 | extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts); |
ed073f0e | 13 | extern int __fegetenv (fenv_t *__envp); |
a784e502 UD |
14 | extern int __fesetenv (const fenv_t *__envp); |
15 | extern int __feupdateenv (const fenv_t *__envp); | |
b93c2205 | 16 | extern __typeof (fegetround) __fegetround; |
ef9faf13 | 17 | extern __typeof (feholdexcept) __feholdexcept; |
ed073f0e | 18 | |
76f2646f | 19 | libm_hidden_proto (feraiseexcept) |
0747f818 | 20 | libm_hidden_proto (__feraiseexcept) |
7eb22e75 | 21 | libm_hidden_proto (fegetenv) |
73a268c7 | 22 | libm_hidden_proto (__fegetenv) |
3c1c46a6 | 23 | libm_hidden_proto (fegetround) |
b93c2205 | 24 | libm_hidden_proto (__fegetround) |
76f2646f | 25 | libm_hidden_proto (fesetenv) |
9b8a7277 UD |
26 | libm_hidden_proto (fesetround) |
27 | libm_hidden_proto (feholdexcept) | |
ef9faf13 | 28 | libm_hidden_proto (__feholdexcept) |
9ff8d36f JJ |
29 | libm_hidden_proto (feupdateenv) |
30 | libm_hidden_proto (fetestexcept) | |
5b5b04d6 | 31 | libm_hidden_proto (feclearexcept) |
76f2646f | 32 | |
25061094 SP |
33 | /* Rounding mode context. This allows functions to set/restore rounding mode |
34 | only when the desired rounding mode is different from the current rounding | |
35 | mode. */ | |
36 | struct rm_ctx | |
37 | { | |
38 | fenv_t env; | |
39 | bool updated_status; | |
40 | }; | |
b92a20b5 | 41 | #endif |
25061094 | 42 | |
ed073f0e | 43 | #endif |