LLVM: llvm::detail::SlowDynamicAPInt Class Reference (original) (raw)

A simple class providing dynamic arbitrary-precision arithmetic. More...

#include "[llvm/ADT/SlowDynamicAPInt.h](SlowDynamicAPInt%5F8h%5Fsource.html)"

Public Member Functions
LLVM_ABI SlowDynamicAPInt (int64_t Val)
LLVM_ABI SlowDynamicAPInt ()
LLVM_ABI SlowDynamicAPInt (const APInt &Val)
LLVM_ABI SlowDynamicAPInt & operator= (int64_t Val)
LLVM_ABI operator int64_t () const
LLVM_ABI SlowDynamicAPInt operator- () const
LLVM_ABI bool operator== (const SlowDynamicAPInt &O) const
LLVM_ABI bool operator!= (const SlowDynamicAPInt &O) const
LLVM_ABI bool operator> (const SlowDynamicAPInt &O) const
LLVM_ABI bool operator< (const SlowDynamicAPInt &O) const
LLVM_ABI bool operator<= (const SlowDynamicAPInt &O) const
LLVM_ABI bool operator>= (const SlowDynamicAPInt &O) const
LLVM_ABI SlowDynamicAPInt operator+ (const SlowDynamicAPInt &O) const
LLVM_ABI SlowDynamicAPInt operator- (const SlowDynamicAPInt &O) const
LLVM_ABI SlowDynamicAPInt operator* (const SlowDynamicAPInt &O) const
LLVM_ABI SlowDynamicAPInt operator/ (const SlowDynamicAPInt &O) const
LLVM_ABI SlowDynamicAPInt operator% (const SlowDynamicAPInt &O) const
This operation cannot overflow.
LLVM_ABI SlowDynamicAPInt & operator+= (const SlowDynamicAPInt &O)
LLVM_ABI SlowDynamicAPInt & operator-= (const SlowDynamicAPInt &O)
LLVM_ABI SlowDynamicAPInt & operator*= (const SlowDynamicAPInt &O)
LLVM_ABI SlowDynamicAPInt & operator/= (const SlowDynamicAPInt &O)
LLVM_ABI SlowDynamicAPInt & operator%= (const SlowDynamicAPInt &O)
LLVM_ABI SlowDynamicAPInt & operator++ ()
LLVM_ABI SlowDynamicAPInt & operator-- ()
unsigned getBitWidth () const
LLVM_ABI void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const
Public Attributes
friend DynamicAPInt
Friends
LLVM_ABI friend SlowDynamicAPInt abs (const SlowDynamicAPInt &X)
Redeclarations of friend declarations above to make it discoverable by lookups.
LLVM_ABI friend SlowDynamicAPInt ceilDiv (const SlowDynamicAPInt &LHS, const SlowDynamicAPInt &RHS)
LLVM_ABI friend SlowDynamicAPInt floorDiv (const SlowDynamicAPInt &LHS, const SlowDynamicAPInt &RHS)
LLVM_ABI friend SlowDynamicAPInt gcd (const SlowDynamicAPInt &A, const SlowDynamicAPInt &B)
The operands must be non-negative for gcd.
LLVM_ABI friend hash_code hash_value (const SlowDynamicAPInt &X)
Overload to compute a hash_code for a SlowDynamicAPInt value.

A simple class providing dynamic arbitrary-precision arithmetic.

Internally, it stores an APInt, whose width is doubled whenever an overflow occurs at a certain width. The default constructor sets the initial width to 64. SlowDynamicAPInt is primarily intended to be used as a slow fallback path for the upcoming DynamicAPInt class.

Definition at line 35 of file SlowDynamicAPInt.h.

SlowDynamicAPInt::SlowDynamicAPInt ( int64_t Val) explicit

Definition at line 17 of file SlowDynamicAPInt.cpp.

Referenced by abs, ceilDiv, floorDiv, gcd, hash_value, operator!=(), operator%(), operator%=(), operator*(), operator*=(), operator+(), operator++(), operator+=(), operator-(), operator-(), operator--(), operator-=(), operator/(), operator/=(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), and SlowDynamicAPInt().

SlowDynamicAPInt() [2/3]

SlowDynamicAPInt::SlowDynamicAPInt ( )

SlowDynamicAPInt() [3/3]

SlowDynamicAPInt::SlowDynamicAPInt ( const APInt & Val) explicit

dump()

getBitWidth()

unsigned llvm::detail::SlowDynamicAPInt::getBitWidth ( ) const inline

operator int64_t()

SlowDynamicAPInt::operator int64_t ( ) const explicit

operator!=()

operator%()

operator%=()

operator*()

operator*=()

operator+()

operator++()

operator+=()

operator-() [1/2]

operator-() [2/2]

operator--()

operator-=()

operator/()

operator/=()

operator<()

operator<=()

operator=()

operator==()

operator>()

operator>=()

print()

abs

ceilDiv

floorDiv

gcd

hash_value

DynamicAPInt

friend llvm::detail::SlowDynamicAPInt::DynamicAPInt


The documentation for this class was generated from the following files: