QCA::BigInteger
#include <QtCrypto>
Public Member Functions | |
BigInteger () | |
BigInteger (const BigInteger &from) | |
BigInteger (const char *c) | |
BigInteger (const QCA::SecureArray &a) | |
BigInteger (const QString &s) | |
BigInteger (int n) | |
int | compare (const BigInteger &n) const |
void | fromArray (const QCA::SecureArray &a) |
bool | fromString (const QString &s) |
bool | operator!= (const BigInteger &other) const |
BigInteger & | operator%= (const BigInteger &b) |
BigInteger & | operator*= (const BigInteger &b) |
BigInteger & | operator+= (const BigInteger &b) |
BigInteger & | operator-= (const BigInteger &b) |
BigInteger & | operator/= (const BigInteger &b) |
bool | operator< (const BigInteger &other) const |
bool | operator<= (const BigInteger &other) const |
BigInteger & | operator= (const BigInteger &from) |
BigInteger & | operator= (const QString &s) |
bool | operator== (const BigInteger &other) const |
bool | operator> (const BigInteger &other) const |
bool | operator>= (const BigInteger &other) const |
QCA::SecureArray | toArray () const |
QString | toString () const |
Related Functions | |
(Note that these are not member functions.) | |
QCA_EXPORT QTextStream & | operator<< (QTextStream &stream, const BigInteger &b) |
Detailed Description
Arbitrary precision integer
BigInteger provides arbitrary precision integers.
Definition at line 570 of file qca_tools.h.
Constructor & Destructor Documentation
◆ BigInteger() [1/6]
QCA::BigInteger::BigInteger | ( | ) |
Constructor.
Creates a new BigInteger, initialised to zero.
◆ BigInteger() [2/6]
QCA::BigInteger::BigInteger | ( | int | n | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
n an alternative integer initialisation value.
◆ BigInteger() [3/6]
QCA::BigInteger::BigInteger | ( | const char * | c | ) |
\overload \param c an alternative initialisation value, encoded as a character array \code
BigInteger b ( "9890343" );
◆ BigInteger() [4/6]
QCA::BigInteger::BigInteger | ( | const QString & | s | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
s an alternative initialisation value, encoded as a string
◆ BigInteger() [5/6]
QCA::BigInteger::BigInteger | ( | const QCA::SecureArray & | a | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
a an alternative initialisation value, encoded as SecureArray
◆ BigInteger() [6/6]
QCA::BigInteger::BigInteger | ( | const BigInteger & | from | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
from an alternative initialisation value, encoded as a BigInteger
Member Function Documentation
◆ compare()
int QCA::BigInteger::compare | ( | const BigInteger & | n | ) | const |
Compare this value with another %BigInteger Normally it is more readable to use one of the operator overloads, so you don't need to use this method directly. \param n the BigInteger to compare with \return zero if the values are the same, negative if the argument is less than the value of this BigInteger, and positive if the argument value is greater than this BigInteger \code
BigInteger a( "400" ); BigInteger b( "-400" ); BigInteger c( " 200 " ); int result; result = a.compare( b ); // return positive 400 > -400 result = a.compare( c ); // return positive, 400 > 200 result = b.compare( c ); // return negative, -400 < 200
◆ fromArray()
void QCA::BigInteger::fromArray | ( | const QCA::SecureArray & | a | ) |
Assign from an array.
The input is expected to be a binary integer in sign-extended network-byte-order.
- Parameters
-
a a SecureArray that represents an integer
◆ fromString()
bool QCA::BigInteger::fromString | ( | const QString & | s | ) |
◆ operator!=()
|
inline |
Inequality operator.
Returns true if the two BigInteger values are different in magnitude, sign or both.
- Parameters
-
other the BigInteger to compare to
Definition at line 780 of file qca_tools.h.
◆ operator%=()
BigInteger& QCA::BigInteger::operator%= | ( | const BigInteger & | b | ) |
Modulo in place operator.
- Parameters
-
b the amount to divide by
◆ operator*=()
BigInteger& QCA::BigInteger::operator*= | ( | const BigInteger & | b | ) |
Multiply in place operator.
- Parameters
-
b the amount to multiply by
◆ operator+=()
BigInteger& QCA::BigInteger::operator+= | ( | const BigInteger & | b | ) |
Increment in place operator \param b the amount to increment by \code
BigInteger a; // a is zero BigInteger b( 500 ); a += b; // a is now 500 a += b; // a is now 1000
◆ operator-=()
BigInteger& QCA::BigInteger::operator-= | ( | const BigInteger & | b | ) |
Decrement in place operator \param b the amount to decrement by \code
BigInteger a; // a is zero BigInteger b( 500 ); a -= b; // a is now -500 a -= b; // a is now -1000
◆ operator/=()
BigInteger& QCA::BigInteger::operator/= | ( | const BigInteger & | b | ) |
Divide in place operator.
- Parameters
-
b the amount to divide by
◆ operator<()
|
inline |
Less than operator.
Returns true if the BigInteger value on the left hand side is less than the BigInteger value on the right hand side.
- Parameters
-
other the BigInteger to compare to
Definition at line 816 of file qca_tools.h.
◆ operator<=()
|
inline |
Less than or equal operator.
Returns true if the BigInteger value on the left hand side is equal to or less than the BigInteger value on the right hand side.
- Parameters
-
other the BigInteger to compare to
Definition at line 792 of file qca_tools.h.
◆ operator=() [1/2]
BigInteger& QCA::BigInteger::operator= | ( | const BigInteger & | from | ) |
Assignment operator \param from the BigInteger to copy from \code
BigInteger a; // a is zero BigInteger b( 500 ); a = b; // a is now 500
◆ operator=() [2/2]
BigInteger& QCA::BigInteger::operator= | ( | const QString & | s | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
s the QString containing an integer representation
- See also
- bool fromString(const QString &s)
- Note
- it is the application's responsibility to make sure that the QString represents a valid integer (ie it only contains numbers and an optional minus sign at the start)
◆ operator==()
|
inline |
Equality operator.
Returns true if the two BigInteger values are the same, including having the same sign.
- Parameters
-
other the BigInteger to compare to
Definition at line 769 of file qca_tools.h.
◆ operator>()
|
inline |
Greater than operator.
Returns true if the BigInteger value on the left hand side is greater than the BigInteger value on the right hand side.
- Parameters
-
other the BigInteger to compare to
Definition at line 828 of file qca_tools.h.
◆ operator>=()
|
inline |
Greater than or equal operator.
Returns true if the BigInteger value on the left hand side is equal to or greater than the BigInteger value on the right hand side.
- Parameters
-
other the BigInteger to compare to
Definition at line 804 of file qca_tools.h.
◆ toArray()
QCA::SecureArray QCA::BigInteger::toArray | ( | ) | const |
Output BigInteger as a byte array, useful for storage or transmission.
The format is a binary integer in sign-extended network-byte-order.
- See also
- void fromArray(const SecureArray &a);
◆ toString()
QString QCA::BigInteger::toString | ( | ) | const |
Convert %BigInteger to a QString \code
QString aString; BigInteger aBiggishInteger( 5878990 ); aString = aBiggishInteger.toString(); // aString is now "5878990"
- Examples
- certtest.cpp.
Friends And Related Function Documentation
◆ operator<<()
|
related |
Stream operator.
- Parameters
-
stream the stream to write to b the integer to write to the stream
The documentation for this class was generated from the following file:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Sep 22 2023 03:49:31 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.