aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.co.uk>2007-11-01 22:43:37 +0000
committerNeil Booth <neil@daikokuya.co.uk>2007-11-01 22:43:37 +0000
commitee7ae384f5d6067f1ca6d475b8630fe91ff2f6b6 (patch)
treebbc32ceae892f4871639ea11e85ec0046d09c1bc /include
parentff37ccc570cd40dd2d4a0332b64a16171f51b1c2 (diff)
When converting to integer, do bit manipulations in the destination
memory rather than in a copy of the APFloat. This avoids problems when the destination is wider than our significand and is cleaner. Also provide deterministic values in all cases where conversion fails, namely zero for NaNs and the minimal or maximal value respectively for underflow or overflow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43626 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/ADT/APFloat.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/llvm/ADT/APFloat.h b/include/llvm/ADT/APFloat.h
index b605faab31..09a9ece140 100644
--- a/include/llvm/ADT/APFloat.h
+++ b/include/llvm/ADT/APFloat.h
@@ -275,6 +275,8 @@ namespace llvm {
cmpResult compareAbsoluteValue(const APFloat &) const;
opStatus handleOverflow(roundingMode);
bool roundAwayFromZero(roundingMode, lostFraction, unsigned int) const;
+ opStatus convertToSignExtendedInteger(integerPart *, unsigned int, bool,
+ roundingMode) const;
opStatus convertFromUnsignedParts(const integerPart *, unsigned int,
roundingMode);
opStatus convertFromHexadecimalString(const char *, roundingMode);