ReactOS  0.4.15-dev-3203-gacde1e0
float.h File Reference
#include <crtdefs.h>
Include dependency graph for float.h:

Go to the source code of this file.

Macros

#define _MCW_EM   0x0008001F /* Error masks */
 
#define _MCW_IC   0x00040000 /* Infinity */
 
#define _MCW_RC   0x00000300 /* Rounding */
 
#define _MCW_PC   0x00030000 /* Precision */
 
#define _MCW_DN   0x03000000 /* Denormal */
 
#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
 
#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 */
 
#define _SW_INEXACT   0x00000001 /* inexact (precision) */
 
#define _SW_UNDERFLOW   0x00000002 /* underflow */
 
#define _SW_OVERFLOW   0x00000004 /* overflow */
 
#define _SW_ZERODIVIDE   0x00000008 /* zero divide */
 
#define _SW_INVALID   0x00000010 /* invalid */
 
#define _SW_DENORMAL   0x00080000 /* denormal status bit */
 
#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 */
 
#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 ); */
 
#define _clear87   _clearfp
 
#define _status87   _statusfp
 
#define _fpecode   (*(__fpecode()))
 

Functions

__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _controlfp (_In_ unsigned int unNew, _In_ unsigned int unMask)
 
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _control87 (_In_ unsigned int unNew, _In_ unsigned int unMask)
 
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _clearfp (void)
 
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _statusfp (void)
 
__MINGW_NOTHROW void __cdecl _fpreset (void)
 
__MINGW_NOTHROW void __cdecl fpreset (void)
 
__MINGW_NOTHROW _CRTIMP int *__cdecl __fpecode (void)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _chgsign (_In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _copysign (_In_ double, _In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _logb (_In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _nextafter (_In_ double, _In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _scalb (_In_ double, _In_ long)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP int __cdecl _finite (_In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP int __cdecl _fpclass (_In_ double)
 
_Check_return_ __MINGW_NOTHROW _CRTIMP int __cdecl _isnan (_In_ double)
 

Macro Definition Documentation

◆ __MINGW_FPCLASS_DEFINED

#define __MINGW_FPCLASS_DEFINED   1

Definition at line 67 of file float.h.

◆ _clear87

#define _clear87   _clearfp

Definition at line 135 of file float.h.

◆ _EM_DENORMAL

#define _EM_DENORMAL   0x00080000

Definition at line 48 of file float.h.

◆ _EM_INEXACT

#define _EM_INEXACT   0x00000001

Definition at line 52 of file float.h.

◆ _EM_INVALID

#define _EM_INVALID   0x00000010

Definition at line 47 of file float.h.

◆ _EM_OVERFLOW

#define _EM_OVERFLOW   0x00000004

Definition at line 50 of file float.h.

◆ _EM_UNDERFLOW

#define _EM_UNDERFLOW   0x00000002

Definition at line 51 of file float.h.

◆ _EM_ZERODIVIDE

#define _EM_ZERODIVIDE   0x00000008

Definition at line 49 of file float.h.

◆ _FPCLASS_ND

#define _FPCLASS_ND   0x0010 /* Negative Denormal */

Definition at line 72 of file float.h.

◆ _FPCLASS_NINF

#define _FPCLASS_NINF   0x0004 /* Negative Infinity */

Definition at line 70 of file float.h.

◆ _FPCLASS_NN

#define _FPCLASS_NN   0x0008 /* Negative Normal */

Definition at line 71 of file float.h.

◆ _FPCLASS_NZ

#define _FPCLASS_NZ   0x0020 /* Negative Zero */

Definition at line 73 of file float.h.

◆ _FPCLASS_PD

#define _FPCLASS_PD   0x0080 /* Positive Denormal */

Definition at line 75 of file float.h.

◆ _FPCLASS_PINF

#define _FPCLASS_PINF   0x0200 /* Positive Infinity */

Definition at line 77 of file float.h.

◆ _FPCLASS_PN

#define _FPCLASS_PN   0x0100 /* Positive Normal */

Definition at line 76 of file float.h.

◆ _FPCLASS_PZ

#define _FPCLASS_PZ   0x0040 /* Positive Zero */

Definition at line 74 of file float.h.

◆ _FPCLASS_QNAN

#define _FPCLASS_QNAN   0x0002 /* Quiet "Not a Number" */

Definition at line 69 of file float.h.

◆ _FPCLASS_SNAN

#define _FPCLASS_SNAN   0x0001 /* Signaling "Not a Number" */

Definition at line 68 of file float.h.

◆ _FPE_DENORMAL

#define _FPE_DENORMAL   0x82

Definition at line 96 of file float.h.

◆ _FPE_EXPLICITGEN

#define _FPE_EXPLICITGEN   0x8c /* raise( SIGFPE ); */

Definition at line 105 of file float.h.

◆ _FPE_INEXACT

#define _FPE_INEXACT   0x86

Definition at line 100 of file float.h.

◆ _FPE_INVALID

#define _FPE_INVALID   0x81

Definition at line 95 of file float.h.

◆ _FPE_OVERFLOW

#define _FPE_OVERFLOW   0x84

Definition at line 98 of file float.h.

◆ _FPE_SQRTNEG

#define _FPE_SQRTNEG   0x88

Definition at line 102 of file float.h.

◆ _FPE_STACKOVERFLOW

#define _FPE_STACKOVERFLOW   0x8a

Definition at line 103 of file float.h.

◆ _FPE_STACKUNDERFLOW

#define _FPE_STACKUNDERFLOW   0x8b

Definition at line 104 of file float.h.

◆ _FPE_UNDERFLOW

#define _FPE_UNDERFLOW   0x85

Definition at line 99 of file float.h.

◆ _FPE_UNEMULATED

#define _FPE_UNEMULATED   0x87

Definition at line 101 of file float.h.

◆ _FPE_ZERODIVIDE

#define _FPE_ZERODIVIDE   0x83

Definition at line 97 of file float.h.

◆ _fpecode

#define _fpecode   (*(__fpecode()))

Definition at line 153 of file float.h.

◆ _IC_AFFINE

#define _IC_AFFINE   0x00040000

Definition at line 53 of file float.h.

◆ _IC_PROJECTIVE

#define _IC_PROJECTIVE   0x00000000

Definition at line 54 of file float.h.

◆ _MCW_DN

#define _MCW_DN   0x03000000 /* Denormal */

Definition at line 44 of file float.h.

◆ _MCW_EM

#define _MCW_EM   0x0008001F /* Error masks */

Definition at line 40 of file float.h.

◆ _MCW_IC

#define _MCW_IC   0x00040000 /* Infinity */

Definition at line 41 of file float.h.

◆ _MCW_PC

#define _MCW_PC   0x00030000 /* Precision */

Definition at line 43 of file float.h.

◆ _MCW_RC

#define _MCW_RC   0x00000300 /* Rounding */

Definition at line 42 of file float.h.

◆ _PC_24

#define _PC_24   0x00020000

Definition at line 59 of file float.h.

◆ _PC_53

#define _PC_53   0x00010000

Definition at line 60 of file float.h.

◆ _PC_64

#define _PC_64   0x00000000

Definition at line 61 of file float.h.

◆ _RC_CHOP

#define _RC_CHOP   0x00000300

Definition at line 55 of file float.h.

◆ _RC_DOWN

#define _RC_DOWN   0x00000100

Definition at line 57 of file float.h.

◆ _RC_NEAR

#define _RC_NEAR   0x00000000

Definition at line 58 of file float.h.

◆ _RC_UP

#define _RC_UP   0x00000200

Definition at line 56 of file float.h.

◆ _status87

#define _status87   _statusfp

Definition at line 136 of file float.h.

◆ _SW_DENORMAL

#define _SW_DENORMAL   0x00080000 /* denormal status bit */

Definition at line 86 of file float.h.

◆ _SW_INEXACT

#define _SW_INEXACT   0x00000001 /* inexact (precision) */

Definition at line 81 of file float.h.

◆ _SW_INVALID

#define _SW_INVALID   0x00000010 /* invalid */

Definition at line 85 of file float.h.

◆ _SW_OVERFLOW

#define _SW_OVERFLOW   0x00000004 /* overflow */

Definition at line 83 of file float.h.

◆ _SW_SQRTNEG

#define _SW_SQRTNEG   0x0080 /* square root of a neg number */

Definition at line 90 of file float.h.

◆ _SW_STACKOVERFLOW

#define _SW_STACKOVERFLOW   0x0200 /* FP stack overflow */

Definition at line 91 of file float.h.

◆ _SW_STACKUNDERFLOW

#define _SW_STACKUNDERFLOW   0x0400 /* FP stack underflow */

Definition at line 92 of file float.h.

◆ _SW_UNDERFLOW

#define _SW_UNDERFLOW   0x00000002 /* underflow */

Definition at line 82 of file float.h.

◆ _SW_UNEMULATED

#define _SW_UNEMULATED   0x0040 /* unemulated instruction */

Definition at line 89 of file float.h.

◆ _SW_ZERODIVIDE

#define _SW_ZERODIVIDE   0x00000008 /* zero divide */

Definition at line 84 of file float.h.

Function Documentation

◆ __fpecode()

Definition at line 16 of file fpecode.c.

17 {
18  return &msvcrt_get_thread_data()->fpecode;
19 }
thread_data_t * msvcrt_get_thread_data(void)
Definition: tls.c:31

◆ _chgsign()

◆ _clearfp()

Definition at line 10 of file _clearfp.c.

11 {
12  ARM_FPSCR fpscr;
13  unsigned int status;
14 
15  fpscr.raw = __getfp();
16  status = _statusfp();
17 
18  fpscr.data.exception = fpscr.data.exception & ~ARM_CW_STATUS_MASK;
19 
20  __setfp(fpscr.raw);
21  return status;
22 }
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _statusfp(void)
Definition: _statusfp.c:10
struct _ARM_FPSCR::@4044 data
unsigned int __getfp(void)
#define ARM_CW_STATUS_MASK
Definition: fpscr.h:10
void __setfp(unsigned int)
unsigned int raw
Definition: fpscr.h:25
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by main().

◆ _control87()

__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _control87 ( _In_ unsigned int  unNew,
_In_ unsigned int  unMask 
)

◆ _controlfp()

__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _controlfp ( _In_ unsigned int  unNew,
_In_ unsigned int  unMask 
)

Referenced by __declspec(), and main().

◆ _copysign()

◆ _finite()

◆ _fpclass()

◆ _fpreset()

__MINGW_NOTHROW void __cdecl _fpreset ( void  )

Definition at line 10 of file _fpreset.c.

11 {
12  __setfp(0x0);
13 }
GLint x0
Definition: linetemp.h:95
void __setfp(unsigned int)

◆ _isnan()

◆ _logb()

◆ _nextafter()

◆ _scalb()

◆ _statusfp()

Definition at line 10 of file _statusfp.c.

11 {
12  unsigned int flags = 0;
13  ARM_FPSCR fpscr;
14 
15  fpscr.raw = __getfp();
16 
17  if (fpscr.data.exception & ARM_CW_IM) flags |= _SW_INVALID;
18  if (fpscr.data.exception & ARM_CW_ZM) flags |= _SW_ZERODIVIDE;
19  if (fpscr.data.exception & ARM_CW_OM) flags |= _SW_OVERFLOW;
20  if (fpscr.data.exception & ARM_CW_UM) flags |= _SW_UNDERFLOW;
21  if (fpscr.data.exception & ARM_CW_PM) flags |= _SW_INEXACT;
22  if (fpscr.data.exception & ARM_CW_DM) flags |= _SW_DENORMAL;
23  return flags;
24 }
#define ARM_CW_UM
Definition: fpscr.h:14
struct _ARM_FPSCR::@4044 data
#define ARM_CW_PM
Definition: fpscr.h:15
#define ARM_CW_DM
Definition: fpscr.h:16
#define _SW_DENORMAL
Definition: float.h:86
#define _SW_INVALID
Definition: float.h:85
#define _SW_UNDERFLOW
Definition: float.h:82
unsigned int __getfp(void)
GLbitfield flags
Definition: glext.h:7161
#define ARM_CW_IM
Definition: fpscr.h:11
#define _SW_INEXACT
Definition: float.h:81
#define ARM_CW_OM
Definition: fpscr.h:13
unsigned int raw
Definition: fpscr.h:25
#define _SW_OVERFLOW
Definition: float.h:83
#define _SW_ZERODIVIDE
Definition: float.h:84
#define ARM_CW_ZM
Definition: fpscr.h:12

Referenced by _clearfp().

◆ fpreset()