complex.h revision 226458
178172Sru/*-
2226458Sdas * Copyright (c) 2001-2011 The FreeBSD Project.
378172Sru * All rights reserved.
478172Sru *
578172Sru * Redistribution and use in source and binary forms, with or without
678172Sru * modification, are permitted provided that the following conditions
778172Sru * are met:
878172Sru * 1. Redistributions of source code must retain the above copyright
978172Sru *    notice, this list of conditions and the following disclaimer.
1078172Sru * 2. Redistributions in binary form must reproduce the above copyright
1178172Sru *    notice, this list of conditions and the following disclaimer in the
1278172Sru *    documentation and/or other materials provided with the distribution.
1378172Sru *
1478172Sru * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1578172Sru * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1678172Sru * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1778172Sru * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1878172Sru * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1978172Sru * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2078172Sru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2178172Sru * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2278172Sru * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2378172Sru * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2478172Sru * SUCH DAMAGE.
2578172Sru *
2678172Sru * $FreeBSD: head/include/complex.h 226458 2011-10-17 05:41:03Z das $
2778172Sru */
2878172Sru
2978172Sru#ifndef _COMPLEX_H
30133724Sstefanf#define	_COMPLEX_H
3178172Sru
3278172Sru#ifdef __GNUC__
33133725Sstefanf#if __STDC_VERSION__ < 199901
34133724Sstefanf#define	_Complex	__complex__
35133725Sstefanf#endif
36133724Sstefanf#define	_Complex_I	1.0fi
3778172Sru#endif
3878172Sru
39133724Sstefanf#define	complex		_Complex
40133724Sstefanf#define	I		_Complex_I
4178172Sru
4278172Sru#include <sys/cdefs.h>
4378172Sru
4478172Sru__BEGIN_DECLS
4578172Sru
46129864Sstefanfdouble		cabs(double complex);
47129864Sstefanffloat		cabsf(float complex);
48177760Sdaslong double	cabsl(long double complex);
49174561Sdasdouble		carg(double complex);
50174561Sdasfloat		cargf(float complex);
51181375Sdaslong double	cargl(long double complex);
52226458Sdasdouble complex	ccos(double complex);
53226458Sdasfloat complex	ccosf(float complex);
54226458Sdasdouble complex	ccosh(double complex);
55226458Sdasfloat complex	ccoshf(float complex);
56219379Sdasdouble complex	cexp(double complex);
57219379Sdasfloat complex	cexpf(float complex);
58181375Sdasdouble		cimag(double complex) __pure2;
59181375Sdasfloat		cimagf(float complex) __pure2;
60181375Sdaslong double	cimagl(long double complex) __pure2;
61181375Sdasdouble complex	conj(double complex) __pure2;
62181375Sdasfloat complex	conjf(float complex) __pure2;
63129864Sstefanflong double complex
64181375Sdas		conjl(long double complex) __pure2;
65181377Sdasfloat complex	cprojf(float complex) __pure2;
66181377Sdasdouble complex	cproj(double complex) __pure2;
67181377Sdaslong double complex
68181377Sdas		cprojl(long double complex) __pure2;
69181375Sdasdouble		creal(double complex) __pure2;
70181375Sdasfloat		crealf(float complex) __pure2;
71181375Sdaslong double	creall(long double complex) __pure2;
72226458Sdasdouble complex	csin(double complex);
73226458Sdasfloat complex	csinf(float complex);
74226458Sdasdouble complex	csinh(double complex);
75226458Sdasfloat complex	csinhf(float complex);
76174617Sdasdouble complex	csqrt(double complex);
77174617Sdasfloat complex	csqrtf(float complex);
78177761Sdaslong double complex
79177761Sdas		csqrtl(long double complex);
80226458Sdasdouble complex	ctan(double complex);
81226458Sdasfloat complex	ctanf(float complex);
82226458Sdasdouble complex	ctanh(double complex);
83226458Sdasfloat complex	ctanhf(float complex);
8478172Sru
8578172Sru__END_DECLS
8678172Sru
8778172Sru#endif /* _COMPLEX_H */
88