]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - include/fenv.h
Add per-thread cache to malloc
[thirdparty/glibc.git] / include / fenv.h
index 673eb4b9777a75f62935f5054bc104c91f03f0c3..de4d46f8b7f506006022b531a1651f4bcdd7b005 100644 (file)
@@ -1,19 +1,47 @@
 #ifndef _FENV_H
 #include <math/fenv.h>
 
+#ifndef _ISOMAC
+# include <stdbool.h>
 /* Now define the internal interfaces.  */
 
 extern int __feclearexcept (int __excepts);
+extern int __fegetexcept (void);
 extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts);
 extern int __feraiseexcept (int __excepts);
-extern int __fesetexceptflag (__const fexcept_t *__flagp, int __excepts);
+extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts);
 extern int __fegetenv (fenv_t *__envp);
-extern int __fesetenv (__const fenv_t *__envp);
-extern int __feupdateenv (__const fenv_t *__envp);
+extern int __fesetenv (const fenv_t *__envp);
+extern int __feupdateenv (const fenv_t *__envp);
+extern __typeof (fegetround) __fegetround __attribute_pure__;
+extern __typeof (feholdexcept) __feholdexcept;
+extern __typeof (fesetround) __fesetround;
 
 libm_hidden_proto (feraiseexcept)
+libm_hidden_proto (__feraiseexcept)
+libm_hidden_proto (fegetenv)
+libm_hidden_proto (__fegetenv)
+libm_hidden_proto (fegetround)
+libm_hidden_proto (__fegetround)
 libm_hidden_proto (fesetenv)
+libm_hidden_proto (__fesetenv)
 libm_hidden_proto (fesetround)
+libm_hidden_proto (__fesetround)
 libm_hidden_proto (feholdexcept)
+libm_hidden_proto (__feholdexcept)
+libm_hidden_proto (feupdateenv)
+libm_hidden_proto (__feupdateenv)
+libm_hidden_proto (fetestexcept)
+libm_hidden_proto (feclearexcept)
+
+/* Rounding mode context.  This allows functions to set/restore rounding mode
+   only when the desired rounding mode is different from the current rounding
+   mode.  */
+struct rm_ctx
+{
+  fenv_t env;
+  bool updated_status;
+};
+#endif
 
 #endif