mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
[APInt] Implement tcDecrement as a counterpart to tcIncrement. This is for use in APFloat IEEE-754R 2008 nextUp/nextDown function.
rdar://13852078 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182801 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -2888,6 +2888,20 @@ APInt::tcIncrement(integerPart *dst, unsigned int parts)
|
||||
return i == parts;
|
||||
}
|
||||
|
||||
/* Decrement a bignum in-place, return the borrow flag. */
|
||||
integerPart
|
||||
APInt::tcDecrement(integerPart *dst, unsigned int parts) {
|
||||
for (unsigned int i = 0; i < parts; i++) {
|
||||
// If the current word is non-zero, then the decrement has no effect on the
|
||||
// higher-order words of the integer and no borrow can occur. Exit early.
|
||||
if (dst[i]--)
|
||||
return 0;
|
||||
}
|
||||
// If every word was zero, then there is a borrow.
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* Set the least significant BITS bits of a bignum, clear the
|
||||
rest. */
|
||||
void
|
||||
|
Reference in New Issue
Block a user