45{
48 bool sign;
53#ifndef SOFTFLOAT_FAST_INT64
55#endif
56
57
58
60 uiA = uA.ui;
64
65
66 if ( exp == 0x1F ) {
68 return
71 }
72
73
74 sig32 = frac;
75 if ( exp ) {
76 sig32 |= 0x0400;
77 shiftDist = exp - 0x19;
78 if ( (0 <= shiftDist) && ! sign ) {
79 return sig32<<shiftDist;
80 }
81 shiftDist = exp - 0x0D;
82 if ( 0 < shiftDist ) sig32 <<= shiftDist;
83 }
84#ifdef SOFTFLOAT_FAST_INT64
85 return
87 sign, sig32>>12, (
uint_fast64_t) sig32<<52, roundingMode, exact );
88#else
93#endif
94
95}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define ui64_fromPosOverflow
#define ui64_fromNegOverflow
uint_fast64_t softfloat_roundMToUI64(bool, uint32_t *, uint_fast8_t, bool)
#define indexWord(total, n)
uint_fast64_t softfloat_roundToUI64(bool sign, uint_fast64_t sig, uint_fast64_t sigExtra, uint_fast8_t roundingMode, bool exact)