41#include "specialize.h"
67 expDiff = expA - expB;
72 if ( sigA | sigB )
goto propagateNaN;
77 sigDiff = sigA - sigB;
91 expZ = expA - shiftDist;
96 uiZ =
packToF32UI( signZ, expZ, sigDiff<<shiftDist );
108 if ( expB == 0xFF ) {
109 if ( sigB )
goto propagateNaN;
114 sigX = sigB | 0x40000000;
115 sigY = sigA + (expA ? 0x40000000 : sigA);
120 if ( expA == 0xFF ) {
121 if ( sigA )
goto propagateNaN;
126 sigX = sigA | 0x40000000;
127 sigY = sigB + (expB ? 0x40000000 : sigB);
uint_fast32_t softfloat_propagateNaNF32UI(uint_fast32_t uiA, uint_fast32_t uiB)
void softfloat_raiseFlags(uint_fast8_t flags)
float32_t softfloat_normRoundPackToF32(bool, int_fast16_t, uint_fast32_t)
#define packToF32UI(sign, exp, sig)
uint32_t softfloat_shiftRightJam32(uint32_t a, uint_fast16_t dist)
THREAD_LOCAL uint_fast8_t softfloat_roundingMode
#define softfloat_countLeadingZeros32
float32_t softfloat_subMagsF32(uint_fast32_t uiA, uint_fast32_t uiB)