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