#include "int_t.h"
#include <float.h>
Go to the source code of this file.
◆ ___floatuntidf()
double ___floatuntidf |
( |
tu_int | a | ) |
|
Definition at line 26 of file floatuntidf.c.
27{
29 return 0.0;
30 const unsigned N =
sizeof(
tu_int) * CHAR_BIT;
32 int e = sd - 1;
33 if (sd > DBL_MANT_DIG)
34 {
35
36
37
38
39
40
41
42
43 switch (sd)
44 {
45 case DBL_MANT_DIG + 1:
47 break;
48 case DBL_MANT_DIG + 2:
49 break;
50 default:
51 a = (
a >> (sd - (DBL_MANT_DIG+2))) |
52 ((
a & ((
tu_int)(-1) >> ((
N + DBL_MANT_DIG+2) - sd))) != 0);
53 };
54
58
59 if (
a & ((
tu_int)1 << DBL_MANT_DIG))
60 {
62 ++e;
63 }
64
65 }
66 else
67 {
68 a <<= (DBL_MANT_DIG - sd);
69
70 }
72 fb.
u.
s.high = ((e + 1023) << 20) |
76}
__int128 __clzti2(__int128 a)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a