QCA::BigInteger

Search for usage in LXR

#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
 
BigIntegeroperator%= (const BigInteger &b)
 
BigIntegeroperator*= (const BigInteger &b)
 
BigIntegeroperator+= (const BigInteger &b)
 
BigIntegeroperator-= (const BigInteger &b)
 
BigIntegeroperator/= (const BigInteger &b)
 
bool operator< (const BigInteger &other) const
 
bool operator<= (const BigInteger &other) const
 
BigIntegeroperator= (const BigInteger &from)
 
BigIntegeroperator= (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 QTextStreamoperator<< (QTextStream &stream, const BigInteger &b)
 

Detailed Description

Arbitrary precision integer

BigInteger provides arbitrary precision integers.

if ( BigInteger("3499543804349") ==
BigInteger("38493290803248") + BigInteger( 343 ) )
{
// do something
}

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
nan 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
san 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
aan 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
froman 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
aa SecureArray that represents an integer
See also
BigInteger(const SecureArray &a);
SecureArray toArray() const;

◆ fromString()

bool QCA::BigInteger::fromString ( const QString s)

Assign from a QString.

Parameters
sa QString that represents an integer
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)
See also
BigInteger(const QString &s)
BigInteger & operator=(const QString &s)

◆ operator!=()

bool QCA::BigInteger::operator!= ( const BigInteger other) const
inline

Inequality operator.

Returns true if the two BigInteger values are different in magnitude, sign or both.

Parameters
otherthe 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
bthe amount to divide by

◆ operator*=()

BigInteger& QCA::BigInteger::operator*= ( const BigInteger b)

Multiply in place operator.

Parameters
bthe 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
bthe amount to divide by

◆ operator<()

bool QCA::BigInteger::operator< ( const BigInteger other) const
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
otherthe BigInteger to compare to

Definition at line 816 of file qca_tools.h.

◆ operator<=()

bool QCA::BigInteger::operator<= ( const BigInteger other) const
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
otherthe 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
sthe 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==()

bool QCA::BigInteger::operator== ( const BigInteger other) const
inline

Equality operator.

Returns true if the two BigInteger values are the same, including having the same sign.

Parameters
otherthe BigInteger to compare to

Definition at line 769 of file qca_tools.h.

◆ operator>()

bool QCA::BigInteger::operator> ( const BigInteger other) const
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
otherthe BigInteger to compare to

Definition at line 828 of file qca_tools.h.

◆ operator>=()

bool QCA::BigInteger::operator>= ( const BigInteger other) const
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
otherthe 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<<()

QCA_EXPORT QTextStream & operator<< ( QTextStream stream,
const BigInteger b 
)
related

Stream operator.

Parameters
streamthe stream to write to
bthe integer to write to the stream

The documentation for this class was generated from the following file:
BigInteger()
Constructor.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Tue Jun 28 2022 03:49:55 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.