1 /* 2 * Copyright 2015 Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _COMPLEX_H_ 6 #define _COMPLEX_H_ 7 8 #ifdef __GNUC__ 9 # if __STDC_VERSION__ < 199901L 10 # define _Complex __complex__ 11 #endif 12 #define _Complex_I ((float _Complex)1.0i) 13 #endif 14 15 #define complex _Complex 16 #define I _Complex_I 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 extern double cabs(double complex); 23 extern float cabsf(float complex); 24 extern long double cabsl(long double complex); 25 extern double complex cacos(double complex); 26 extern float complex cacosf(float complex); 27 extern double complex cacosh(double complex); 28 extern float complex cacoshf(float complex); 29 extern long double complex cacoshl(long double complex); 30 extern long double complex cacosl(long double complex); 31 extern double carg(double complex); 32 extern float cargf(float complex); 33 extern long double cargl(long double complex); 34 extern double complex casin(double complex); 35 extern float complex casinf(float complex); 36 extern double complex casinh(double complex); 37 extern float complex casinhf(float complex); 38 extern long double complex casinhl(long double complex); 39 extern long double complex casinl(long double complex); 40 extern double complex catan(double complex); 41 extern float complex catanf(float complex); 42 extern double complex catanh(double complex); 43 extern float complex catanhf(float complex); 44 extern long double complex catanhl(long double complex); 45 extern long double complex catanl(long double complex); 46 extern double complex ccos(double complex); 47 extern float complex ccosf(float complex); 48 extern double complex ccosh(double complex); 49 extern float complex ccoshf(float complex); 50 extern long double complex ccoshl(long double complex); 51 extern long double complex ccosl(long double complex); 52 extern double complex cexp(double complex); 53 extern float complex cexpf(float complex); 54 extern long double complex cexpl(long double complex); 55 extern double cimag(double complex); 56 extern float cimagf(float complex); 57 extern long double cimagl(long double complex); 58 extern double complex clog(double complex); 59 extern float complex clogf(float complex); 60 extern long double complex clogl(long double complex); 61 extern double complex conj(double complex); 62 extern float complex conjf(float complex); 63 extern long double complex conjl(long double complex); 64 extern double complex cpow(double complex, double complex); 65 extern float complex cpowf(float complex, float complex); 66 extern long double complex cpowl(long double complex, long double complex); 67 extern double complex cproj(double complex); 68 extern float complex cprojf(float complex); 69 extern long double complex cprojl(long double complex); 70 extern double creal(double complex); 71 extern float crealf(float complex); 72 extern long double creall(long double complex); 73 extern double complex csin(double complex); 74 extern float complex csinf(float complex); 75 extern double complex csinh(double complex); 76 extern float complex csinhf(float complex); 77 extern long double complex csinhl(long double complex); 78 extern long double complex csinl(long double complex); 79 extern double complex csqrt(double complex); 80 extern float complex csqrtf(float complex); 81 extern long double complex csqrtl(long double complex); 82 extern double complex ctan(double complex); 83 extern float complex ctanf(float complex); 84 extern double complex ctanh(double complex); 85 extern float complex ctanhf(float complex); 86 extern long double complex ctanhl(long double complex); 87 extern long double complex ctanl(long double complex); 88 89 #ifdef __cplusplus 90 } /* extern "C" */ 91 #endif 92 93 #endif /* _COMPLEX_H_ */ 94