60 sign = signF128UI64( uiA64 );
61 exp = expF128UI64( uiA64 );
62 sig64 = fracF128UI64( uiA64 );
66 shiftDist = 0x402F - exp;
67 if ( shiftDist < 0 ) {
70 if ( sign || (shiftDist < -15) )
goto invalid;
71 sig64 |=
UINT64_C( 0x0001000000000000 );
72 negShiftDist = -shiftDist;
73 z = sig64<<negShiftDist | sig0>>(shiftDist & 63);
74 if ( exact && (
uint64_t) (sig0<<negShiftDist) ) {
80 if ( 49 <= shiftDist ) {
81 if ( exact && (exp | sig64 | sig0) ) {
88 if ( sign )
goto invalid;
89 sig64 |=
UINT64_C( 0x0001000000000000 );
91 if ( exact && (sig0 || (z<<shiftDist != sig64)) ) {