#ifndef __COMPLEX_LOADED #define __COMPLEX_LOADED 1 /**************************************************************************** ** ** - C99 complex data type ** ***************************************************************************** ** Header introduced by the C99 Standard ***************************************************************************** */ /* ************************************************************************* */ /* * * */ /* * HPE CONFIDENTIAL. This software is confidential proprietary software * */ /* * licensed by Hewlett Packard Enterprise Development, LP, and is not * */ /* * authorized to be used, duplicated or disclosed to anyone without the * */ /* * prior written permission of HPE. * */ /* * Copyright 2017 Hewlett Packard Enterprise Development, LP * */ /* * * */ /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential * */ /* * proprietary software licensed by VMS Software, Inc., and is not * */ /* * authorized to be used, duplicated or disclosed to anyone without * */ /* * the prior written permission of VMS Software, Inc. * */ /* * Copyright 2017-2022 VMS Software, Inc. * */ /* * * */ /* ************************************************************************* */ #pragma __nostandard #include #if defined(__DECCXX) && !defined(__ALPHA) /* Verified for X86, John Reagan */ #error "The complex package has been retired on this platform." #endif #if !defined(__clang__) && !(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 #if defined(__clang__) # undef _Complex_I # define _Complex_I (__extension__ 1.0iF) #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 ("VSI 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(__DECC) && __DECC_VER >= 60400000) && !__D_FLOAT */ #pragma __standard #endif /* __COMPLEX_LOADED */