/**
@page bigint Big Integer
- @ref bigintWhat
- @ref bigintHow
@section bigintWhat What does the big integer library do?
Some types of cryptography require the handling of finite arbitrary length
integers. This big integer library attempts to provide support for that
requirement.
It is capable of representing both negative and positive integers with an
absolute value of less than 2<sup>32</sup>^(2<sup>32</sup>).
@section bigintHow How do I use the big integer library?
There are four categories of exposed APIs:
-# Creation of new integers given some other representation (descriptor, TUint,
etc).
@ref RInteger RInteger::NewL()
-# Creation of new integers given some criteria (range, bitcount, prime).
@ref RInteger RInteger::NewRandomL(), RInteger::NewPrimeL()
-# Exporting of previously created integers to descriptors.
@ref TInteger TInteger::BufferLC()
-# Querying attributes about the size of a previously created integer.
@ref TInteger TInteger::BitCount(), TInteger::ByteCount(), TInteger::WordCount().
The following code demostrates how to create an \c RInteger from a bitstring
representation of a big integer.
@code
//This creates an RInteger from the following binary hexadecimal (base 16)
//descriptor. Note that the number is written overall in big endian (most
//significant digit is first, least significant digit (ones digit) is last).
//P.S. The hexadecimal binary descriptor below is the base 16 representation
//of the base 10 number 123456789012345678901234567890.
RInteger integer = RInteger::NewL(_L8("18EE90FF6C373E0EE4E3F0AD2"));
CleanupStack::PushL(integer);
//This next line converts the number stored by an RInteger into a binary, big
//endian, hexadecimal descriptor.
HBufC8* descriptor = integer.BufferLC();
CleanupStack::Pop(descriptor);
CleanupStack::PopAndDestroy(integer);
//descriptor is the same as the original _L8 input value now.
@endcode
For more information on integers, including important memory management
information and additional creation overloads, see \c RInteger @ref RInteger.
*/