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

Go to the source code of this file.

Functions

struct exp32_sig128 softfloat_normSubnormalF128Sig (uint_fast64_t sig64, uint_fast64_t sig0)
 

Function Documentation

◆ softfloat_normSubnormalF128Sig()

struct exp32_sig128 softfloat_normSubnormalF128Sig ( uint_fast64_t sig64,
uint_fast64_t sig0 )

Definition at line 42 of file s_normSubnormalF128Sig.c.

43{
44 int_fast8_t shiftDist;
45 struct exp32_sig128 z;
46
47 if ( ! sig64 ) {
48 shiftDist = softfloat_countLeadingZeros64( sig0 ) - 15;
49 z.exp = -63 - shiftDist;
50 if ( shiftDist < 0 ) {
51 z.sig.v64 = sig0>>-shiftDist;
52 z.sig.v0 = sig0<<(shiftDist & 63);
53 } else {
54 z.sig.v64 = sig0<<shiftDist;
55 z.sig.v0 = 0;
56 }
57 } else {
58 shiftDist = softfloat_countLeadingZeros64( sig64 ) - 15;
59 z.exp = 1 - shiftDist;
60 z.sig = softfloat_shortShiftLeft128( sig64, sig0, shiftDist );
61 }
62 return z;
63
64}
#define softfloat_countLeadingZeros64
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:
Here is the caller graph for this function: