#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.
◆ f64_to_i32_r_minMag()
Definition at line 44 of file f64_to_i32_r_minMag.c.
45{
51 bool sign;
53
54
55
57 uiA = uA.ui;
60
61
62 shiftDist = 0x433 - exp;
63 if ( 53 <= shiftDist ) {
64 if ( exact && (exp | sig) ) {
66 }
67 return 0;
68 }
69
70
72 if ( shiftDist < 22 ) {
73 if (
74 sign && (exp == 0x41E) && (sig <
UINT64_C( 0x0000000000200000 ))
75 ) {
76 if ( exact && sig ) {
78 }
79 return -0x7FFFFFFF - 1;
80 }
82 return
85 }
86
87
88 sig |=
UINT64_C( 0x0010000000000000 );
89 absZ = sig>>shiftDist;
92 }
93 return sign ? -absZ : absZ;
94
95}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define i32_fromNegOverflow
#define i32_fromPosOverflow
THREAD_LOCAL uint_fast8_t softfloat_exceptionFlags