summaryrefslogtreecommitdiff
path: root/tests/headers/fenv.c
blob: 5f82c524478c1825ff27b7ddfcfd4785b20ef641 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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 *));
}