diff options
author | Christopher Faylor <me@cgf.cx> | 2012-11-07 16:52:48 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-11-07 16:52:48 +0000 |
commit | 61746d6ae850aa6a89b0c0b00c609011c6d0ade9 (patch) | |
tree | 95552490c8ee6f3bf8b0f2d37e61bbc9dafe7a7b /winsup/mingw/include/float.h | |
parent | 2ca28ea2dc0c397b9a11072e121e1c5b6f87650b (diff) | |
download | cygnal-61746d6ae850aa6a89b0c0b00c609011c6d0ade9.tar.gz cygnal-61746d6ae850aa6a89b0c0b00c609011c6d0ade9.tar.bz2 cygnal-61746d6ae850aa6a89b0c0b00c609011c6d0ade9.zip |
* mingw: Delete obsolete directory.
* w32api: Ditto.
Diffstat (limited to 'winsup/mingw/include/float.h')
-rw-r--r-- | winsup/mingw/include/float.h | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/winsup/mingw/include/float.h b/winsup/mingw/include/float.h deleted file mode 100644 index 47017c9c7..000000000 --- a/winsup/mingw/include/float.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef _MINGW_FLOAT_H_ -/* - * float.h - * - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Constants related to floating point arithmetic. - * - * Also included here are some non-ANSI bits for accessing the floating - * point controller. - * - */ -#define _MINGW_FLOAT_H_ -/* - * NOTE: - * - * GCC provides float.h, but it doesn't include the non-standard stuff for - * accessing the fp controller. We parse the GCC-supplied header, for its - * standard content, and then define the MS-specific extensions here. - * - * In a MinGW standard Win32 hosted environment, this should be the float.h - * found by a system include path search, but this can't be guaranteed; for - * a cross-compiler setup, the GCC-supplied header, which is guarded by the - * _FLOAT_H___ macro, may be found first, thus... - * - */ -#if !defined(_FLOAT_H___) && !defined(__FLOAT_H) - - /* - * ...when we didn't find the GCC-supplied header first, we want to pull - * it in now; include_next should achieve this, (and we must rely on the - * GCC header maintainers to extend us the same courtesy, to get this one - * pulled in, when the GCC-supplied header is found first). - * - */ -# include_next <float.h> -#endif - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * Functions and definitions for controlling the FPU. - */ -#ifndef __STRICT_ANSI__ - -/* TODO: These constants are only valid for x86 machines */ - -/* Control word masks for unMask */ -#define _MCW_EM 0x0008001F /* Error masks */ -#define _MCW_IC 0x00040000 /* Infinity */ -#define _MCW_RC 0x00000300 /* Rounding */ -#define _MCW_PC 0x00030000 /* Precision */ - -/* Control word values for unNew (use with related unMask above) */ -#define _EM_INVALID 0x00000010 -#define _EM_DENORMAL 0x00080000 -#define _EM_ZERODIVIDE 0x00000008 -#define _EM_OVERFLOW 0x00000004 -#define _EM_UNDERFLOW 0x00000002 -#define _EM_INEXACT 0x00000001 -#define _IC_AFFINE 0x00040000 -#define _IC_PROJECTIVE 0x00000000 -#define _RC_CHOP 0x00000300 -#define _RC_UP 0x00000200 -#define _RC_DOWN 0x00000100 -#define _RC_NEAR 0x00000000 -#define _PC_24 0x00020000 -#define _PC_53 0x00010000 -#define _PC_64 0x00000000 - -/* These are also defined in Mingw math.h, needed to work around - GCC build issues. */ -/* Return values for fpclass. */ -#ifndef __MINGW_FPCLASS_DEFINED -#define __MINGW_FPCLASS_DEFINED 1 -#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ -#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ -#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ -#define _FPCLASS_NN 0x0008 /* Negative Normal */ -#define _FPCLASS_ND 0x0010 /* Negative Denormal */ -#define _FPCLASS_NZ 0x0020 /* Negative Zero */ -#define _FPCLASS_PZ 0x0040 /* Positive Zero */ -#define _FPCLASS_PD 0x0080 /* Positive Denormal */ -#define _FPCLASS_PN 0x0100 /* Positive Normal */ -#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ -#endif /* __MINGW_FPCLASS_DEFINED */ - -/* invalid subconditions (_SW_INVALID also set) */ -#define _SW_UNEMULATED 0x0040 /* unemulated instruction */ -#define _SW_SQRTNEG 0x0080 /* square root of a neg number */ -#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */ -#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */ - -/* Floating point error signals and return codes */ -#define _FPE_INVALID 0x81 -#define _FPE_DENORMAL 0x82 -#define _FPE_ZERODIVIDE 0x83 -#define _FPE_OVERFLOW 0x84 -#define _FPE_UNDERFLOW 0x85 -#define _FPE_INEXACT 0x86 -#define _FPE_UNEMULATED 0x87 -#define _FPE_SQRTNEG 0x88 -#define _FPE_STACKOVERFLOW 0x8a -#define _FPE_STACKUNDERFLOW 0x8b -#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask), - * i.e. change the bits in unMask to have the values they have in unNew, - * leaving other bits unchanged. */ -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _controlfp (unsigned int unNew, unsigned int unMask); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int unNew, unsigned int unMask); - - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _clearfp (void); /* Clear the FPU status word */ -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _statusfp (void); /* Report the FPU status word */ -#define _clear87 _clearfp -#define _status87 _statusfp - - -/* - MSVCRT.dll _fpreset initializes the control register to 0x27f, - the status register to zero and the tag word to 0FFFFh. - This differs from asm instruction finit/fninit which set control - word to 0x37f (64 bit mantissa precison rather than 53 bit). - By default, the mingw version of _fpreset sets fp control as - per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when - building your application. -*/ -void __cdecl __MINGW_NOTHROW _fpreset (void); -void __cdecl __MINGW_NOTHROW fpreset (void); - -/* Global 'variable' for the current floating point error code. */ -_CRTIMP int * __cdecl __MINGW_NOTHROW __fpecode(void); -#define _fpecode (*(__fpecode())) - -/* - * IEEE recommended functions. MS puts them in float.h - * but they really belong in math.h. - */ - -_CRTIMP double __cdecl __MINGW_NOTHROW _chgsign (double); -_CRTIMP double __cdecl __MINGW_NOTHROW _copysign (double, double); -_CRTIMP double __cdecl __MINGW_NOTHROW _logb (double); -_CRTIMP double __cdecl __MINGW_NOTHROW _nextafter (double, double); -_CRTIMP double __cdecl __MINGW_NOTHROW _scalb (double, long); - -_CRTIMP int __cdecl __MINGW_NOTHROW _finite (double); -_CRTIMP int __cdecl __MINGW_NOTHROW _fpclass (double); -_CRTIMP int __cdecl __MINGW_NOTHROW _isnan (double); - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not __STRICT_ANSI__ */ - -#endif /* _MINGW_FLOAT_H_ */ - |