45{
48 bool sign;
52 struct uint128 uiZ;
54 struct uint128 frac128;
55 union ui128_f128 uZ;
56
57
58
60 uiA = uA.ui;
64
65
66 if ( exp == 0x7FF ) {
67 if ( frac ) {
70 } else {
71 uiZ.v64 = packToF128UI64( sign, 0x7FFF, 0 );
72 uiZ.v0 = 0;
73 }
74 goto uiZ;
75 }
76
77
78 if ( ! exp ) {
79 if ( ! frac ) {
80 uiZ.v64 = packToF128UI64( sign, 0, 0 );
81 uiZ.v0 = 0;
82 goto uiZ;
83 }
85 exp = normExpSig.exp - 1;
86 frac = normExpSig.sig;
87 }
88
89
91 uiZ.v64 = packToF128UI64( sign, exp + 0x3C00, frac128.v64 );
92 uiZ.v0 = frac128.v0;
93 uiZ:
94 uZ.ui = uiZ;
95 return uZ.f;
96
97}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
#define softfloat_commonNaNToF128UI
#define softfloat_f64UIToCommonNaN(uiA, zPtr)
struct exp16_sig64 softfloat_normSubnormalF64Sig(uint_fast64_t)
struct uint128 softfloat_shortShiftLeft128(uint64_t a64, uint64_t a0, uint_fast8_t dist)