• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2017 The Android Open Source Project
2 // SPDX-License-Identifier: BSD-2-Clause
3 
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 
complex_h()28 static 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 }
117