1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 23 */ 24 /* 25 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 26 * Use is subject to license terms. 27 */ 28 29 #ifndef _COMPLEX_H 30 #define _COMPLEX_H 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 /* #if !defined(__cplusplus) */ 37 38 /* 39 * Compilation environments for Solaris must provide the _Imaginary datatype 40 * and the compiler intrinsics _Complex_I and _Imaginary_I 41 */ 42 #define _Complex_I _Complex_I 43 #define complex _Complex 44 #define _Imaginary_I _Imaginary_I 45 #define imaginary _Imaginary 46 #undef I 47 #define I _Imaginary_I 48 49 extern float cabsf(float complex); 50 extern float cargf(float complex); 51 extern float cimagf(float complex); 52 extern float crealf(float complex); 53 extern float complex cacosf(float complex); 54 extern float complex cacoshf(float complex); 55 extern float complex casinf(float complex); 56 extern float complex casinhf(float complex); 57 extern float complex catanf(float complex); 58 extern float complex catanhf(float complex); 59 extern float complex ccosf(float complex); 60 extern float complex ccoshf(float complex); 61 extern float complex cexpf(float complex); 62 extern float complex clogf(float complex); 63 extern float complex conjf(float complex); 64 extern float complex cpowf(float complex, float complex); 65 extern float complex cprojf(float complex); 66 extern float complex csinf(float complex); 67 extern float complex csinhf(float complex); 68 extern float complex csqrtf(float complex); 69 extern float complex ctanf(float complex); 70 extern float complex ctanhf(float complex); 71 72 extern double cabs(double complex); 73 extern double carg(double complex); 74 extern double cimag(double complex); 75 extern double creal(double complex); 76 extern double complex cacos(double complex); 77 extern double complex cacosh(double complex); 78 extern double complex casin(double complex); 79 extern double complex casinh(double complex); 80 extern double complex catan(double complex); 81 extern double complex catanh(double complex); 82 extern double complex ccos(double complex); 83 extern double complex ccosh(double complex); 84 extern double complex cexp(double complex); 85 #if defined(__PRAGMA_REDEFINE_EXTNAME) 86 #pragma redefine_extname clog __clog 87 #else 88 #undef clog 89 #define clog __clog 90 #endif 91 extern double complex clog(double complex); 92 extern double complex conj(double complex); 93 extern double complex cpow(double complex, double complex); 94 extern double complex cproj(double complex); 95 extern double complex csin(double complex); 96 extern double complex csinh(double complex); 97 extern double complex csqrt(double complex); 98 extern double complex ctan(double complex); 99 extern double complex ctanh(double complex); 100 101 extern long double cabsl(long double complex); 102 extern long double cargl(long double complex); 103 extern long double cimagl(long double complex); 104 extern long double creall(long double complex); 105 extern long double complex cacoshl(long double complex); 106 extern long double complex cacosl(long double complex); 107 extern long double complex casinhl(long double complex); 108 extern long double complex casinl(long double complex); 109 extern long double complex catanhl(long double complex); 110 extern long double complex catanl(long double complex); 111 extern long double complex ccoshl(long double complex); 112 extern long double complex ccosl(long double complex); 113 extern long double complex cexpl(long double complex); 114 extern long double complex clogl(long double complex); 115 extern long double complex conjl(long double complex); 116 extern long double complex cpowl(long double complex, long double complex); 117 extern long double complex cprojl(long double complex); 118 extern long double complex csinhl(long double complex); 119 extern long double complex csinl(long double complex); 120 extern long double complex csqrtl(long double complex); 121 extern long double complex ctanhl(long double complex); 122 extern long double complex ctanl(long double complex); 123 124 /* #endif */ /* !defined(__cplusplus) */ 125 #ifdef __cplusplus 126 } 127 #endif 128 129 #endif /* _COMPLEX_H */