MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / floatx80_move

Function floatx80_move

src/softfloat/softfloat.cpp:3399–3418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3397}
3398
3399floatx80 floatx80_move( floatx80 a, float_status *status )
3400{
3401 flag aSign;
3402 int32_t aExp;
3403 uint64_t aSig;
3404
3405 aSig = extractFloatx80Frac( a );
3406 aExp = extractFloatx80Exp( a );
3407 aSign = extractFloatx80Sign( a );
3408
3409 if ( aExp == 0x7FFF ) {
3410 if ((uint64_t)(aSig << 1)) return propagateFloatx80NaNOneArg(a, status);
3411 return inf_clear_intbit(status) ? packFloatx80(aSign, aExp, 0) : a;
3412 }
3413 if ( aExp == 0 ) {
3414 if ( aSig == 0 ) return a;
3415 return normalizeRoundAndPackFloatx80( status->floatx80_rounding_precision, aSign, aExp, aSig, 0, status );
3416 }
3417 return roundAndPackFloatx80( status->floatx80_rounding_precision, aSign, aExp, aSig, 0, status );
3418}
3419
3420floatx80 floatx80_denormalize( floatx80 a, flag eSign)
3421{

Callers 10

fp_moveFunction · 0.85
floatx80_acosFunction · 0.85
floatx80_asinFunction · 0.85
floatx80_atanFunction · 0.85
floatx80_cosFunction · 0.85
floatx80_lognp1Function · 0.85
floatx80_sinFunction · 0.85
floatx80_sincosFunction · 0.85
floatx80_tanFunction · 0.85
floatx80_tanhFunction · 0.85

Calls 8

extractFloatx80FracFunction · 0.85
extractFloatx80ExpFunction · 0.85
extractFloatx80SignFunction · 0.85
inf_clear_intbitFunction · 0.85
packFloatx80Function · 0.85
roundAndPackFloatx80Function · 0.85

Tested by

no test coverage detected