#include <stdbool.h>
#include <stdint.h>
#include "platform.h"
#include "internals.h"
#include "specialize.h"
#include "softfloat.h"
Go to the source code of this file.
◆ extF80_to_f32()
Definition at line 44 of file extF80_to_f32.c.
45{
49 bool sign;
55
56
57
59 uiA64 = uA.s.signExp;
60 uiA0 = uA.s.signif;
63 sig = uiA0;
64
65
66 if ( exp == 0x7FFF ) {
67 if ( sig &
UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) {
70 } else {
72 }
73 goto uiZ;
74 }
75
76
78 if ( ! (exp | sig32) ) {
80 goto uiZ;
81 }
82
83
84 exp -= 0x3F81;
86 if ( exp < -0x1000 ) exp = -0x1000;
87 }
89
90
91 uiZ:
92 uZ.ui = uiZ;
93 return uZ.f;
94
95}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_extF80UIToCommonNaN(uint_fast16_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr)
#define softfloat_commonNaNToF32UI(aPtr)
float32_t softfloat_roundPackToF32(bool, int_fast16_t, uint_fast32_t)
#define expExtF80UI64(a64)
#define signExtF80UI64(a64)
#define packToF32UI(sign, exp, sig)
uint64_t softfloat_shortShiftRightJam64(uint64_t a, uint_fast8_t dist)