178172Sru/*- 2177760Sdas * Copyright (c) 2001-2008 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$ 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 36231282Sed#define _Complex_I ((float _Complex)1.0i) 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); 52219379Sdasdouble complex cexp(double complex); 53219379Sdasfloat complex cexpf(float complex); 54181375Sdasdouble cimag(double complex) __pure2; 55181375Sdasfloat cimagf(float complex) __pure2; 56181375Sdaslong double cimagl(long double complex) __pure2; 57181375Sdasdouble complex conj(double complex) __pure2; 58181375Sdasfloat complex conjf(float complex) __pure2; 59129864Sstefanflong double complex 60181375Sdas conjl(long double complex) __pure2; 61181377Sdasfloat complex cprojf(float complex) __pure2; 62181377Sdasdouble complex cproj(double complex) __pure2; 63181377Sdaslong double complex 64181377Sdas cprojl(long double complex) __pure2; 65181375Sdasdouble creal(double complex) __pure2; 66181375Sdasfloat crealf(float complex) __pure2; 67181375Sdaslong double creall(long double complex) __pure2; 68174617Sdasdouble complex csqrt(double complex); 69174617Sdasfloat complex csqrtf(float complex); 70177761Sdaslong double complex 71177761Sdas csqrtl(long double complex); 7278172Sru 7378172Sru__END_DECLS 7478172Sru 7578172Sru#endif /* _COMPLEX_H */ 76