Crypto++
8.4
Free C++ class library of cryptographic schemes
|
Multiple precision integer with arithmetic operations. More...
Go to the source code of this file.
Classes | |
struct | InitializeInteger |
Performs static initialization of the Integer class. More... | |
class | Integer |
Multiple precision integer with arithmetic operations. More... | |
class | Integer::DivideByZero |
Exception thrown when division by 0 is encountered. More... | |
class | Integer::RandomNumberNotFound |
Exception thrown when a random number cannot be found that satisfies the condition. More... | |
class | Integer::OpenPGPDecodeErr |
Exception thrown when an error is encountered decoding an OpenPGP integer. More... | |
Typedefs | |
typedef SecBlock< word, AllocatorWithCleanup< word, true > > | IntegerSecBlock |
Functions | |
bool | operator== (const ::Integer &a, const ::Integer &b) |
Comparison. | |
bool | operator!= (const ::Integer &a, const ::Integer &b) |
Comparison. | |
bool | operator> (const ::Integer &a, const ::Integer &b) |
Comparison. | |
bool | operator>= (const ::Integer &a, const ::Integer &b) |
Comparison. | |
bool | operator< (const ::Integer &a, const ::Integer &b) |
Comparison. | |
bool | operator<= (const ::Integer &a, const ::Integer &b) |
Comparison. | |
inline ::Integer | operator+ (const ::Integer &a, const ::Integer &b) |
Addition. | |
inline ::Integer | operator- (const ::Integer &a, const ::Integer &b) |
Subtraction. | |
inline ::Integer | operator* (const ::Integer &a, const ::Integer &b) |
Multiplication. More... | |
inline ::Integer | operator/ (const ::Integer &a, const ::Integer &b) |
Division. | |
inline ::Integer | operator% (const ::Integer &a, const ::Integer &b) |
Remainder. More... | |
inline ::Integer | operator/ (const ::Integer &a, ::word b) |
Division. | |
inline ::word | operator% (const ::Integer &a, ::word b) |
Remainder. More... | |
inline ::Integer | operator& (const ::Integer &a, const ::Integer &b) |
Bitwise AND. More... | |
inline ::Integer | operator| (const ::Integer &a, const ::Integer &b) |
Bitwise OR. More... | |
inline ::Integer | operator^ (const ::Integer &a, const ::Integer &b) |
Bitwise XOR. More... | |
void | swap (::Integer &a, ::Integer &b) |
Multiple precision integer with arithmetic operations.
The Integer class can represent positive and negative integers with absolute value less than (256**sizeof(word))(256**sizeof(int)). Internally, the library uses a sign magnitude representation, and the class has two data members. The first is a IntegerSecBlock (a SecBlock<word>) and it is used to hold the representation. The second is a Sign (an enumeration), and it is used to track the sign of the Integer. For details on how the Integer class initializes its function pointers using InitializeInteger and how it creates Integer::Zero(), Integer::One(), and Integer::Two(), then see the comments at the top of integer.cpp
.
Definition in file integer.h.
Bitwise AND.
Bitwise OR.
Bitwise XOR.