#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_i64()
Definition at line 45 of file extF80_to_i64.c.
46{
49 bool sign;
54 struct uint64_extra sig64Extra;
55
56
57
59 uiA64 = uA.s.signExp;
62 sig = uA.s.signif;
63
64
65 shiftDist = 0x403E - exp;
66 if ( shiftDist <= 0 ) {
67
68
69 if ( shiftDist ) {
71 return
72 (exp == 0x7FFF) && (sig &
UINT64_C( 0x7FFFFFFFFFFFFFFF ))
75 }
76
77
78 sigExtra = 0;
79 } else {
80
81
83 sig = sig64Extra.v;
84 sigExtra = sig64Extra.extra;
85 }
87
88}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define i64_fromNegOverflow
#define i64_fromPosOverflow
#define expExtF80UI64(a64)
#define signExtF80UI64(a64)
int_fast64_t softfloat_roundToI64(bool sign, uint_fast64_t sig, uint_fast64_t sigExtra, uint_fast8_t roundingMode, bool exact)