41#include "specialize.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;
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define i64_fromNegOverflow
#define i64_fromPosOverflow
int_fast64_t f64_to_i64_r_minMag(float64_t a, bool exact)
#define packToF64UI(sign, exp, sig)
THREAD_LOCAL uint_fast8_t softfloat_exceptionFlags