Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
s_normRoundPackToExtF80.c File Reference
#include <stdbool.h>
#include <stdint.h>
#include "platform.h"
#include "internals.h"
Include dependency graph for s_normRoundPackToExtF80.c:

Go to the source code of this file.

Functions

extFloat80_t softfloat_normRoundPackToExtF80 (bool sign, int_fast32_t exp, uint_fast64_t sig, uint_fast64_t sigExtra, uint_fast8_t roundingPrecision)
 

Function Documentation

◆ softfloat_normRoundPackToExtF80()

extFloat80_t softfloat_normRoundPackToExtF80 ( bool sign,
int_fast32_t exp,
uint_fast64_t sig,
uint_fast64_t sigExtra,
uint_fast8_t roundingPrecision )

Definition at line 43 of file s_normRoundPackToExtF80.c.

50{
51 int_fast8_t shiftDist;
52 struct uint128 sig128;
53
54 if ( ! sig ) {
55 exp -= 64;
56 sig = sigExtra;
57 sigExtra = 0;
58 }
59 shiftDist = softfloat_countLeadingZeros64( sig );
60 exp -= shiftDist;
61 if ( shiftDist ) {
62 sig128 = softfloat_shortShiftLeft128( sig, sigExtra, shiftDist );
63 sig = sig128.v64;
64 sigExtra = sig128.v0;
65 }
66 return
68 sign, exp, sig, sigExtra, roundingPrecision );
69
70}
#define softfloat_countLeadingZeros64
extFloat80_t softfloat_roundPackToExtF80(bool sign, int_fast32_t exp, uint_fast64_t sig, uint_fast64_t sigExtra, uint_fast8_t roundingPrecision)
struct uint128 softfloat_shortShiftLeft128(uint64_t a64, uint64_t a0, uint_fast8_t dist)
int8_t int_fast8_t
Definition stdint.h:150
Here is the call graph for this function: