85 bool operator[] (
int bit)
const noexcept;
88 bool isZero() const noexcept;
91 bool isOne() const noexcept;
101 int64
toInt64() const noexcept;
222 BigInteger operator<< (
int numBitsToShift) const;
223 BigInteger operator>> (
int numBitsToShift) const;
225 bool operator== (const
BigInteger&) const noexcept;
226 bool operator!= (const
BigInteger&) const noexcept;
227 bool operator< (const
BigInteger&) const noexcept;
228 bool operator<= (const
BigInteger&) const noexcept;
229 bool operator> (const
BigInteger&) const noexcept;
230 bool operator>= (const
BigInteger&) const noexcept;
324 enum { numPreallocatedInts = 4 };
326 uint32 preallocated[numPreallocatedInts];
327 size_t allocatedSize;
329 bool negative =
false;
331 uint32* getValues() const noexcept;
332 uint32* ensureSize (
size_t);
333 void shiftLeft (
int bits,
int startBit);
334 void shiftRight (
int bits,
int startBit);
BigInteger & clear() noexcept
MemoryBlock toMemoryBlock() const
bool isOne() const noexcept
BigInteger getBitRange(int startBit, int numBits) const
void parseString(StringRef text, int base)
int64 toInt64() const noexcept
void exponentModulo(const BigInteger &exponent, const BigInteger &modulus)
void setNegative(bool shouldBeNegative) noexcept
uint32 getBitRangeAsInt(int startBit, int numBits) const noexcept
BigInteger & setRange(int startBit, int numBits, bool shouldBeSet)
BigInteger findGreatestCommonDivisor(BigInteger other) const
void extendedEuclidean(const BigInteger &a, const BigInteger &b, BigInteger &xOut, BigInteger &yOut)
int getHighestBit() const noexcept
void divideBy(const BigInteger &divisor, BigInteger &remainder)
String toString(int base, int minimumNumCharacters=1) const
BigInteger & shiftBits(int howManyBitsLeft, int startBit)
int findNextClearBit(int startIndex) const noexcept
int compare(const BigInteger &other) const noexcept
BigInteger & insertBit(int bitNumber, bool shouldBeSet)
BigInteger & setBitRangeAsInt(int startBit, int numBits, uint32 valueToSet)
BigInteger & clearBit(int bitNumber) noexcept
int findNextSetBit(int startIndex) const noexcept
void loadFromMemoryBlock(const MemoryBlock &data)
bool isZero() const noexcept
int countNumberOfSetBits() const noexcept
void swapWith(BigInteger &) noexcept
void montgomeryMultiplication(const BigInteger &other, const BigInteger &modulus, const BigInteger &modulusp, int k)
bool isNegative() const noexcept
int compareAbsolute(const BigInteger &other) const noexcept
BigInteger & setBit(int bitNumber)
int toInteger() const noexcept
void inverseModulo(const BigInteger &modulus)