blob: 15320142d21419c75ab9c382a2190411a3a80abd [file] [log] [blame]
Elliott Hughes13da6002025-02-03 10:42:13 -08001// Copyright (C) 2017 The Android Open Source Project
2// SPDX-License-Identifier: BSD-2-Clause
Elliott Hughes21b56eb2017-10-20 17:57:17 -07003
4#include <complex.h>
5
6#include "header_checks.h"
7
8#if !defined(complex)
9#error complex
10#endif
11#if !defined(_Complex_I)
12#error _Complex_I
13#endif
14
15#if 0 // No libc actually implements this.
16#if !defined(imaginary)
17#error imaginary
18#endif
19#if !defined(_Imaginary_I)
20#error _Imaginary_I
21#endif
22#endif
23
24#if !defined(I)
25#error I
26#endif
27
28static void complex_h() {
29 FUNCTION(cabs, double (*f)(double complex));
30 FUNCTION(cabsf, float (*f)(float complex));
31 FUNCTION(cabsl, long double (*f)(long double complex));
32
33 FUNCTION(cacos, double complex (*f)(double complex));
34 FUNCTION(cacosf, float complex (*f)(float complex));
35 FUNCTION(cacosl, long double complex (*f)(long double complex));
36
37 FUNCTION(cacosh, double complex (*f)(double complex));
38 FUNCTION(cacoshf, float complex (*f)(float complex));
39 FUNCTION(cacoshl, long double complex (*f)(long double complex));
40
41 FUNCTION(carg, double (*f)(double complex));
42 FUNCTION(cargf, float (*f)(float complex));
43 FUNCTION(cargl, long double (*f)(long double complex));
44
45 FUNCTION(casin, double complex (*f)(double complex));
46 FUNCTION(casinf, float complex (*f)(float complex));
47 FUNCTION(casinl, long double complex (*f)(long double complex));
48
49 FUNCTION(casinh, double complex (*f)(double complex));
50 FUNCTION(casinhf, float complex (*f)(float complex));
51 FUNCTION(casinhl, long double complex (*f)(long double complex));
52
53 FUNCTION(catan, double complex (*f)(double complex));
54 FUNCTION(catanf, float complex (*f)(float complex));
55 FUNCTION(catanl, long double complex (*f)(long double complex));
56
57 FUNCTION(catanh, double complex (*f)(double complex));
58 FUNCTION(catanhf, float complex (*f)(float complex));
59 FUNCTION(catanhl, long double complex (*f)(long double complex));
60
61 FUNCTION(ccos, double complex (*f)(double complex));
62 FUNCTION(ccosf, float complex (*f)(float complex));
63 FUNCTION(ccosl, long double complex (*f)(long double complex));
64
65 FUNCTION(ccosh, double complex (*f)(double complex));
66 FUNCTION(ccoshf, float complex (*f)(float complex));
67 FUNCTION(ccoshl, long double complex (*f)(long double complex));
68
69 FUNCTION(cexp, double complex (*f)(double complex));
70 FUNCTION(cexpf, float complex (*f)(float complex));
71 FUNCTION(cexpl, long double complex (*f)(long double complex));
72
73 FUNCTION(cimag, double (*f)(double complex));
74 FUNCTION(cimagf, float (*f)(float complex));
75 FUNCTION(cimagl, long double (*f)(long double complex));
76
77 FUNCTION(clog, double complex (*f)(double complex));
78 FUNCTION(clogf, float complex (*f)(float complex));
79 FUNCTION(clogl, long double complex (*f)(long double complex));
80
81 FUNCTION(conj, double complex (*f)(double complex));
82 FUNCTION(conjf, float complex (*f)(float complex));
83 FUNCTION(conjl, long double complex (*f)(long double complex));
84
85 FUNCTION(cpow, double complex (*f)(double complex, double complex));
86 FUNCTION(cpowf, float complex (*f)(float complex, float complex));
87 FUNCTION(cpowl, long double complex (*f)(long double complex, long double complex));
88
89 FUNCTION(cproj, double complex (*f)(double complex));
90 FUNCTION(cprojf, float complex (*f)(float complex));
91 FUNCTION(cprojl, long double complex (*f)(long double complex));
92
93 FUNCTION(creal, double (*f)(double complex));
94 FUNCTION(crealf, float (*f)(float complex));
95 FUNCTION(creall, long double (*f)(long double complex));
96
97 FUNCTION(csin, double complex (*f)(double complex));
98 FUNCTION(csinf, float complex (*f)(float complex));
99 FUNCTION(csinl, long double complex (*f)(long double complex));
100
101 FUNCTION(csinh, double complex (*f)(double complex));
102 FUNCTION(csinhf, float complex (*f)(float complex));
103 FUNCTION(csinhl, long double complex (*f)(long double complex));
104
105 FUNCTION(csqrt, double complex (*f)(double complex));
106 FUNCTION(csqrtf, float complex (*f)(float complex));
107 FUNCTION(csqrtl, long double complex (*f)(long double complex));
108
109 FUNCTION(ctan, double complex (*f)(double complex));
110 FUNCTION(ctanf, float complex (*f)(float complex));
111 FUNCTION(ctanl, long double complex (*f)(long double complex));
112
113 FUNCTION(ctanh, double complex (*f)(double complex));
114 FUNCTION(ctanhf, float complex (*f)(float complex));
115 FUNCTION(ctanhl, long double complex (*f)(long double complex));
116}