#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_f64()
Definition at line 44 of file extF80_to_f64.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 | sig) ) {
68 goto uiZ;
69 }
70
71
72 if ( exp == 0x7FFF ) {
73 if ( sig &
UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) {
76 } else {
78 }
79 goto uiZ;
80 }
81
82
84 exp -= 0x3C01;
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_commonNaNToF64UI(aPtr)
float64_t softfloat_roundPackToF64(bool, int_fast16_t, uint_fast64_t)
#define expExtF80UI64(a64)
#define packToF64UI(sign, exp, sig)
#define signExtF80UI64(a64)
uint64_t softfloat_shortShiftRightJam64(uint64_t a, uint_fast8_t dist)