summaryrefslogtreecommitdiff
path: root/tests/headers/complex.c
blob: 054d25acc034ec703071df3bdf69866131a8c73a (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/complex.h.html

#include "core.h"

#include <complex.h>

#ifndef complex
#error complex
#endif

#ifndef _Complex_I
#error _Complex_I
#endif

#ifndef imaginary
#error imaginary
#endif

#ifndef _Imaginary_I
#error _Imaginary_I
#endif

#if !defined(I)
#error I
#endif

TEST(complex_h)
{
	FUNCTION(cabs, double (*f)(double complex));
	FUNCTION(cabsf, float (*f)(float complex));
	FUNCTION(cabsl, long double (*f)(long double complex));

	FUNCTION(cacos, double complex (*f)(double complex));
	FUNCTION(cacosf, float complex (*f)(float complex));
	FUNCTION(cacosl, long double complex (*f)(long double complex));

	FUNCTION(cacosh, double complex (*f)(double complex));
	FUNCTION(cacoshf, float complex (*f)(float complex));
	FUNCTION(cacoshl, long double complex (*f)(long double complex));

	FUNCTION(carg, double (*f)(double complex));
	FUNCTION(cargf, float (*f)(float complex));
	FUNCTION(cargl, long double (*f)(long double complex));

	FUNCTION(casin, double complex (*f)(double complex));
	FUNCTION(casinf, float complex (*f)(float complex));
	FUNCTION(casinl, long double complex (*f)(long double complex));

	FUNCTION(casinh, double complex (*f)(double complex));
	FUNCTION(casinhf, float complex (*f)(float complex));
	FUNCTION(casinhl, long double complex (*f)(long double complex));

	FUNCTION(catan, double complex (*f)(double complex));
	FUNCTION(catanf, float complex (*f)(float complex));
	FUNCTION(catanl, long double complex (*f)(long double complex));

	FUNCTION(catanh, double complex (*f)(double complex));
	FUNCTION(catanhf, float complex (*f)(float complex));
	FUNCTION(catanhl, long double complex (*f)(long double complex));

	FUNCTION(ccos, double complex (*f)(double complex));
	FUNCTION(ccosf, float complex (*f)(float complex));
	FUNCTION(ccosl, long double complex (*f)(long double complex));

	FUNCTION(ccosh, double complex (*f)(double complex));
	FUNCTION(ccoshf, float complex (*f)(float complex));
	FUNCTION(ccoshl, long double complex (*f)(long double complex));

	FUNCTION(cexp, double complex (*f)(double complex));
	FUNCTION(cexpf, float complex (*f)(float complex));
	FUNCTION(cexpl, long double complex (*f)(long double complex));

	FUNCTION(cimag, double (*f)(double complex));
	FUNCTION(cimagf, float (*f)(float complex));
	FUNCTION(cimagl, long double (*f)(long double complex));

	FUNCTION(clog, double complex (*f)(double complex));
	FUNCTION(clogf, float complex (*f)(float complex));
	FUNCTION(clogl, long double complex (*f)(long double complex));

	FUNCTION(conj, double complex (*f)(double complex));
	FUNCTION(conjf, float complex (*f)(float complex));
	FUNCTION(conjl, long double complex (*f)(long double complex));

	FUNCTION(cpow, double complex (*f)(double complex, double complex));
	FUNCTION(cpowf, float complex (*f)(float complex, float complex));
	FUNCTION(cpowl, long double complex (*f)(long double complex,
						 long double complex));

	FUNCTION(cproj, double complex (*f)(double complex));
	FUNCTION(cprojf, float complex (*f)(float complex));
	FUNCTION(cprojl, long double complex (*f)(long double complex));

	FUNCTION(creal, double (*f)(double complex));
	FUNCTION(crealf, float (*f)(float complex));
	FUNCTION(creall, long double (*f)(long double complex));

	FUNCTION(csin, double complex (*f)(double complex));
	FUNCTION(csinf, float complex (*f)(float complex));
	FUNCTION(csinl, long double complex (*f)(long double complex));

	FUNCTION(csinh, double complex (*f)(double complex));
	FUNCTION(csinhf, float complex (*f)(float complex));
	FUNCTION(csinhl, long double complex (*f)(long double complex));

	FUNCTION(csqrt, double complex (*f)(double complex));
	FUNCTION(csqrtf, float complex (*f)(float complex));
	FUNCTION(csqrtl, long double complex (*f)(long double complex));

	FUNCTION(ctan, double complex (*f)(double complex));
	FUNCTION(ctanf, float complex (*f)(float complex));
	FUNCTION(ctanl, long double complex (*f)(long double complex));

	FUNCTION(ctanh, double complex (*f)(double complex));
	FUNCTION(ctanhf, float complex (*f)(float complex));
	FUNCTION(ctanhl, long double complex (*f)(long double complex));
}