Dynamically sized arbitrary‐precision integer.

Synopsis

Declared in <llvm/ADT/DynamicAPInt.h>

class DynamicAPInt { /* see-below */ };

Member Functions

Name

Description

divByPositive

Divides by a divisor known to be positive.

divByPositiveInPlace

Divides by a positive divisor in place.

operator%

This operation cannot overflow.

operator%=

Stores the remainder of this value divided by O.

operator*

Returns the product of this value and O.

operator*=

Multiplies this value by O in place.

operator+

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Arithmetic operators. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

operator++

Pre‐increments this value by one.

operator+=

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Assignment operators, preincrement, predecrement. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

operator‐

Unary minus operators

operator‐‐

Pre‐decrements this value by one.

operator‐=

Subtracts O from this value in place.

operator/

Divides by O using signed truncating division.

operator/=

Divides this value by O in place.

operator==

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Comparison operators. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

operator!=

Returns true if the value is not equal to O.

operator<

Returns true if the value is less than O.

operator<=

Returns true if the value is less than or equal to O.

operator>

Returns true if the value is greater than O.

operator>=

Returns true if the value is greater than or equal to O.

Friends

Name

Description

llvm::hash_value

Redeclarations of friend declaration above to make it discoverable by lookups.

llvm::operator%

Returns the remainder of A divided by B.

llvm::operator/

Returns A divided by B.

llvm::operator*

Returns A multiplied by B.

llvm::operator‐

Returns A minus B.

llvm::operator+

Returns A plus B.

llvm::operator>=

Returns true if A is greater than or equal to B.

llvm::operator<=

Returns true if A is less than or equal to B.

llvm::operator<

Returns true if A is less than B.

llvm::operator>

Returns true if A is greater than B.

llvm::operator!=

Returns true if A is not equal to B.

llvm::operator==

Returns true if A is equal to B.

llvm::operator%

Returns the remainder of A divided by B.

llvm::operator/

Returns A divided by B.

llvm::operator*

Returns A multiplied by B.

llvm::operator‐

Returns A minus B.

llvm::operator+

Returns A plus B.

llvm::operator>=

Returns true if A is greater than or equal to B.

llvm::operator<=

Returns true if A is less than or equal to B.

llvm::operator<

Returns true if A is less than B.

llvm::operator>

Returns true if A is greater than B.

llvm::operator!=

Returns true if A is not equal to B.

llvm::operator==

Returns true if A is equal to B.

llvm::operator%=

Stores the remainder of A divided by B in A.

llvm::operator/=

Divides A by B in place.

llvm::operator*=

Multiplies A by B in place.

llvm::operator‐=

Subtracts B from A in place.

llvm::operator+=

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Convenience operator overloads for int64_t. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Adds B to A in place.

llvm::mod

is always non‐negative.

llvm::lcm

Returns the least common multiple of A and B.

llvm::gcd

Returns the greatest common divisor of A and B.

llvm::floorDiv

Returns the floor of LHS divided by RHS.

llvm::ceilDiv

Returns the ceiling of LHS divided by RHS.

llvm::abs

Returns the absolute value of X.

Created with MrDocs