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

Go to the source code of this file.

Functions

int softfloat_normSubnormalF128SigM (uint32_t *sigPtr)
 

Function Documentation

◆ softfloat_normSubnormalF128SigM()

int softfloat_normSubnormalF128SigM ( uint32_t * sigPtr)

Definition at line 41 of file s_normSubnormalF128SigM.c.

42{
43 const uint32_t *ptr;
44 int_fast16_t shiftDist;
45 uint32_t wordSig;
46
47 ptr = sigPtr + indexWordHi( 4 );
48 shiftDist = 0;
49 for (;;) {
50 wordSig = *ptr;
51 if ( wordSig ) break;
52 shiftDist += 32;
53 if ( 128 <= shiftDist ) return 1;
54 ptr -= wordIncr;
55 }
56 shiftDist += softfloat_countLeadingZeros32( wordSig ) - 15;
57 if ( shiftDist ) softfloat_shiftLeft128M( sigPtr, shiftDist, sigPtr );
58 return 1 - shiftDist;
59
60}
#define wordIncr
#define indexWordHi(total)
#define softfloat_shiftLeft128M(aPtr, dist, zPtr)
Definition primitives.h:747
#define softfloat_countLeadingZeros32
unsigned int uint32_t
Definition stdint.h:126
int16_t int_fast16_t
Definition stdint.h:151