#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.
◆ f16_to_extF80()
Definition at line 44 of file f16_to_extF80.c.
45{
48 bool sign;
52 struct uint128 uiZ;
57
58
59
61 uiA = uA.ui;
65
66
67 if ( exp == 0x1F ) {
68 if ( frac ) {
71 uiZ64 = uiZ.v64;
72 uiZ0 = uiZ.v0;
73 } else {
75 uiZ0 =
UINT64_C( 0x8000000000000000 );
76 }
77 goto uiZ;
78 }
79
80
81 if ( ! exp ) {
82 if ( ! frac ) {
84 uiZ0 = 0;
85 goto uiZ;
86 }
88 exp = normExpSig.exp;
89 frac = normExpSig.sig;
90 }
91
92
95 uiZ:
96 uZ.s.signExp = uiZ64;
97 uZ.s.signif = uiZ0;
98 return uZ.f;
99
100}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
#define softfloat_commonNaNToExtF80UI
#define softfloat_f16UIToCommonNaN(uiA, zPtr)
#define packToExtF80UI64(sign, exp)
struct exp8_sig16 softfloat_normSubnormalF16Sig(uint_fast16_t)