#ifndef __COMPLEX_LOADED #define __COMPLEX_LOADED 1 /**************************************************************************** ** ** - C99 complex data type ** ***************************************************************************** ** Header introduced by the C99 Standard ***************************************************************************** ** Copyright 2000 Compaq Computer Corporation ** ** Compaq and the Compaq logo Registered in U.S. Patent and Trademark Office. ** ** Confidential computer software. Valid license from Compaq required for ** possession, use or copying. Consistent with FAR 12.211 and 12.212, ** Commercial Computer Software, Computer Software Documentation, and ** Technical Data for Commercial Items are licensed to the U.S. Government ** under vendor's standard commercial license. ** ***************************************************************************** */ #pragma __nostandard #include #if !( defined(__ALPHA) && defined(__DECC) && __DECC_VER >= 60400000 ) # error "C99 header is not supported by this compiler." #elif __D_FLOAT # error "The complex data type is not supported in D_FLOAT format." #else #define complex _Complex /* * Because the _Complex_I define is recursive, we avoid it in * vaxc mode - the compiler message saying the complex data types * are not supported in this language mode is what we want to see, * not the recursive expansion message. */ #if !defined(__VAXC) # define _Complex_I _Complex_I #endif #define I _Complex_I extern double complex cacos (double complex __z); extern float complex cacosf (float complex __z); extern long double complex cacosl (long double complex __z); extern double complex casin (double complex __z); extern float complex casinf (float complex __z); extern long double complex casinl (long double complex __z); extern double complex catan (double complex __z); extern float complex catanf (float complex __z); extern long double complex catanl (long double complex __z); extern double complex ccos (double complex __z); extern float complex ccosf (float complex __z); extern long double complex ccosl (long double complex __z); extern double complex csin (double complex __z); extern float complex csinf (float complex __z); extern long double complex csinl (long double complex __z); extern double complex ctan (double complex __z); extern float complex ctanf (float complex __z); extern long double complex ctanl (long double complex __z); extern double complex cacosh (double complex __z); extern float complex cacoshf (float complex __z); extern long double complex cacoshl (long double complex __z); extern double complex casinh (double complex __z); extern float complex casinhf (float complex __z); extern long double complex casinhl (long double complex __z); extern double complex catanh (double complex __z); extern float complex catanhf (float complex __z); extern long double complex catanhl (long double complex __z); extern double complex ccosh (double complex __z); extern float complex ccoshf (float complex __z); extern long double complex ccoshl (long double complex __z); extern double complex csinh (double complex __z); extern float complex csinhf (float complex __z); extern long double complex csinhl (long double complex __z); extern double complex ctanh (double complex __z); extern float complex ctanhf (float complex __z); extern long double complex ctanhl (long double complex __z); extern double complex cexp (double complex __z); extern float complex cexpf (float complex __z); extern long double complex cexpl (long double complex __z); extern double complex clog (double complex __z); extern float complex clogf (float complex __z); extern long double complex clogl (long double complex __z); #if defined(_MATH_H_DEFINED_CABS) # pragma __message ("Temporary restriction: " \ " defined incompatible declarations " \ "for cabs(), cabsf(), and cabsl() using struct types. " \ "To get correct c99 declarations for these " \ "functions, you must #include before the " \ "#include of .") #else # define cabsl MATH$CABS_X # if __IEEE_FLOAT # define cabs MATH$HYPOT_T # define cabsf MATH$HYPOT_S # else # define cabs MATH$HYPOT_G # define cabsf MATH$HYPOT_F # endif extern double cabs (double complex __z); extern float cabsf (float complex __z); extern long double cabsl (long double complex __z); #endif extern double complex cpow (double complex __x, double complex __y); extern float complex cpowf (float complex __x, float complex __y); extern long double complex cpowl (long double complex __x, long double complex __y); extern double complex csqrt (double complex __z); extern float complex csqrtf (float complex __z); extern long double complex csqrtl (long double complex __z); extern double carg (double complex __z); extern float cargf (float complex __z); extern long double cargl (long double complex __z); extern double cimag (double complex __z); extern float cimagf (float complex __z); extern long double cimagl (long double complex __z); extern double complex conj (double complex __z); extern float complex conjf (float complex __z); extern long double complex conjl (long double complex __z); extern double complex cproj (double complex __z); extern float complex cprojf (float complex __z); extern long double complex cprojl (long double complex __z); extern double creal (double complex __z); extern float crealf (float complex __z); extern long double creall (long double complex __z); #endif /* defined(__ALPHA) && defined(__DECC) && __DECC_VER >= 60400000 && !__D_FLOAT */ #pragma __standard #endif /* __COMPLEX_LOADED */