Developer Reference

Contents

Big Number Arithmetic

This section describes primitives for performing arithmetic operations with integer big numbers of variable length.
The magnitude of an integer big number is specified by an array of unsigned integer data type
Ipp32u
rp
[length]
and corresponds to the mathematical value
This section uses the following definition for the sign of an integer big number:
typedef enum { IppsBigNumNEG=0, IppsBigNumPOS=1 } IppsBigNumSGN;
The functions described in this section use the context
IppsBigNumState
to serve as an operational vehicle that carries not only the sign and value of the data, but also a sufficient working buffer reserved for various arithmetic operations. The length of the context
IppsBigNumState
is defined as the length of the data carried by the structure and the size of the context
IppsBigNumState
is therefore defined as the maximal length of the data that this operational vehicle can carry.
In all unsigned big number arithmetic functions, integers pointed to by
a
,
b
, and
r
are all of (
n
*32) bits.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804