projects
/
riscv-isa-sim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update SoftFloat
[riscv-isa-sim.git]
/
softfloat
/
f64_roundToInt.c
diff --git
a/softfloat/f64_roundToInt.c
b/softfloat/f64_roundToInt.c
index 94fe40de86218b7226ea16f3ceab7c790802c80c..7f81007082cc019984c7698ccdd62eaf9e39fff5 100644
(file)
--- a/
softfloat/f64_roundToInt.c
+++ b/
softfloat/f64_roundToInt.c
@@
-2,10
+2,10
@@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3
a
, by John R. Hauser.
+Package, Release 3
d
, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014
The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014
, 2017 The Regents of the University of
+
California.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@
-94,10
+94,11
@@
float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact )
} else if ( roundingMode == softfloat_round_near_even ) {
uiZ += lastBitMask>>1;
if ( ! (uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
} else if ( roundingMode == softfloat_round_near_even ) {
uiZ += lastBitMask>>1;
if ( ! (uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
- } else if ( roundingMode != softfloat_round_minMag ) {
- if ( signF64UI( uiZ ) ^ (roundingMode == softfloat_round_max) ) {
- uiZ += roundBitsMask;
- }
+ } else if (
+ roundingMode
+ == (signF64UI( uiZ ) ? softfloat_round_min : softfloat_round_max)
+ ) {
+ uiZ += roundBitsMask;
}
uiZ &= ~roundBitsMask;
if ( exact && (uiZ != uiA) ) {
}
uiZ &= ~roundBitsMask;
if ( exact && (uiZ != uiA) ) {