Implement RtlGetBaseExponent() routine for getting base(10) exponent of a given floating point value

This commit is contained in:
2024-02-14 00:02:04 +01:00
parent c096c5d6df
commit 55fb9e2eb1
6 changed files with 126 additions and 0 deletions

View File

@@ -17,6 +17,11 @@
#define GUID_STRING_LENGTH 38
#define PARTUUID_STRING_LENGTH 13
/* Floating point definitions */
#define DOUBLE_EXPONENT_MASK 0x7FF0000000000000ULL
#define DOUBLE_EXPONENT_SHIFT 0x34
#define DOUBLE_EXPONENT_BIAS 0x3FF
/* Runtime Library routine callbacks */
typedef VOID (*PWRITE_CHARACTER)(IN CHAR Character);
typedef VOID (*PWRITE_WIDE_CHARACTER)(IN WCHAR Character);

View File

@@ -163,6 +163,18 @@ typedef struct _FLOAT128
LONGLONG HighPart;
} FLOAT128, *PFLOAT128;
/* 64-bit floating point union */
typedef union _LARGE_DOUBLE
{
struct
{
ULONG LowPart;
ULONG HighPart;
} u;
DOUBLE DoublePart;
ULONGLONG QuadPart;
} LARGE_DOUBLE, *PLARGE_DOUBLE;
/* 64-bit signed integer union */
typedef union _LARGE_INTEGER
{