#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.
◆ f32_to_i32_r_minMag()
Definition at line 44 of file f32_to_i32_r_minMag.c.
45{
51 bool sign;
53
54
55
57 uiA = uA.ui;
60
61
62 shiftDist = 0x9E - exp;
63 if ( 32 <= shiftDist ) {
64 if ( exact && (exp | sig) ) {
66 }
67 return 0;
68 }
69
70
72 if ( shiftDist <= 0 ) {
73 if ( uiA ==
packToF32UI( 1, 0x9E, 0 ) )
return -0x7FFFFFFF - 1;
75 return
78 }
79
80
81 sig = (sig | 0x00800000)<<8;
82 absZ = sig>>shiftDist;
85 }
86 return sign ? -absZ : absZ;
87
88}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
void softfloat_raiseFlags(uint_fast8_t flags)
#define i32_fromNegOverflow
#define i32_fromPosOverflow
#define packToF32UI(sign, exp, sig)
THREAD_LOCAL uint_fast8_t softfloat_exceptionFlags