#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.
◆ extF80M_to_f16()
Definition at line 55 of file extF80M_to_f16.c.
56{
59 bool sign;
65
66
67
69
70
75
76
77 if ( exp == 0x7FFF ) {
78 if ( sig &
UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) {
81 } else {
83 }
84 goto uiZ;
85 }
86
87
88 if ( ! (sig &
UINT64_C( 0x8000000000000000 )) ) {
89 if ( ! sig ) {
91 goto uiZ;
92 }
94 }
95
96
98 exp -= 0x3FF1;
100 if ( exp < -0x40 ) exp = -0x40;
101 }
103
104
105 uiZ:
106 uZ.ui = uiZ;
107 return uZ.f;
108
109}
#define softfloat_commonNaNToF16UI(aPtr)
#define softfloat_extF80MToCommonNaN(aSPtr, zPtr)
float16_t softfloat_roundPackToF16(bool, int_fast16_t, uint_fast16_t)
#define expExtF80UI64(a64)
#define signExtF80UI64(a64)
int softfloat_normExtF80SigM(uint64_t *)
#define packToF16UI(sign, exp, sig)
uint64_t softfloat_shortShiftRightJam64(uint64_t a, uint_fast8_t dist)
unsigned __int64 uint64_t