// cfloat standard header #ifndef _CFLOAT_ #define _CFLOAT_ #include #include #if __EDG__ && defined(__LDBL_UNION__) /* compiler test */ _C_STD_BEGIN /* TYPE DEFINITIONS */ #ifndef _DVALS #define _DVALS typedef struct { /* parameters for a floating-point type */ int _Ddig, _Dmdig, _Dmax10e, _Dmaxe, _Dmin10e, _Dmine; union { /* union of short array and all floats */ unsigned short _Us[8]; float _Float; double _Double; long double _Long_double; } _Deps, _Dmax, _Dmin; } _Dvals; #endif /* _DVALS */ /* DECLARATIONS */ _C_LIB_DECL extern const _Dvals _Ldbl; _END_C_LIB_DECL _C_STD_END #undef LDBL_EPSILON /* redefine macros that use gcc extension */ #undef LDBL_MAX #undef LDBL_MIN #define LDBL_EPSILON _CSTD _Ldbl._Deps._Long_double #define LDBL_MAX _CSTD _Ldbl._Dmax._Long_double #define LDBL_MIN _CSTD _Ldbl._Dmin._Long_double #endif /* __EDG__ && defined(__LDBL_UNION__) */ #endif /* _CFLOAT_ */ /* * Copyright (c) 1992-2004 by P.J. Plauger. ALL RIGHTS RESERVED. * Consult your license regarding permissions and restrictions. V4.02:1476 */