|
noexcept |
Increments an arbitrary precision integer specified by a vector of bytes in the Little-Endian order in place and returns the carry flag.
[in,out] | pData | A pointer to a buffer which contains the integer to increment. On output, the buffer holds the result of the operation. |
cbData | Size of the integer in bytes. |
The function considers the input vector to specify the integer in the Little-Endian byte order. That is, given that \(V_X = \{x_0, \dots, x_n\}\) is the input vector pointed to by pSrc
, such that \(x_0\) is the first byte in memory of the vector, \(x_n\) is the last byte and n = cbData - 1
, the input value for the operation is \(X = \sum_{i=0}^{n}x_i\cdot b^i\), where b = 2CHAR_BIT
is a number of values that can be represented with one byte. To increment Big-Endian integers use memincr_BE_inplace.
To produce the result in a separate buffer leaving the original integer unchanged use memincr_LE_copy or memincr_LE.