Cayley
Pseudo-Random Bits from Finite Groups
Functions | Variables
uintx_t.cpp File Reference

Implementation of the extensible unsigned integer class. More...

#include "uintx_t.h"
#include "Includes.h"

Go to the source code of this file.

Functions

uintx_t operator+ (uintx_t x, uintx_t y)
 
bool operator> (uintx_t x, uintx_t y)
 
bool operator> (uintx_t x, int y)
 
bool operator>= (uintx_t x, uintx_t y)
 
bool operator>= (uintx_t x, int y)
 
bool operator< (uintx_t x, uintx_t y)
 
bool operator< (uintx_t x, int y)
 
bool operator<= (uintx_t x, uintx_t y)
 
bool operator<= (uintx_t x, int y)
 
bool operator== (uintx_t x, uintx_t y)
 
bool operator== (uintx_t x, uint32_t y)
 
bool operator== (uint32_t x, uintx_t y)
 
bool operator!= (uintx_t x, uintx_t y)
 
bool operator!= (uintx_t x, uint32_t y)
 
bool operator!= (uint32_t x, uintx_t y)
 
uintx_t operator<< (uintx_t x, int d)
 
uintx_t operator>> (uintx_t x, int d)
 
uintx_t operator & (uintx_t x, const uintx_t &y)
 
int operator & (uintx_t x, int y)
 
uintx_t operator| (uintx_t x, const uintx_t &y)
 
int operator| (uintx_t x, int y)
 
uintx_t operator * (uintx_t y, uintx_t z)
 
uintx_t operator * (uintx_t x, int y)
 
uintx_t operator * (int x, uintx_t y)
 
uintx_t operator * (uintx_t x, uint32_t y)
 
uintx_t operator * (uint32_t x, uintx_t y)
 
uintx_t operator- (uintx_t x, uintx_t y)
 
uintx_t operator/ (uintx_t y, uintx_t z)
 
uintx_t operator/ (uintx_t y, uint32_t z)
 
uintx_t operator% (uintx_t y, uintx_t z)
 
uintx_t operator% (uintx_t y, uint32_t z)
 

Variables

const int HalfBytesInWord = 2*sizeof(uint32_t)
 Number of nibbles in a word.
 
const int BitsInHalfByte = 4
 Number of bits in a nibble.
 
const int BitsInWord = 8*sizeof(uint32_t)
 Number of bits in a word.
 

Function Documentation

◆ operator &() [1/2]

uintx_t operator & ( uintx_t  x,
const uintx_t y 
)

Logical AND of two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer
Returns
x ANDed with y.

Definition at line 633 of file uintx_t.cpp.

◆ operator &() [2/2]

int operator & ( uintx_t  x,
int  y 
)

Logical AND of a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yA word.
Returns
The most significant word of x ANDed with y.

Definition at line 647 of file uintx_t.cpp.

◆ operator *() [1/5]

uintx_t operator * ( uintx_t  y,
uintx_t  z 
)

Multiply two extensible unsigned integers.

Parameters
yA extensible unsigned integer.
zA extensible unsigned integer
Returns
y multiplied by z.

Definition at line 686 of file uintx_t.cpp.

◆ operator *() [2/5]

uintx_t operator * ( uintx_t  x,
int  y 
)

Multiply a extensible unsigned integer by an integer.

Parameters
xA extensible unsigned integer.
yAn integer.
Returns
x multiplied by y.

Definition at line 703 of file uintx_t.cpp.

◆ operator *() [3/5]

uintx_t operator * ( int  x,
uintx_t  y 
)

Multiply an integer by a extensible unsigned integer.

Parameters
xAn integer.
yA extensible unsigned integer.
Returns
x multiplied by y.

Definition at line 726 of file uintx_t.cpp.

◆ operator *() [4/5]

uintx_t operator * ( uintx_t  x,
uint32_t  y 
)

Multiply a extensible unsigned integer by an unsigned integer.

Parameters
xA extensible unsigned integer.
yAn unsigned integer.
Returns
x multiplied by y.

Definition at line 735 of file uintx_t.cpp.

◆ operator *() [5/5]

uintx_t operator * ( uint32_t  x,
uintx_t  y 
)

Multiply an unsigned integer by a extensible unsigned integer.

Parameters
xAn unsigned integer.
yA extensible unsigned integer.
Returns
x multiplied by y.

Definition at line 758 of file uintx_t.cpp.

◆ operator!=() [1/3]

bool operator!= ( uintx_t  x,
uintx_t  y 
)

Unequality test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is not equal to y.

Definition at line 495 of file uintx_t.cpp.

◆ operator!=() [2/3]

bool operator!= ( uintx_t  x,
uint32_t  y 
)

Unequality test for a extensible unsigned integer and an unsigned integer.

Parameters
xA extensible unsigned integer.
yAn unsigned integer.
Returns
true If x is not equal to y.

Definition at line 504 of file uintx_t.cpp.

◆ operator!=() [3/3]

bool operator!= ( uint32_t  x,
uintx_t  y 
)

Unequality test for an unsigned integer and a extensible unsigned integer.

Parameters
xAn unsigned integer.
yA extensible unsigned integer.
Returns
true If x is not equal to y.

Definition at line 513 of file uintx_t.cpp.

◆ operator%() [1/2]

uintx_t operator% ( uintx_t  y,
uintx_t  z 
)

Remainder after dividing a extensible unsigned integer by a extensible unsigned integer.

Parameters
yA extensible unsigned integer.
zA extensible unsigned integer.
Returns
The remainder after y is divided by z.

Definition at line 880 of file uintx_t.cpp.

◆ operator%() [2/2]

uintx_t operator% ( uintx_t  y,
uint32_t  z 
)

Remainder after dividing a extensible unsigned integer by an unsigned integer.

Parameters
yA extensible unsigned integer.
zAn unsigned integer.
Returns
The remainder after y is divided by z.

Definition at line 909 of file uintx_t.cpp.

◆ operator+()

uintx_t operator+ ( uintx_t  x,
uintx_t  y 
)

Add a pair of extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
x + y.

Definition at line 290 of file uintx_t.cpp.

◆ operator-()

uintx_t operator- ( uintx_t  x,
uintx_t  y 
)

Subtract a extensible unsigned integer from a extensible unsigned integer.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer
Returns
y subtracted from x, if non-negative.

Definition at line 782 of file uintx_t.cpp.

◆ operator/() [1/2]

uintx_t operator/ ( uintx_t  y,
uintx_t  z 
)

Divide a extensible unsigned integer by a extensible unsigned integer.

Parameters
yA extensible unsigned integer.
zAn unsigned integer.
Returns
x divided by y, rounded down.

Definition at line 832 of file uintx_t.cpp.

◆ operator/() [2/2]

uintx_t operator/ ( uintx_t  y,
uint32_t  z 
)

Divide a extensible unsigned integer by an unsigned integer.

Parameters
yA extensible unsigned integer.
zAn unsigned integer.
Returns
y divided by z, rounded down.

Definition at line 862 of file uintx_t.cpp.

◆ operator<() [1/2]

bool operator< ( uintx_t  x,
uintx_t  y 
)

Less than test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is less than y.

Definition at line 424 of file uintx_t.cpp.

◆ operator<() [2/2]

bool operator< ( uintx_t  x,
int  y 
)

Less than test for a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yAn integer.
Returns
true If x is less than y.

Definition at line 433 of file uintx_t.cpp.

◆ operator<<()

uintx_t operator<< ( uintx_t  x,
int  d 
)

Left-shift a extensible unsigned integer.

Parameters
xA extensible unsigned integer.
dNumber of bits to left-shift by.
Returns
x left-shifted by d bits.

Definition at line 568 of file uintx_t.cpp.

◆ operator<=() [1/2]

bool operator<= ( uintx_t  x,
uintx_t  y 
)

Less than or equal to test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is less than or equal to y.

Definition at line 442 of file uintx_t.cpp.

◆ operator<=() [2/2]

bool operator<= ( uintx_t  x,
int  y 
)

Less than or equal to test for a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yAn integer.
Returns
true If x is less than or equal to y.

Definition at line 451 of file uintx_t.cpp.

◆ operator==() [1/3]

bool operator== ( uintx_t  x,
uintx_t  y 
)

Equality test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is equal to y.

Definition at line 460 of file uintx_t.cpp.

◆ operator==() [2/3]

bool operator== ( uintx_t  x,
uint32_t  y 
)

Equality test for a extensible unsigned integer and an unsigned integer.

Parameters
xA extensible unsigned integer.
yAn unsigned integer.
Returns
true If x is equal to y.

Definition at line 477 of file uintx_t.cpp.

◆ operator==() [3/3]

bool operator== ( uint32_t  x,
uintx_t  y 
)

Equality test for an unsigned integer and a extensible unsigned integer.

Parameters
xAn unsigned integer.
yA extensible unsigned integer.
Returns
true If x is equal to y.

Definition at line 486 of file uintx_t.cpp.

◆ operator>() [1/2]

bool operator> ( uintx_t  x,
uintx_t  y 
)

Greater than test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is greater than y.

Definition at line 371 of file uintx_t.cpp.

◆ operator>() [2/2]

bool operator> ( uintx_t  x,
int  y 
)

Greater than test for a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yAn integer.
Returns
true If x is greater than y.

Definition at line 388 of file uintx_t.cpp.

◆ operator>=() [1/2]

bool operator>= ( uintx_t  x,
uintx_t  y 
)

Greater than or equal to test for two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer.
Returns
true If x is greater than or equal to y.

Definition at line 397 of file uintx_t.cpp.

◆ operator>=() [2/2]

bool operator>= ( uintx_t  x,
int  y 
)

Greater than or equal to test for a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yAn integer.
Returns
true If x is greater than or equal to y.

Definition at line 415 of file uintx_t.cpp.

◆ operator>>()

uintx_t operator>> ( uintx_t  x,
int  d 
)

Right-shift a extensible unsigned integer.

Parameters
xA extensible unsigned integer.
dNumber of bits to right-shift by.
Returns
x right-shifted by d bits.

Definition at line 617 of file uintx_t.cpp.

◆ operator|() [1/2]

uintx_t operator| ( uintx_t  x,
const uintx_t y 
)

Logical OR of two extensible unsigned integers.

Parameters
xA extensible unsigned integer.
yA extensible unsigned integer
Returns
x ORed with y.

Definition at line 656 of file uintx_t.cpp.

◆ operator|() [2/2]

int operator| ( uintx_t  x,
int  y 
)

Logical OR of a extensible unsigned integer and an integer.

Parameters
xA extensible unsigned integer.
yA word.
Returns
The most significant word of x ORed with y.

Definition at line 670 of file uintx_t.cpp.