Merge branch 'vendor/OPENSSL'
[dragonfly.git] / include / complex.h
1 /*-
2  * Copyright (c) 2001 The FreeBSD Project.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24  * SUCH DAMAGE.
25  *
26  * $FreeBSD: src/include/complex.h,v 1.1.2.1 2001/11/23 16:16:18 dd Exp $
27  * $DragonFly: src/include/complex.h,v 1.3 2003/11/14 01:01:43 dillon Exp $
28  */
29
30 #ifndef _COMPLEX_H
31 #define _COMPLEX_H
32
33 #ifdef __GNUC__
34 #if __STDC_VERSION__ < 199901L
35 #define _Complex        __complex__
36 #endif
37 #define _Complex_I      1.0fi
38 #endif /* !__GNUC__ */
39
40 /* 7.3 Complex arithmetic <complex.h> */
41 /* 7.3.1 */
42 #define complex         _Complex
43 #define I               _Complex_I
44
45 #include <sys/cdefs.h>
46
47 __BEGIN_DECLS
48
49 /* 7.3.5 Trigonometric functions */
50 /* 7.3.5.1 The cacos functions */
51 double complex cacos(double complex);
52 float complex cacosf(float complex);
53
54 /* 7.3.5.2 The casin functions */
55 double complex casin(double complex);
56 float complex casinf(float complex);
57
58 /* 7.3.5.3 The catan functions */
59 double complex catan(double complex);
60 float complex catanf(float complex);
61
62 /* 7.3.5.4 The ccos functions */
63 double complex ccos(double complex);
64 float complex ccosf(float complex);
65
66 /* 7.3.5.5 The csin functions */
67 double complex csin(double complex);
68 float complex csinf(float complex);
69
70 /* 7.3.5.6 The ctan functions */
71 double complex ctan(double complex);
72 float complex ctanf(float complex);
73
74 /* 7.3.6 Hyperbolic functions */
75 /* 7.3.6.1 The cacosh functions */
76 double complex cacosh(double complex);
77 float complex cacoshf(float complex);
78
79 /* 7.3.6.2 The casinh functions */
80 double complex casinh(double complex);
81 float complex casinhf(float complex);
82
83 /* 7.3.6.3 The catanh functions */
84 double complex catanh(double complex);
85 float complex catanhf(float complex);
86
87 /* 7.3.6.4 The ccosh functions */
88 double complex ccosh(double complex);
89 float complex ccoshf(float complex);
90
91 /* 7.3.6.5 The csinh functions */
92 double complex csinh(double complex);
93 float complex csinhf(float complex);
94
95 /* 7.3.6.6 The ctanh functions */
96 double complex ctanh(double complex);
97 float complex ctanhf(float complex);
98
99 /* 7.3.7 Exponential and logarithmic functions */
100 /* 7.3.7.1 The cexp functions */
101 double complex cexp(double complex);
102 float complex cexpf(float complex);
103
104 /* 7.3.7.2 The clog functions */
105 double complex clog(double complex);
106 float complex clogf(float complex);
107
108 /* 7.3.8 Power and absolute-value functions */
109 /* 7.3.8.1 The cabs functions */
110 double cabs(double complex);
111 float cabsf(float complex);
112
113 /* 7.3.8.2 The cpow functions */
114 double complex cpow(double complex, double complex);
115 float complex cpowf(float complex, float complex);
116
117 /* 7.3.8.3 The csqrt functions */
118 double complex csqrt(double complex);
119 float complex csqrtf(float complex);
120
121 /* 7.3.9 Manipulation functions */
122 /* 7.3.9.1 The carg functions */
123 double carg(double complex);
124 float cargf(float complex);
125
126 /* 7.3.9.2 The cimag functions */
127 double cimag(double complex);
128 float cimagf(float complex);
129 long double cimagl(long double complex);
130
131 /* 7.3.9.3 The conj functions */
132 double complex conj(double complex);
133 float complex conjf(float complex);
134 long double complex conjl(long double complex);
135
136 /* 7.3.9.4 The cproj functions */
137 double complex cproj(double complex);
138 float complex cprojf(float complex);
139 long double complex cprojl(long double complex);
140
141 /* 7.3.9.5 The creal functions */
142 double creal(double complex);
143 float crealf(float complex);
144 long double creall(long double complex);
145
146 __END_DECLS
147
148 #endif /* _COMPLEX_H */