#ifndef __COMPLEX_LOADED #define __COMPLEX_LOADED 1 /**************************************************************************** ** ** - C99 complex data type ** ***************************************************************************** ** Header introduced by the C99 Standard ***************************************************************************** ** ** Copyright 2003 Hewlett-Packard Development Company, L.P. ** ** Confidential computer software. Valid license from HP and/or ** its subsidiaries 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. ** ** Neither HP nor any of its subsidiaries shall be liable for technical ** or editorial errors or omissions contained herein. The information ** in this document is provided "as is" without warranty of any kind and ** is subject to change without notice. The warranties for HP products ** are set forth in the express limited warranty statements accompanying ** such products. Nothing herein should be construed as constituting an ** additional warranty. ** ***************************************************************************** */ #pragma __nostandard #include #if defined(__DECCXX) && defined(__ia64) #error "The complex package has been retired on this platform." #endif #if !( !defined(__VAX) && 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 ("Compaq C 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 , or compile using /STAND=C99.") #else # if (__DECC_VER < 60500000) # 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 # 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(__VAX) && defined(__DECC) && __DECC_VER >= 60400000 && !__D_FLOAT */ #pragma __standard #endif /* __COMPLEX_LOADED */