aboutsummaryrefslogtreecommitdiff
path: root/softfloat/f64_to_i64.c
diff options
context:
space:
mode:
Diffstat (limited to 'softfloat/f64_to_i64.c')
-rwxr-xr-xsoftfloat/f64_to_i64.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/softfloat/f64_to_i64.c b/softfloat/f64_to_i64.c
index 0e6ddcd..676e944 100755
--- a/softfloat/f64_to_i64.c
+++ b/softfloat/f64_to_i64.c
@@ -28,6 +28,8 @@ int_fast64_t f64_to_i64( float64_t a, int_fast8_t roundingMode, bool exact )
softfloat_raiseFlags( softfloat_flag_invalid );
return
! sign
+ || ( ( exp == 0x7FF )
+ && fracF64UI( uiA ) )
? INT64_C( 0x7FFFFFFFFFFFFFFF )
: - INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1;
}