42 #include "softfloat.h" 63 shiftDist = 0x433 -
exp;
64 if ( shiftDist <= 0 ) {
67 if ( shiftDist < -10 ) {
69 return -
INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1;
78 sig |=
UINT64_C( 0x0010000000000000 );
79 absZ = sig<<-shiftDist;
83 if ( 53 <= shiftDist ) {
84 if ( exact && (
exp | sig) ) {
91 sig |=
UINT64_C( 0x0010000000000000 );
92 absZ = sig>>shiftDist;
93 if ( exact && (absZ<<shiftDist != sig) ) {
97 return sign ? -absZ : absZ;
int_fast64_t f64_to_i64_r_minMag(float64_t a, bool exact)
#define i64_fromPosOverflow
void softfloat_raiseFlags(uint_fast8_t)
#define packToF64UI(sign, exp, sig)
THREAD_LOCAL uint_fast8_t softfloat_exceptionFlags
#define i64_fromNegOverflow