ReactOS
0.4.15-dev-1638-gc0caa5c
fpieee.h
Go to the documentation of this file.
1
6
#ifndef _INC_FPIEEE
7
#define _INC_FPIEEE
8
9
#include <
crtdefs.h
>
10
11
#pragma pack(push,_CRT_PACKING)
12
13
#ifdef __cplusplus
14
extern
"C"
{
15
#endif
16
17
typedef
enum
{
18
_FpCompareEqual
,
_FpCompareGreater
,
_FpCompareLess
,
_FpCompareUnordered
19
}
_FPIEEE_COMPARE_RESULT
;
20
21
typedef
enum
{
22
_FpFormatFp32
,
_FpFormatFp64
,
_FpFormatFp80
,
_FpFormatFp128
,
_FpFormatI16
,
_FpFormatI32
,
_FpFormatI64
,
_FpFormatU16
,
_FpFormatU32
,
_FpFormatU64
,
_FpFormatBcd80
,
_FpFormatCompare
,
_FpFormatString
,
23
#if defined(__ia64__)
24
_FpFormatFp82
25
#endif
26
}
_FPIEEE_FORMAT
;
27
28
typedef
enum
{
29
_FpCodeUnspecified
,
_FpCodeAdd
,
_FpCodeSubtract
,
_FpCodeMultiply
,
_FpCodeDivide
,
_FpCodeSquareRoot
,
_FpCodeRemainder
,
_FpCodeCompare
,
_FpCodeConvert
,
_FpCodeRound
,
_FpCodeTruncate
,
_FpCodeFloor
,
_FpCodeCeil
,
_FpCodeAcos
,
_FpCodeAsin
,
_FpCodeAtan
,
_FpCodeAtan2
,
_FpCodeCabs
,
_FpCodeCos
,
_FpCodeCosh
,
_FpCodeExp
,
_FpCodeFabs
,
_FpCodeFmod
,
_FpCodeFrexp
,
_FpCodeHypot
,
_FpCodeLdexp
,
_FpCodeLog
,
_FpCodeLog10
,
_FpCodeModf
,
_FpCodePow
,
_FpCodeSin
,
_FpCodeSinh
,
_FpCodeTan
,
_FpCodeTanh
,
_FpCodeY0
,
_FpCodeY1
,
_FpCodeYn
,
_FpCodeLogb
,
_FpCodeNextafter
,
_FpCodeNegate
,
_FpCodeFmin
,
_FpCodeFmax
,
_FpCodeConvertTrunc
,
_XMMIAddps
,
_XMMIAddss
,
_XMMISubps
,
_XMMISubss
,
_XMMIMulps
,
_XMMIMulss
,
_XMMIDivps
,
_XMMIDivss
,
_XMMISqrtps
,
_XMMISqrtss
,
_XMMIMaxps
,
_XMMIMaxss
,
_XMMIMinps
,
_XMMIMinss
,
_XMMICmpps
,
_XMMICmpss
,
_XMMIComiss
,
_XMMIUComiss
,
_XMMICvtpi2ps
,
_XMMICvtsi2ss
,
_XMMICvtps2pi
,
_XMMICvtss2si
,
_XMMICvttps2pi
,
_XMMICvttss2si
,
_XMMIAddsubps
,
_XMMIHaddps
,
_XMMIHsubps
,
_XMMI2Addpd
,
_XMMI2Addsd
,
_XMMI2Subpd
,
_XMMI2Subsd
,
_XMMI2Mulpd
,
_XMMI2Mulsd
,
_XMMI2Divpd
,
_XMMI2Divsd
,
_XMMI2Sqrtpd
,
_XMMI2Sqrtsd
,
_XMMI2Maxpd
,
_XMMI2Maxsd
,
_XMMI2Minpd
,
_XMMI2Minsd
,
_XMMI2Cmppd
,
_XMMI2Cmpsd
,
_XMMI2Comisd
,
_XMMI2UComisd
,
_XMMI2Cvtpd2pi
,
_XMMI2Cvtsd2si
,
_XMMI2Cvttpd2pi
,
_XMMI2Cvttsd2si
,
_XMMI2Cvtps2pd
,
_XMMI2Cvtss2sd
,
_XMMI2Cvtpd2ps
,
_XMMI2Cvtsd2ss
,
_XMMI2Cvtdq2ps
,
_XMMI2Cvttps2dq
,
_XMMI2Cvtps2dq
,
_XMMI2Cvttpd2dq
,
_XMMI2Cvtpd2dq
,
_XMMI2Addsubpd
,
_XMMI2Haddpd
,
_XMMI2Hsubpd
,
30
#if defined(__ia64__)
31
_FpCodeFma,_FpCodeFmaSingle,_FpCodeFmaDouble,_FpCodeFms,_FpCodeFmsSingle,_FpCodeFmsDouble,_FpCodeFnma,_FpCodeFnmaSingle,_FpCodeFnmaDouble,_FpCodeFamin,_FpCodeFamax
32
#endif
33
}
_FP_OPERATION_CODE
;
34
35
typedef
enum
{
36
_FpRoundNearest
,
_FpRoundMinusInfinity
,
_FpRoundPlusInfinity
,
_FpRoundChopped
37
}
_FPIEEE_ROUNDING_MODE
;
38
39
typedef
enum
{
40
_FpPrecisionFull
,
_FpPrecision53
,
_FpPrecision24
,
41
#if defined(__ia64__)
42
_FpPrecision64,_FpPrecision113
43
#endif
44
}
_FPIEEE_PRECISION
;
45
46
typedef
float
_FP32
;
47
typedef
double
_FP64
;
48
typedef
short
_I16
;
49
typedef
int
_I32
;
50
typedef
unsigned
short
_U16
;
51
typedef
unsigned
int
_U32
;
52
__MINGW_EXTENSION
typedef
__int64
_Q64
;
53
54
typedef
struct
55
#if defined(__ia64__)
56
_CRT_ALIGN
(16)
57
#endif
58
{
59
unsigned
short
W
[5];
60
}
_FP80
;
61
62
typedef
struct
_CRT_ALIGN
(16) {
63
unsigned
long
W
[4];
64
}
_FP128
;
65
66
typedef
struct
_CRT_ALIGN
(8) {
67
unsigned
long
W
[2];
68
}
_I64
;
69
70
typedef
struct
_CRT_ALIGN
(8) {
71
unsigned
long
W
[2];
72
}
_U64
;
73
74
typedef
struct
75
#if defined(__ia64__)
76
_CRT_ALIGN
(16)
77
#endif
78
{
79
unsigned
short
W
[5];
80
}
_BCD80
;
81
82
typedef
struct
_CRT_ALIGN
(16) {
83
_Q64
W
[2];
84
}
_FPQ64
;
85
86
typedef
struct
{
87
union
{
88
_FP32
Fp32Value
;
89
_FP64
Fp64Value
;
90
_FP80
Fp80Value
;
91
_FP128
Fp128Value
;
92
_I16
I16Value
;
93
_I32
I32Value
;
94
_I64
I64Value
;
95
_U16
U16Value
;
96
_U32
U32Value
;
97
_U64
U64Value
;
98
_BCD80
Bcd80Value
;
99
char
*
StringValue
;
100
int
CompareValue
;
101
_Q64
Q64Value
;
102
_FPQ64
Fpq64Value
;
103
}
Value
;
104
unsigned
int
OperandValid
: 1;
105
unsigned
int
Format
: 4;
106
}
_FPIEEE_VALUE
;
107
108
typedef
struct
{
109
unsigned
int
Inexact
: 1;
110
unsigned
int
Underflow
: 1;
111
unsigned
int
Overflow
: 1;
112
unsigned
int
ZeroDivide
: 1;
113
unsigned
int
InvalidOperation
: 1;
114
}
_FPIEEE_EXCEPTION_FLAGS
;
115
116
typedef
struct
{
117
unsigned
int
RoundingMode
: 2;
118
unsigned
int
Precision
: 3;
119
unsigned
int
Operation
:12;
120
_FPIEEE_EXCEPTION_FLAGS
Cause
;
121
_FPIEEE_EXCEPTION_FLAGS
Enable
;
122
_FPIEEE_EXCEPTION_FLAGS
Status
;
123
_FPIEEE_VALUE
Operand1
;
124
_FPIEEE_VALUE
Operand2
;
125
_FPIEEE_VALUE
Result
;
126
#if defined(__ia64__)
127
_FPIEEE_VALUE
Operand3;
128
#endif
129
}
_FPIEEE_RECORD
,*
_PFPIEEE_RECORD
;
130
131
struct
_EXCEPTION_POINTERS
;
132
133
_CRTIMP
int
__cdecl
_fpieee_flt
(
unsigned
long
_ExceptionCode,
struct
_EXCEPTION_POINTERS
*_PtExceptionPtr,
int
(
__cdecl
*_Handler)(
_FPIEEE_RECORD
*));
134
135
#ifdef __cplusplus
136
}
137
#endif
138
139
#pragma pack(pop)
140
#endif
_FPIEEE_VALUE::Fp32Value
_FP32 Fp32Value
Definition:
fpieee.h:88
_I64
_I64
Definition:
fpieee.h:68
_FP_OPERATION_CODE
_FP_OPERATION_CODE
Definition:
fpieee.h:28
_FpCodeSinh
Definition:
fpieee.h:29
_FpFormatI16
Definition:
fpieee.h:22
_FPIEEE_FORMAT
_FPIEEE_FORMAT
Definition:
fpieee.h:21
_XMMIHsubps
Definition:
fpieee.h:29
_XMMI2Addsd
Definition:
fpieee.h:29
_XMMI2Haddpd
Definition:
fpieee.h:29
_FPIEEE_ROUNDING_MODE
_FPIEEE_ROUNDING_MODE
Definition:
fpieee.h:35
_fpieee_flt
_CRTIMP int __cdecl _fpieee_flt(unsigned long _ExceptionCode, struct _EXCEPTION_POINTERS *_PtExceptionPtr, int(__cdecl *_Handler)(_FPIEEE_RECORD *))
_FpCodeFmod
Definition:
fpieee.h:29
crtdefs.h
_FpCodeMultiply
Definition:
fpieee.h:29
_XMMI2Cmppd
Definition:
fpieee.h:29
_XMMI2Cvtpd2dq
Definition:
fpieee.h:29
_FpRoundChopped
Definition:
fpieee.h:36
_XMMI2Subsd
Definition:
fpieee.h:29
_XMMI2Cvtsd2si
Definition:
fpieee.h:29
_FpCodeFmin
Definition:
fpieee.h:29
__cdecl
#define __cdecl
Definition:
accygwin.h:79
_XMMIAddps
Definition:
fpieee.h:29
_FpCodeExp
Definition:
fpieee.h:29
_FPIEEE_VALUE::Fp80Value
_FP80 Fp80Value
Definition:
fpieee.h:90
_XMMI2Minpd
Definition:
fpieee.h:29
_XMMIMulss
Definition:
fpieee.h:29
_CRTIMP
#define _CRTIMP
Definition:
crtdefs.h:60
_FpCodeRemainder
Definition:
fpieee.h:29
_FpFormatU16
Definition:
fpieee.h:22
_FpCodeAcos
Definition:
fpieee.h:29
_XMMI2Maxsd
Definition:
fpieee.h:29
_XMMI2Maxpd
Definition:
fpieee.h:29
_XMMI2Mulpd
Definition:
fpieee.h:29
_FpCodeFrexp
Definition:
fpieee.h:29
_XMMI2Cmpsd
Definition:
fpieee.h:29
_BCD80
Definition:
fpieee.h:74
_FpRoundNearest
Definition:
fpieee.h:36
_FPIEEE_VALUE::OperandValid
unsigned int OperandValid
Definition:
fpieee.h:104
_FpFormatFp80
Definition:
fpieee.h:22
_FPIEEE_VALUE::Format
unsigned int Format
Definition:
fpieee.h:105
_FPIEEE_VALUE::U16Value
_U16 U16Value
Definition:
fpieee.h:95
_XMMI2Cvttpd2pi
Definition:
fpieee.h:29
_FpFormatFp32
Definition:
fpieee.h:22
_FpCompareEqual
Definition:
fpieee.h:18
_XMMI2Cvtpd2pi
Definition:
fpieee.h:29
_FPIEEE_VALUE::Fpq64Value
_FPQ64 Fpq64Value
Definition:
fpieee.h:102
_FPIEEE_RECORD::Cause
_FPIEEE_EXCEPTION_FLAGS Cause
Definition:
fpieee.h:120
_XMMI2Addsubpd
Definition:
fpieee.h:29
_XMMISqrtps
Definition:
fpieee.h:29
_Q64
__MINGW_EXTENSION typedef __int64 _Q64
Definition:
fpieee.h:52
_FpCodeSquareRoot
Definition:
fpieee.h:29
_FpFormatBcd80
Definition:
fpieee.h:22
_XMMIAddss
Definition:
fpieee.h:29
_FpCodeUnspecified
Definition:
fpieee.h:29
_FPIEEE_EXCEPTION_FLAGS
Definition:
fpieee.h:108
_XMMICvtss2si
Definition:
fpieee.h:29
_FpPrecision24
Definition:
fpieee.h:40
_XMMIComiss
Definition:
fpieee.h:29
_FpCodeCabs
Definition:
fpieee.h:29
_FpCodeY0
Definition:
fpieee.h:29
_FpCodeCosh
Definition:
fpieee.h:29
_XMMI2Cvtss2sd
Definition:
fpieee.h:29
_FpCodeSubtract
Definition:
fpieee.h:29
_FpCodeLdexp
Definition:
fpieee.h:29
_FpFormatU32
Definition:
fpieee.h:22
_FPIEEE_EXCEPTION_FLAGS::ZeroDivide
unsigned int ZeroDivide
Definition:
fpieee.h:112
_FpCodeAtan2
Definition:
fpieee.h:29
_FpRoundPlusInfinity
Definition:
fpieee.h:36
_XMMIMulps
Definition:
fpieee.h:29
_XMMI2Divpd
Definition:
fpieee.h:29
_XMMI2Cvtps2pd
Definition:
fpieee.h:29
_FPIEEE_PRECISION
_FPIEEE_PRECISION
Definition:
fpieee.h:39
_FPIEEE_RECORD
Definition:
fpieee.h:116
_FPIEEE_RECORD::Operand2
_FPIEEE_VALUE Operand2
Definition:
fpieee.h:124
_XMMIMaxss
Definition:
fpieee.h:29
_FPIEEE_VALUE
Definition:
fpieee.h:86
W
Definition:
polytest.cpp:35
_FPIEEE_VALUE::StringValue
char * StringValue
Definition:
fpieee.h:99
_XMMI2Comisd
Definition:
fpieee.h:29
_FpFormatU64
Definition:
fpieee.h:22
_XMMI2Cvtps2dq
Definition:
fpieee.h:29
_FPIEEE_RECORD::Result
_FPIEEE_VALUE Result
Definition:
fpieee.h:125
_FPIEEE_RECORD::Status
_FPIEEE_EXCEPTION_FLAGS Status
Definition:
fpieee.h:122
_XMMISqrtss
Definition:
fpieee.h:29
_FPIEEE_EXCEPTION_FLAGS::InvalidOperation
unsigned int InvalidOperation
Definition:
fpieee.h:113
_FP128
_FP128
Definition:
fpieee.h:64
_FpCodeY1
Definition:
fpieee.h:29
_FpCodeFloor
Definition:
fpieee.h:29
_XMMIAddsubps
Definition:
fpieee.h:29
__MINGW_EXTENSION
#define __MINGW_EXTENSION
Definition:
_mingw.h:166
_XMMICvtpi2ps
Definition:
fpieee.h:29
_XMMICmpps
Definition:
fpieee.h:29
_XMMI2UComisd
Definition:
fpieee.h:29
_XMMI2Divsd
Definition:
fpieee.h:29
_FpCodeAdd
Definition:
fpieee.h:29
_XMMI2Cvtpd2ps
Definition:
fpieee.h:29
_FpCodeFabs
Definition:
fpieee.h:29
Value
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition:
wdfregistry.h:406
_XMMIMinps
Definition:
fpieee.h:29
_FpCodeSin
Definition:
fpieee.h:29
_FPIEEE_EXCEPTION_FLAGS::Inexact
unsigned int Inexact
Definition:
fpieee.h:109
_FpCodeTan
Definition:
fpieee.h:29
_XMMICvtps2pi
Definition:
fpieee.h:29
_FPIEEE_VALUE::I16Value
_I16 I16Value
Definition:
fpieee.h:92
_FpCodeCompare
Definition:
fpieee.h:29
_XMMIMinss
Definition:
fpieee.h:29
_XMMIDivss
Definition:
fpieee.h:29
_FpCodeTanh
Definition:
fpieee.h:29
_CRT_ALIGN
struct _CRT_ALIGN(16)
Definition:
fpieee.h:62
_FpCodeLog10
Definition:
fpieee.h:29
_XMMIDivps
Definition:
fpieee.h:29
_XMMIMaxps
Definition:
fpieee.h:29
_FPIEEE_VALUE::Fp64Value
_FP64 Fp64Value
Definition:
fpieee.h:89
_FpRoundMinusInfinity
Definition:
fpieee.h:36
_XMMI2Minsd
Definition:
fpieee.h:29
_I16
short _I16
Definition:
fpieee.h:48
_FpFormatFp128
Definition:
fpieee.h:22
_XMMI2Cvttpd2dq
Definition:
fpieee.h:29
_U16
unsigned short _U16
Definition:
fpieee.h:50
_FpCodeTruncate
Definition:
fpieee.h:29
_FpCompareLess
Definition:
fpieee.h:18
_FpCodePow
Definition:
fpieee.h:29
_FpCodeAsin
Definition:
fpieee.h:29
_FpCodeConvert
Definition:
fpieee.h:29
_XMMI2Addpd
Definition:
fpieee.h:29
_FpCodeDivide
Definition:
fpieee.h:29
_XMMI2Sqrtsd
Definition:
fpieee.h:29
_FpCodeNextafter
Definition:
fpieee.h:29
_FpFormatI32
Definition:
fpieee.h:22
_FpPrecisionFull
Definition:
fpieee.h:40
_FPIEEE_COMPARE_RESULT
_FPIEEE_COMPARE_RESULT
Definition:
fpieee.h:17
_FP32
float _FP32
Definition:
fpieee.h:46
_U32
unsigned int _U32
Definition:
fpieee.h:51
_FPIEEE_VALUE::Fp128Value
_FP128 Fp128Value
Definition:
fpieee.h:91
_FpCodeModf
Definition:
fpieee.h:29
_FpFormatCompare
Definition:
fpieee.h:22
_XMMIUComiss
Definition:
fpieee.h:29
_FPIEEE_RECORD::Precision
unsigned int Precision
Definition:
fpieee.h:118
_FPIEEE_EXCEPTION_FLAGS::Underflow
unsigned int Underflow
Definition:
fpieee.h:110
_FPIEEE_VALUE::U32Value
_U32 U32Value
Definition:
fpieee.h:96
_XMMICvttss2si
Definition:
fpieee.h:29
_XMMI2Cvtdq2ps
Definition:
fpieee.h:29
_FP64
double _FP64
Definition:
fpieee.h:47
_Q64
__int64 _Q64
Definition:
msvcrt.h:1419
_FPIEEE_VALUE::U64Value
_U64 U64Value
Definition:
fpieee.h:97
_U64
_U64
Definition:
fpieee.h:72
_FpPrecision53
Definition:
fpieee.h:40
_XMMI2Hsubpd
Definition:
fpieee.h:29
_XMMIHaddps
Definition:
fpieee.h:29
_FpCodeAtan
Definition:
fpieee.h:29
_FpCodeYn
Definition:
fpieee.h:29
_FPIEEE_RECORD::Operation
unsigned int Operation
Definition:
fpieee.h:119
_XMMICmpss
Definition:
fpieee.h:29
_PFPIEEE_RECORD
struct _FPIEEE_RECORD * _PFPIEEE_RECORD
_FpCodeCos
Definition:
fpieee.h:29
_XMMICvttps2pi
Definition:
fpieee.h:29
_FP80
Definition:
fpieee.h:54
_FPIEEE_RECORD::RoundingMode
unsigned int RoundingMode
Definition:
fpieee.h:117
_FpFormatFp64
Definition:
fpieee.h:22
_FPIEEE_VALUE::CompareValue
int CompareValue
Definition:
fpieee.h:100
_XMMI2Cvttps2dq
Definition:
fpieee.h:29
_FpFormatString
Definition:
fpieee.h:22
_FPIEEE_VALUE::Bcd80Value
_BCD80 Bcd80Value
Definition:
fpieee.h:98
_FpCodeFmax
Definition:
fpieee.h:29
_XMMISubss
Definition:
fpieee.h:29
_FPQ64
_FPQ64
Definition:
fpieee.h:84
_XMMI2Cvtsd2ss
Definition:
fpieee.h:29
_FpCompareGreater
Definition:
fpieee.h:18
_FPIEEE_EXCEPTION_FLAGS::Overflow
unsigned int Overflow
Definition:
fpieee.h:111
_XMMISubps
Definition:
fpieee.h:29
_FpCodeLogb
Definition:
fpieee.h:29
_FPIEEE_RECORD::Operand1
_FPIEEE_VALUE Operand1
Definition:
fpieee.h:123
_FPIEEE_VALUE::I64Value
_I64 I64Value
Definition:
fpieee.h:94
_EXCEPTION_POINTERS
Definition:
rtltypes.h:199
_FpCodeLog
Definition:
fpieee.h:29
_FpCodeCeil
Definition:
fpieee.h:29
_FPIEEE_VALUE::Q64Value
_Q64 Q64Value
Definition:
fpieee.h:101
_FpCodeHypot
Definition:
fpieee.h:29
_FpFormatI64
Definition:
fpieee.h:22
_XMMI2Sqrtpd
Definition:
fpieee.h:29
_XMMI2Cvttsd2si
Definition:
fpieee.h:29
_FpCodeNegate
Definition:
fpieee.h:29
_XMMICvtsi2ss
Definition:
fpieee.h:29
_FpCodeRound
Definition:
fpieee.h:29
_FpCodeConvertTrunc
Definition:
fpieee.h:29
_FPIEEE_VALUE::I32Value
_I32 I32Value
Definition:
fpieee.h:93
_I32
int _I32
Definition:
fpieee.h:49
_XMMI2Mulsd
Definition:
fpieee.h:29
_FpCompareUnordered
Definition:
fpieee.h:18
__int64
#define __int64
Definition:
basetyps.h:16
_XMMI2Subpd
Definition:
fpieee.h:29
_FPIEEE_RECORD::Enable
_FPIEEE_EXCEPTION_FLAGS Enable
Definition:
fpieee.h:121
sdk
include
crt
fpieee.h
Generated on Tue Jan 26 2021 06:07:02 for ReactOS by
1.8.15