41#include "specialize.h"
55 roundIncrement = 0x800;
64#ifdef SOFTFLOAT_ROUND_ODD
69 roundIncrement = 0xFFF;
72 roundBits = sig & 0xFFF;
73 sig += roundIncrement;
74 if ( sig &
UINT64_C( 0xFFFFF00000000000 ) )
goto invalid;
81 uZ.ui = sign ? -sig32 : sig32;
83 if ( z && ((z < 0) ^ sign) )
goto invalid;
85#ifdef SOFTFLOAT_ROUND_ODD
void softfloat_raiseFlags(uint_fast8_t flags)
#define i32_fromNegOverflow
#define i32_fromPosOverflow
THREAD_LOCAL uint_fast8_t softfloat_exceptionFlags
@ softfloat_round_near_even
@ softfloat_round_near_maxMag
int_fast32_t softfloat_roundToI32(bool sign, uint_fast64_t sig, uint_fast8_t roundingMode, bool exact)