1*8d67ca89SAndroid Build Coastguard Worker /*- 2*8d67ca89SAndroid Build Coastguard Worker * Copyright (c) 2001-2011 The FreeBSD Project. 3*8d67ca89SAndroid Build Coastguard Worker * All rights reserved. 4*8d67ca89SAndroid Build Coastguard Worker * 5*8d67ca89SAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*8d67ca89SAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*8d67ca89SAndroid Build Coastguard Worker * are met: 8*8d67ca89SAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 9*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 10*8d67ca89SAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 11*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 12*8d67ca89SAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 13*8d67ca89SAndroid Build Coastguard Worker * 14*8d67ca89SAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*8d67ca89SAndroid Build Coastguard Worker * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*8d67ca89SAndroid Build Coastguard Worker * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*8d67ca89SAndroid Build Coastguard Worker * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*8d67ca89SAndroid Build Coastguard Worker * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*8d67ca89SAndroid Build Coastguard Worker * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*8d67ca89SAndroid Build Coastguard Worker * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*8d67ca89SAndroid Build Coastguard Worker * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*8d67ca89SAndroid Build Coastguard Worker * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*8d67ca89SAndroid Build Coastguard Worker * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*8d67ca89SAndroid Build Coastguard Worker * SUCH DAMAGE. 25*8d67ca89SAndroid Build Coastguard Worker * 26*8d67ca89SAndroid Build Coastguard Worker * $FreeBSD$ 27*8d67ca89SAndroid Build Coastguard Worker */ 28*8d67ca89SAndroid Build Coastguard Worker 29*8d67ca89SAndroid Build Coastguard Worker #ifndef _COMPLEX_H 30*8d67ca89SAndroid Build Coastguard Worker #define _COMPLEX_H 31*8d67ca89SAndroid Build Coastguard Worker 32*8d67ca89SAndroid Build Coastguard Worker #include <sys/cdefs.h> 33*8d67ca89SAndroid Build Coastguard Worker 34*8d67ca89SAndroid Build Coastguard Worker #ifdef __GNUC__ 35*8d67ca89SAndroid Build Coastguard Worker #define _Complex_I ((float _Complex)1.0i) 36*8d67ca89SAndroid Build Coastguard Worker #endif 37*8d67ca89SAndroid Build Coastguard Worker 38*8d67ca89SAndroid Build Coastguard Worker #ifdef __generic 39*8d67ca89SAndroid Build Coastguard Worker _Static_assert(__generic(_Complex_I, float _Complex, 1, 0), 40*8d67ca89SAndroid Build Coastguard Worker "_Complex_I must be of type float _Complex"); 41*8d67ca89SAndroid Build Coastguard Worker #endif 42*8d67ca89SAndroid Build Coastguard Worker 43*8d67ca89SAndroid Build Coastguard Worker #define complex _Complex 44*8d67ca89SAndroid Build Coastguard Worker #define I _Complex_I 45*8d67ca89SAndroid Build Coastguard Worker 46*8d67ca89SAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 201112L 47*8d67ca89SAndroid Build Coastguard Worker #define CMPLX(x, y) ((double complex){ x, y }) 48*8d67ca89SAndroid Build Coastguard Worker #define CMPLXF(x, y) ((float complex){ x, y }) 49*8d67ca89SAndroid Build Coastguard Worker #define CMPLXL(x, y) ((long double complex){ x, y }) 50*8d67ca89SAndroid Build Coastguard Worker #endif 51*8d67ca89SAndroid Build Coastguard Worker 52*8d67ca89SAndroid Build Coastguard Worker __BEGIN_DECLS 53*8d67ca89SAndroid Build Coastguard Worker 54*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5 Trigonometric functions */ 55*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The cacos functions */ 56*8d67ca89SAndroid Build Coastguard Worker 57*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 58*8d67ca89SAndroid Build Coastguard Worker double complex cacos(double complex __z) __INTRODUCED_IN(23); 59*8d67ca89SAndroid Build Coastguard Worker float complex cacosf(float complex __z) __INTRODUCED_IN(23); 60*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 61*8d67ca89SAndroid Build Coastguard Worker 62*8d67ca89SAndroid Build Coastguard Worker 63*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 64*8d67ca89SAndroid Build Coastguard Worker long double complex cacosl(long double complex __z) __INTRODUCED_IN(26); 65*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 66*8d67ca89SAndroid Build Coastguard Worker 67*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.2 The casin functions */ 68*8d67ca89SAndroid Build Coastguard Worker 69*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 70*8d67ca89SAndroid Build Coastguard Worker double complex casin(double complex __z) __INTRODUCED_IN(23); 71*8d67ca89SAndroid Build Coastguard Worker float complex casinf(float complex __z) __INTRODUCED_IN(23); 72*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 73*8d67ca89SAndroid Build Coastguard Worker 74*8d67ca89SAndroid Build Coastguard Worker 75*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 76*8d67ca89SAndroid Build Coastguard Worker long double complex casinl(long double complex __z) __INTRODUCED_IN(26); 77*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 78*8d67ca89SAndroid Build Coastguard Worker 79*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The catan functions */ 80*8d67ca89SAndroid Build Coastguard Worker 81*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 82*8d67ca89SAndroid Build Coastguard Worker double complex catan(double complex __z) __INTRODUCED_IN(23); 83*8d67ca89SAndroid Build Coastguard Worker float complex catanf(float complex __z) __INTRODUCED_IN(23); 84*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 85*8d67ca89SAndroid Build Coastguard Worker 86*8d67ca89SAndroid Build Coastguard Worker 87*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 88*8d67ca89SAndroid Build Coastguard Worker long double complex catanl(long double complex __z) __INTRODUCED_IN(26); 89*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 90*8d67ca89SAndroid Build Coastguard Worker 91*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The ccos functions */ 92*8d67ca89SAndroid Build Coastguard Worker 93*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 94*8d67ca89SAndroid Build Coastguard Worker double complex ccos(double complex __z) __INTRODUCED_IN(23); 95*8d67ca89SAndroid Build Coastguard Worker float complex ccosf(float complex __z) __INTRODUCED_IN(23); 96*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 97*8d67ca89SAndroid Build Coastguard Worker 98*8d67ca89SAndroid Build Coastguard Worker 99*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 100*8d67ca89SAndroid Build Coastguard Worker long double complex ccosl(long double complex __z) __INTRODUCED_IN(26); 101*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 102*8d67ca89SAndroid Build Coastguard Worker 103*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The csin functions */ 104*8d67ca89SAndroid Build Coastguard Worker 105*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 106*8d67ca89SAndroid Build Coastguard Worker double complex csin(double complex __z) __INTRODUCED_IN(23); 107*8d67ca89SAndroid Build Coastguard Worker float complex csinf(float complex __z) __INTRODUCED_IN(23); 108*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 109*8d67ca89SAndroid Build Coastguard Worker 110*8d67ca89SAndroid Build Coastguard Worker 111*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 112*8d67ca89SAndroid Build Coastguard Worker long double complex csinl(long double complex __z) __INTRODUCED_IN(26); 113*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 114*8d67ca89SAndroid Build Coastguard Worker 115*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The ctan functions */ 116*8d67ca89SAndroid Build Coastguard Worker 117*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 118*8d67ca89SAndroid Build Coastguard Worker double complex ctan(double complex __z) __INTRODUCED_IN(23); 119*8d67ca89SAndroid Build Coastguard Worker float complex ctanf(float complex __z) __INTRODUCED_IN(23); 120*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 121*8d67ca89SAndroid Build Coastguard Worker 122*8d67ca89SAndroid Build Coastguard Worker 123*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 124*8d67ca89SAndroid Build Coastguard Worker long double complex ctanl(long double complex __z) __INTRODUCED_IN(26); 125*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 126*8d67ca89SAndroid Build Coastguard Worker 127*8d67ca89SAndroid Build Coastguard Worker 128*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6 Hyperbolic functions */ 129*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.1 The cacosh functions */ 130*8d67ca89SAndroid Build Coastguard Worker 131*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 132*8d67ca89SAndroid Build Coastguard Worker double complex cacosh(double complex __z) __INTRODUCED_IN(23); 133*8d67ca89SAndroid Build Coastguard Worker float complex cacoshf(float complex __z) __INTRODUCED_IN(23); 134*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 135*8d67ca89SAndroid Build Coastguard Worker 136*8d67ca89SAndroid Build Coastguard Worker 137*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 138*8d67ca89SAndroid Build Coastguard Worker long double complex cacoshl(long double complex __z) __INTRODUCED_IN(26); 139*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 140*8d67ca89SAndroid Build Coastguard Worker 141*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.2 The casinh functions */ 142*8d67ca89SAndroid Build Coastguard Worker 143*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 144*8d67ca89SAndroid Build Coastguard Worker double complex casinh(double complex __z) __INTRODUCED_IN(23); 145*8d67ca89SAndroid Build Coastguard Worker float complex casinhf(float complex __z) __INTRODUCED_IN(23); 146*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 147*8d67ca89SAndroid Build Coastguard Worker 148*8d67ca89SAndroid Build Coastguard Worker 149*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 150*8d67ca89SAndroid Build Coastguard Worker long double complex casinhl(long double complex __z) __INTRODUCED_IN(26); 151*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 152*8d67ca89SAndroid Build Coastguard Worker 153*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.3 The catanh functions */ 154*8d67ca89SAndroid Build Coastguard Worker 155*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 156*8d67ca89SAndroid Build Coastguard Worker double complex catanh(double complex __z) __INTRODUCED_IN(23); 157*8d67ca89SAndroid Build Coastguard Worker float complex catanhf(float complex __z) __INTRODUCED_IN(23); 158*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 159*8d67ca89SAndroid Build Coastguard Worker 160*8d67ca89SAndroid Build Coastguard Worker 161*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 162*8d67ca89SAndroid Build Coastguard Worker long double complex catanhl(long double complex __z) __INTRODUCED_IN(26); 163*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 164*8d67ca89SAndroid Build Coastguard Worker 165*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.4 The ccosh functions */ 166*8d67ca89SAndroid Build Coastguard Worker 167*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 168*8d67ca89SAndroid Build Coastguard Worker double complex ccosh(double complex __z) __INTRODUCED_IN(23); 169*8d67ca89SAndroid Build Coastguard Worker float complex ccoshf(float complex __z) __INTRODUCED_IN(23); 170*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 171*8d67ca89SAndroid Build Coastguard Worker 172*8d67ca89SAndroid Build Coastguard Worker 173*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 174*8d67ca89SAndroid Build Coastguard Worker long double complex ccoshl(long double complex __z) __INTRODUCED_IN(26); 175*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 176*8d67ca89SAndroid Build Coastguard Worker 177*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.5 The csinh functions */ 178*8d67ca89SAndroid Build Coastguard Worker 179*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 180*8d67ca89SAndroid Build Coastguard Worker double complex csinh(double complex __z) __INTRODUCED_IN(23); 181*8d67ca89SAndroid Build Coastguard Worker float complex csinhf(float complex __z) __INTRODUCED_IN(23); 182*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 183*8d67ca89SAndroid Build Coastguard Worker 184*8d67ca89SAndroid Build Coastguard Worker 185*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 186*8d67ca89SAndroid Build Coastguard Worker long double complex csinhl(long double complex __z) __INTRODUCED_IN(26); 187*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 188*8d67ca89SAndroid Build Coastguard Worker 189*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.6 The ctanh functions */ 190*8d67ca89SAndroid Build Coastguard Worker 191*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 192*8d67ca89SAndroid Build Coastguard Worker double complex ctanh(double complex __z) __INTRODUCED_IN(23); 193*8d67ca89SAndroid Build Coastguard Worker float complex ctanhf(float complex __z) __INTRODUCED_IN(23); 194*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 195*8d67ca89SAndroid Build Coastguard Worker 196*8d67ca89SAndroid Build Coastguard Worker 197*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 198*8d67ca89SAndroid Build Coastguard Worker long double complex ctanhl(long double complex __z) __INTRODUCED_IN(26); 199*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 200*8d67ca89SAndroid Build Coastguard Worker 201*8d67ca89SAndroid Build Coastguard Worker 202*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7 Exponential and logarithmic functions */ 203*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7.1 The cexp functions */ 204*8d67ca89SAndroid Build Coastguard Worker 205*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 206*8d67ca89SAndroid Build Coastguard Worker double complex cexp(double complex __z) __INTRODUCED_IN(23); 207*8d67ca89SAndroid Build Coastguard Worker float complex cexpf(float complex __z) __INTRODUCED_IN(23); 208*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 209*8d67ca89SAndroid Build Coastguard Worker 210*8d67ca89SAndroid Build Coastguard Worker 211*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 212*8d67ca89SAndroid Build Coastguard Worker long double complex cexpl(long double complex __z) __INTRODUCED_IN(26); 213*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7.2 The clog functions */ 214*8d67ca89SAndroid Build Coastguard Worker double complex clog(double complex __z) __INTRODUCED_IN(26); 215*8d67ca89SAndroid Build Coastguard Worker float complex clogf(float complex __z) __INTRODUCED_IN(26); 216*8d67ca89SAndroid Build Coastguard Worker long double complex clogl(long double complex __z) __INTRODUCED_IN(26); 217*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 218*8d67ca89SAndroid Build Coastguard Worker 219*8d67ca89SAndroid Build Coastguard Worker 220*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8 Power and absolute-value functions */ 221*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.1 The cabs functions */ 222*8d67ca89SAndroid Build Coastguard Worker 223*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 224*8d67ca89SAndroid Build Coastguard Worker double cabs(double complex __z) __INTRODUCED_IN(23); 225*8d67ca89SAndroid Build Coastguard Worker float cabsf(float complex __z) __INTRODUCED_IN(23); 226*8d67ca89SAndroid Build Coastguard Worker long double cabsl(long double complex __z) __INTRODUCED_IN(23); 227*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 228*8d67ca89SAndroid Build Coastguard Worker 229*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.2 The cpow functions */ 230*8d67ca89SAndroid Build Coastguard Worker 231*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26) 232*8d67ca89SAndroid Build Coastguard Worker double complex cpow(double complex __x, double complex __z) __INTRODUCED_IN(26); 233*8d67ca89SAndroid Build Coastguard Worker float complex cpowf(float complex __x, float complex __z) __INTRODUCED_IN(26); 234*8d67ca89SAndroid Build Coastguard Worker long double complex cpowl(long double complex __x, long double complex __z) __INTRODUCED_IN(26); 235*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */ 236*8d67ca89SAndroid Build Coastguard Worker 237*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.3 The csqrt functions */ 238*8d67ca89SAndroid Build Coastguard Worker 239*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23) 240*8d67ca89SAndroid Build Coastguard Worker double complex csqrt(double complex __z) __INTRODUCED_IN(23); 241*8d67ca89SAndroid Build Coastguard Worker float complex csqrtf(float complex __z) __INTRODUCED_IN(23); 242*8d67ca89SAndroid Build Coastguard Worker long double complex csqrtl(long double complex __z) __INTRODUCED_IN(23); 243*8d67ca89SAndroid Build Coastguard Worker 244*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9 Manipulation functions */ 245*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.1 The carg functions */ 246*8d67ca89SAndroid Build Coastguard Worker double carg(double complex __z) __INTRODUCED_IN(23); 247*8d67ca89SAndroid Build Coastguard Worker float cargf(float complex __z) __INTRODUCED_IN(23); 248*8d67ca89SAndroid Build Coastguard Worker long double cargl(long double complex __z) __INTRODUCED_IN(23); 249*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.2 The cimag functions */ 250*8d67ca89SAndroid Build Coastguard Worker double cimag(double complex __z) __INTRODUCED_IN(23); 251*8d67ca89SAndroid Build Coastguard Worker float cimagf(float complex __z) __INTRODUCED_IN(23); 252*8d67ca89SAndroid Build Coastguard Worker long double cimagl(long double complex __z) __INTRODUCED_IN(23); 253*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.3 The conj functions */ 254*8d67ca89SAndroid Build Coastguard Worker double complex conj(double complex __z) __INTRODUCED_IN(23); 255*8d67ca89SAndroid Build Coastguard Worker float complex conjf(float complex __z) __INTRODUCED_IN(23); 256*8d67ca89SAndroid Build Coastguard Worker long double complex conjl(long double complex __z) __INTRODUCED_IN(23); 257*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.4 The cproj functions */ 258*8d67ca89SAndroid Build Coastguard Worker double complex cproj(double complex __z) __INTRODUCED_IN(23); 259*8d67ca89SAndroid Build Coastguard Worker float complex cprojf(float complex __z) __INTRODUCED_IN(23); 260*8d67ca89SAndroid Build Coastguard Worker long double complex cprojl(long double complex __z) __INTRODUCED_IN(23); 261*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.5 The creal functions */ 262*8d67ca89SAndroid Build Coastguard Worker double creal(double complex __z) __INTRODUCED_IN(23); 263*8d67ca89SAndroid Build Coastguard Worker float crealf(float complex __z) __INTRODUCED_IN(23); 264*8d67ca89SAndroid Build Coastguard Worker long double creall(long double complex __z) __INTRODUCED_IN(23); 265*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */ 266*8d67ca89SAndroid Build Coastguard Worker 267*8d67ca89SAndroid Build Coastguard Worker 268*8d67ca89SAndroid Build Coastguard Worker __END_DECLS 269*8d67ca89SAndroid Build Coastguard Worker 270*8d67ca89SAndroid Build Coastguard Worker #endif 271