#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_i32()
Definition at line 45 of file extF80_to_i32.c.
46{
49 bool sign;
53
54
55
57 uiA64 = uA.s.signExp;
60 sig = uA.s.signif;
61
62
63#if (i32_fromNaN != i32_fromPosOverflow) || (i32_fromNaN != i32_fromNegOverflow)
64 if ( (exp == 0x7FFF) && (sig &
UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) {
65#if (i32_fromNaN == i32_fromPosOverflow)
66 sign = 0;
67#elif (i32_fromNaN == i32_fromNegOverflow)
68 sign = 1;
69#else
72#endif
73 }
74#endif
75
76
77 shiftDist = 0x4032 - exp;
78 if ( shiftDist <= 0 ) shiftDist = 1;
81
82}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define expExtF80UI64(a64)
#define signExtF80UI64(a64)
int_fast32_t softfloat_roundToI32(bool, uint_fast64_t, uint_fast8_t, bool)
uint64_t softfloat_shiftRightJam64(uint64_t a, uint_fast32_t dist)