summaryrefslogtreecommitdiff
path: root/tests/headers/fenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/headers/fenv.c')
-rw-r--r--tests/headers/fenv.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/headers/fenv.c b/tests/headers/fenv.c
new file mode 100644
index 00000000..5f82c524
--- /dev/null
+++ b/tests/headers/fenv.c
@@ -0,0 +1,38 @@
+// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html
+
+#include "core.h"
+
+#include <fenv.h>
+
+TEST(fenv_h)
+{
+ TYPE(fenv_t);
+ TYPE(fexcept_t);
+
+ MACRO(FE_DIVBYZERO);
+ MACRO(FE_INEXACT);
+ MACRO(FE_INVALID);
+ MACRO(FE_OVERFLOW);
+ MACRO(FE_UNDERFLOW);
+
+ MACRO(FE_ALL_EXCEPT);
+
+ MACRO(FE_DOWNWARD);
+ MACRO(FE_TONEAREST);
+ MACRO(FE_TOWARDZERO);
+ MACRO(FE_UPWARD);
+
+ const fenv_t *fe_dfl_env = FE_DFL_ENV;
+
+ FUNCTION(feclearexcept, int (*f)(int));
+ FUNCTION(fegetenv, int (*f)(fenv_t *));
+ FUNCTION(fegetexceptflag, int (*f)(fexcept_t *, int));
+ FUNCTION(fegetround, int (*f)(void));
+ FUNCTION(feholdexcept, int (*f)(fenv_t *));
+ FUNCTION(feraiseexcept, int (*f)(int));
+ FUNCTION(fesetenv, int (*f)(const fenv_t *));
+ FUNCTION(fesetexceptflag, int (*f)(const fexcept_t *, int));
+ FUNCTION(fesetround, int (*f)(int));
+ FUNCTION(fetestexcept, int (*f)(int));
+ FUNCTION(feupdateenv, int (*f)(const fenv_t *));
+}