From 5f00973393f24c093c5631b3a662cca54f777e49 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sun, 7 Oct 2007 11:45:55 +0000 Subject: convertFromInteger, as originally written, expected sign-extended input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. llvm-svn: 42732 --- llvm/lib/Support/APFloat.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'llvm/lib/Support/APFloat.cpp') diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index 2037210e05b..5e3504b19a5 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -1247,8 +1247,8 @@ APFloat::mod(const APFloat &rhs, roundingMode rounding_mode) if (fs==opInvalidOp) return fs; - fs = V.convertFromInteger(x, parts * integerPartWidth, true, - rmNearestTiesToEven); + fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true, + rmNearestTiesToEven); assert(fs==opOK); // should always work fs = V.multiply(rhs, rounding_mode); @@ -1576,9 +1576,11 @@ APFloat::convertFromUnsignedInteger(integerPart *parts, return normalize(rounding_mode, lost_fraction); } +/* FIXME: should this just take a const APInt reference? */ APFloat::opStatus -APFloat::convertFromInteger(const integerPart *parts, unsigned int width, - bool isSigned, roundingMode rounding_mode) +APFloat::convertFromZeroExtendedInteger(const integerPart *parts, + unsigned int width, bool isSigned, + roundingMode rounding_mode) { unsigned int partCount = partCountForBits(width); opStatus status; -- cgit v1.2.3