BigInteger Class Reference

#include <big_integer.h>

Inheritance diagram for BigInteger:

Detailed Description

Reference counted class of BigIntegerInterface.

Public Member Functions

 MAXON_DEFAULT_REFERENCE_CONSTRUCTORS (BigInteger, Reference)
 
BigInteger & operator+= (const BigInteger &b)
 
BigInteger & operator-= (const BigInteger &b)
 
BigInteger & operator++ ()
 
BigInteger operator++ (int)
 
BigInteger & operator-- ()
 
BigInteger operator-- (int)
 
BigInteger & operator*= (const BigInteger &b)
 
BigInteger & operator/= (const BigInteger &b)
 
BigInteger & operator%= (const BigInteger &b)
 
BigInteger & operator<<= (Int s)
 
BigInteger & operator>>= (Int s)
 

Friends

BigInteger operator+ (const BigInteger &a, const BigInteger &b)
 
BigInteger operator- (const BigInteger &a, const BigInteger &b)
 
BigInteger operator- (const BigInteger &b)
 
BigInteger operator* (const BigInteger &a, const BigInteger &b)
 
BigInteger operator/ (const BigInteger &a, const BigInteger &b)
 
BigInteger operator% (const BigInteger &a, const BigInteger &b)
 
BigInteger operator<< (const BigInteger &a, Int s)
 
BigInteger operator>> (const BigInteger &a, Int s)
 

Member Function Documentation

◆ MAXON_DEFAULT_REFERENCE_CONSTRUCTORS()

MAXON_DEFAULT_REFERENCE_CONSTRUCTORS ( BigInteger  ,
Reference   
)

◆ operator+=()

BigInteger& operator+= ( const BigInteger &  b)

Adds another integer to the first operand.

Parameters
[in]bThe second summand.
Returns
The result of this + b.

◆ operator-=()

BigInteger& operator-= ( const BigInteger &  b)

Subtracts a value from this BigIntegers.

Parameters
[in]bThe subtrahend.
Returns
The result of this - b.

◆ operator++() [1/2]

BigInteger& operator++ ( )

The prefix operator to increment this BigInteger.

Returns
The result of this + 1.

◆ operator++() [2/2]

BigInteger operator++ ( int  )

The postfix operator to increment this BigInteger.

Returns
The result of this + 1.

◆ operator--() [1/2]

BigInteger& operator-- ( )

The prefix operator to decrement this BigInteger.

Returns
The result of this - 1.

◆ operator--() [2/2]

BigInteger operator-- ( int  )

The postfix operator to decrement this BigInteger.

Returns
The result of this - 1.

◆ operator*=()

BigInteger& operator*= ( const BigInteger &  b)

Multiplies another integer to the first operand.

Parameters
[in]bThe second factor.
Returns
The result of this * b.

◆ operator/=()

BigInteger& operator/= ( const BigInteger &  b)

Divides this by another BigInteger.

Parameters
[in]bThe divisor. If the divisor is 0, the result will be 0.
Returns
The result of a / b.

◆ operator%=()

BigInteger& operator%= ( const BigInteger &  b)

Calculates the modulus of two BigInteger values.

Parameters
[in]bThe divisor. If the divisor is 0, the result will be 0.
Returns
The result of this % b.

◆ operator<<=()

BigInteger& operator<<= ( Int  s)

Shifts this BigInteger left by the specified number of bits.

Parameters
[in]sThe number of bits to left-shift the value. If this is negative, the value is shifted right.
Returns
The result of this << s.

◆ operator>>=()

BigInteger& operator>>= ( Int  s)

Shifts this BigInteger right by the specified number of bits.

Parameters
[in]sThe number of bits to right-shift the value. If this is negative, the value is shifted left.
Returns
The result of this >> s.

Friends And Related Function Documentation

◆ operator+

BigInteger operator+ ( const BigInteger &  a,
const BigInteger &  b 
)
friend

Adds two BigIntegers.

Parameters
[in]aThe fist summand.
[in]bThe second summand.
Returns
The result of a + b.

◆ operator- [1/2]

BigInteger operator- ( const BigInteger &  a,
const BigInteger &  b 
)
friend

Subtracts two BigIntegers.

Parameters
[in]aThe minuend.
[in]bThe subtrahend.
Returns
The result of a - b.

◆ operator- [2/2]

BigInteger operator- ( const BigInteger &  b)
friend

Subtracts two BigIntegers.

Parameters
[in]bThe subtrahend.
Returns
The result of this - b.

◆ operator*

BigInteger operator* ( const BigInteger &  a,
const BigInteger &  b 
)
friend

Multiplies two BigIntegers.

Parameters
[in]aThe fist factor.
[in]bThe second factor.
Returns
The result of a * b.

◆ operator/

BigInteger operator/ ( const BigInteger &  a,
const BigInteger &  b 
)
friend

Divides two BigIntegers.

Parameters
[in]aThe dividend.
[in]bThe divisor. If the divisor is 0, the result will be 0.
Returns
The result of a / b.

◆ operator%

BigInteger operator% ( const BigInteger &  a,
const BigInteger &  b 
)
friend

Calculates the modulus of two BigInteger values.

Parameters
[in]aThe dividend.
[in]bThe divisor. If the divisor is 0, the result will be 0.
Returns
The result of a % b.

◆ operator<<

BigInteger operator<< ( const BigInteger &  a,
Int  s 
)
friend

Shifts a BigInteger left by the specified number of bits.

Parameters
[in]aThe source operand.
[in]sThe number of bits to left-shift the value. If this is negative, the value is shifted right.
Returns
The result of a << s.

◆ operator>>

BigInteger operator>> ( const BigInteger &  a,
Int  s 
)
friend

Shifts a BigInteger right by the specified number of bits.

Parameters
[in]aThe source operand.
[in]sThe number of bits to right-shift the value. If this is negative, the value is shifted left.
Returns
The result of a >> s.