From: Earnie B. <ea...@us...> - 2005-01-02 16:00:53
|
Update of /cvsroot/mingw/runtime/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1502/include Modified Files: complex.h math.h string.h wchar.h Log Message: Merge winsup changes Index: math.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/math.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** math.h 5 Sep 2004 13:52:44 -0000 1.20 --- math.h 2 Jan 2005 16:00:40 -0000 1.21 *************** *** 428,435 **** extern long double __cdecl tanhl (long double); ! /* ! * TODO: asinh, acosh, atanh ! */ /* 7.12.6.1 Double in C89 */ __CRT_INLINE float __cdecl expf (float x) --- 428,448 ---- extern long double __cdecl tanhl (long double); ! /* Inverse hyperbolic trig functions */ ! /* 7.12.5.1 */ ! extern double __cdecl acosh (double); ! extern float __cdecl acoshf (float); ! extern long double __cdecl acoshl (long double); + /* 7.12.5.2 */ + extern double __cdecl asinh (double); + extern float __cdecl asinhf (float); + extern long double __cdecl asinhl (long double); + + /* 7.12.5.3 */ + extern double __cdecl atanh (double); + extern float __cdecl atanf (float); + extern long double __cdecl atanhl (long double); + + /* Exponentials and logarithms */ /* 7.12.6.1 Double in C89 */ __CRT_INLINE float __cdecl expf (float x) Index: string.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/string.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** string.h 5 Sep 2004 13:52:44 -0000 1.10 --- string.h 2 Jan 2005 16:00:40 -0000 1.11 *************** *** 165,172 **** #ifndef _NO_OLDNAMES /* NOTE: There is no _wcscmpi, but this is for compatibility. */ __CRT_INLINE int __cdecl wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} ! _CRTIMP wchar_t* __cdecl wcsdup (wchar_t*); _CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*); _CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*); --- 165,173 ---- #ifndef _NO_OLDNAMES /* NOTE: There is no _wcscmpi, but this is for compatibility. */ + int __cdecl wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2); __CRT_INLINE int __cdecl wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} ! _CRTIMP wchar_t* __cdecl wcsdup (const wchar_t*); _CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*); _CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*); Index: wchar.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/wchar.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** wchar.h 5 Sep 2004 13:52:44 -0000 1.14 --- wchar.h 2 Jan 2005 16:00:40 -0000 1.15 *************** *** 239,243 **** wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} ! _CRTIMP wchar_t* __cdecl wcsdup (wchar_t*); _CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*); _CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*); --- 239,243 ---- wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} ! _CRTIMP wchar_t* __cdecl wcsdup (const wchar_t*); _CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*); _CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*); Index: complex.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/complex.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** complex.h 5 Sep 2004 13:52:44 -0000 1.2 --- complex.h 2 Jan 2005 16:00:40 -0000 1.3 *************** *** 47,51 **** #ifndef RC_INVOKED ! /* TODO: float and long double versions */ double __MINGW_ATTRIB_CONST creal (double _Complex); double __MINGW_ATTRIB_CONST cimag (double _Complex); --- 47,51 ---- #ifndef RC_INVOKED ! /* TODO: long double versions */ double __MINGW_ATTRIB_CONST creal (double _Complex); double __MINGW_ATTRIB_CONST cimag (double _Complex); *************** *** 71,74 **** --- 71,97 ---- double _Complex __MINGW_ATTRIB_CONST cproj (double _Complex); + float __MINGW_ATTRIB_CONST crealf (float _Complex); + float __MINGW_ATTRIB_CONST cimagf (float _Complex); + float __MINGW_ATTRIB_CONST cargf (float _Complex); + float __MINGW_ATTRIB_CONST cabsf (float _Complex); + float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex); + float _Complex cacosf (float _Complex); + float _Complex casinf (float _Complex); + float _Complex catanf (float _Complex); + float _Complex ccosf (float _Complex); + float _Complex csinf (float _Complex); + float _Complex ctanf (float _Complex); + float _Complex cacoshf (float _Complex); + float _Complex casinhf (float _Complex); + float _Complex catanhf (float _Complex); + float _Complex ccoshf (float _Complex); + float _Complex csinhf (float _Complex); + float _Complex ctanhf (float _Complex); + float _Complex cexpf (float _Complex); + float _Complex clogf (float _Complex); + float _Complex cpowf (float _Complex, float _Complex); + float _Complex csqrtf (float _Complex); + float _Complex __MINGW_ATTRIB_CONST cprojf (float _Complex); + #ifdef __GNUC__ *************** *** 95,98 **** --- 118,145 ---- return res; } + + + __CRT_INLINE float __MINGW_ATTRIB_CONST crealf (float _Complex _Z) + { + return __real__ _Z; + } + + __CRT_INLINE float __MINGW_ATTRIB_CONST cimagf (float _Complex _Z) + { + return __imag__ _Z; + } + + __CRT_INLINE float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex _Z) + { + return __extension__ ~_Z; + } + + __CRT_INLINE float __MINGW_ATTRIB_CONST cargf (float _Complex _Z) + { + float res; + __asm__ ("fpatan;" + : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)"); + return res; + } #endif /* __GNUC__ */ |