| 3397 | } |
| 3398 | |
| 3399 | floatx80 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 | |
| 3420 | floatx80 floatx80_denormalize( floatx80 a, flag eSign) |
| 3421 | { |
no test coverage detected