complex.h: move from compiler/clib/include to compiler/mlib
[AROS.git] / compiler / mlib / complex.h
blobcdb992f4b073ade377d884766bec85119b0a4906
1 #ifndef _COMPLEX_H_
2 #define _COMPLEX_H_
3 /*
4 Copyright © 1995-2002, The AROS Development Team. All rights reserved.
5 $Id$
7 Standard C Library: C99 complex.h
8 */
10 #include <aros/system.h>
12 /* GNU C provides an implementation of the complex type */
13 #ifdef __GNUC__
14 # define _Complex __complex__
15 # define _Complex_I 1.0fi
16 #endif
18 #define complex _Complex
19 #define I _Complex_I
21 __BEGIN_DECLS
22 double complex cacos(double complex z);
23 float complex cacosf(float complex z);
24 double complex casin(double complex z);
25 float complex casinf(float complex z);
26 double complex catan(double complex z);
27 float complex catanf(float complex z);
28 double complex ccos(double complex z);
29 float complex ccosf(float complex z);
30 double complex csin(double complex z);
31 float complex csinf(float complex z);
32 double complex ctan(double complex z);
33 float complex ctanf(float complex z);
34 double complex cacosh(double complex z);
35 float complex cacoshf(float complex z);
36 double complex casinh(double complex z);
37 float complex casinhf(float complex z);
38 double complex catanh(double complex z);
39 float complex catanhf(float complex z);
40 double complex ccosh(double complex z);
41 float complex ccoshf(float complex z);
42 double complex csinh(double complex z);
43 float complex csinhf(float complex z);
44 double complex ctanh(double complex z);
45 float complex ctanhf(float complex z);
46 double complex cexp(double complex z);
47 float complex cexpf(float complex z);
48 double complex clog(double complex z);
49 float complex clogf(float complex z);
50 double cabs(double complex z);
51 float cabsf(float complex z);
52 double complex cpow(double complex x, double complex y);
53 float complex cpowf(float complex x, float complex y);
54 double complex csqrt(double complex z);
55 float complex csqrtf(float complex z);
56 double carg(double complex z);
57 float cargf(float complex z);
58 double cimag(double complex z);
59 float cimagf(float complex z);
60 double complex conj(double complex z);
61 float complex conjf(float complex z);
62 double complex cproj(double complex z);
63 float complex cprojf(float complex z);
64 double creal(double complex z);
65 float crealf(float complex z);
67 /* C99 long double variants */
68 long double complex cacosl(long double complex z);
69 long double complex casinl(long double complex z);
70 long double complex catanl(long double complex z);
71 long double complex ccosl(long double complex z);
72 long double complex csinl(long double complex z);
73 long double complex ctanl(long double complex z);
74 long double complex cacoshl(long double complex z);
75 long double complex ccoshl(long double complex z);
76 long double complex casinhl(long double complex z);
77 long double complex catanhl(long double complex z);
78 long double complex csinhl(long double complex z);
79 long double complex ctanhl(long double complex z);
80 long double complex cexpl(long double complex z);
81 long double complex clogl(long double complex z);
82 long double cabsl(long double complex z);
83 long double complex cpowl(long double complex x, long double complex y);
84 long double complex csqrtl(long double complex z);
85 long double cargl(long double complex z);
86 long double cimagl(long double complex z);
87 long double complex conjl(long double complex z);
88 long double complex cprojl(long double complex z);
89 long double creall(long double complex z);
90 __END_DECLS
92 #ifdef __GNUC__
93 #define cimag(z) (__imag__ (z))
94 #define cimagf(z) (__imag__ (z))
95 #define cimagl(z) (__imag__ (z))
97 #define creal(z) (__imag__ (z))
98 #define crealf(z) (__imag__ (z))
99 #define creall(z) (__imag__ (z))
100 #endif
102 #endif /* _COMPLEX_H_ */