rtxBigInt.h File Reference
#include "rtxsrc/rtxContext.h"
Go to the source code of this file.
Classes | |
struct | OSBigInt |
Typedefs | |
typedef struct OSBigInt | OSBigInt |
Functions | |
void | rtxBigIntInit (OSBigInt *pInt) |
int | rtxBigIntSetStr (OSCTXT *pctxt, OSBigInt *pInt, const char *value, int radix) |
int | rtxBigIntSetStrn (OSCTXT *pctxt, OSBigInt *pInt, const char *value, OSSIZE len, int radix) |
int | rtxBigIntSetInt64 (OSCTXT *pctxt, OSBigInt *pInt, OSINT64 value) |
int | rtxBigIntSetUInt64 (OSCTXT *pctxt, OSBigInt *pInt, OSUINT64 value) |
int | rtxBigIntSetBytes (OSCTXT *pctxt, OSBigInt *pInt, OSOCTET *value, OSSIZE vallen) |
OSSIZE | rtxBigIntGetDataLen (const OSBigInt *pInt) |
int | rtxBigIntGetData (OSCTXT *pctxt, const OSBigInt *pInt, OSOCTET *buffer, OSSIZE bufSize) |
OSSIZE | rtxBigIntDigitsNum (const OSBigInt *pInt, int radix) |
int | rtxBigIntCopy (OSCTXT *pctxt, const OSBigInt *pSrc, OSBigInt *pDst) |
int | rtxBigIntFastCopy (OSCTXT *pctxt, const OSBigInt *pSrc, OSBigInt *pDst) |
int | rtxBigIntToString (OSCTXT *pctxt, const OSBigInt *pInt, int radix, char *str, OSSIZE strSize) |
int | rtxBigIntPrint (const OSUTF8CHAR *name, const OSBigInt *bigint, int radix) |
int | rtxBigIntCompare (const OSBigInt *arg1, const OSBigInt *arg2) |
int | rtxBigIntStrCompare (OSCTXT *pctxt, const char *arg1, const char *arg2) |
void | rtxBigIntFree (OSCTXT *pctxt, OSBigInt *pInt) |
int | rtxBigIntAdd (OSCTXT *pctxt, OSBigInt *result, const OSBigInt *arg1, const OSBigInt *arg2) |
int | rtxBigIntSubtract (OSCTXT *pctxt, OSBigInt *result, const OSBigInt *arg1, const OSBigInt *arg2) |
int | rtxBigIntMultiply (OSCTXT *pctxt, OSBigInt *result, const OSBigInt *arg1, const OSBigInt *arg2) |
unsigned short | rtxBigIntBitsPerDigit (int radix) |
short | rtxBigIntByteRadix (int halfRadix) |
Detailed Description
Function Documentation
int rtxBigIntAdd | ( | OSCTXT * | pctxt, | |
OSBigInt * | result, | |||
const OSBigInt * | arg1, | |||
const OSBigInt * | arg2 | |||
) |
This function is used to add two big integer values.
- Parameters:
-
pctxt Pointer to a context structure. result Pointer to big integer structure to receive result. arg1 First big integer to add. arg2 Second big integer to add.
- Returns:
- Result of operation: 0 = success, negative error code if error.
This function is used to compare two big integer values.
- Parameters:
-
arg1 First big integer to compare. arg2 Second big integer to compare.
- Returns:
- Result of comparison: -1 = arg1 < arg2, 0 = arg1 == arg2, +1 = arg1 > arg2
This function is used to copy a big integer data value from one structure to another.
- Parameters:
-
pctxt Pointer to a context structure. pSrc Pointer to source big integer structure. pDst Pointer to destination big integer structure.
- Returns:
- Status of the operation, 0 = success, negative code if error.
OSSIZE rtxBigIntDigitsNum | ( | const OSBigInt * | pInt, | |
int | radix | |||
) |
This function is used to get the number of digits in the binary big integer data value based on radix.
- Parameters:
-
pInt Pointer to big integer structure. radix Radix of the string value, Valid values are 2, 8, 10, or 16.
- Returns:
- Number of digits in the binary data value.
This function is used to copy one BigInt to another. This function will not allocate memory for the byte buffer if the destination BigInt already has a large enough allocated array to hold the data. The destination BigInt must have been initialized using the rtxBigIntInit function.
- Parameters:
-
pctxt Pointer to a context structure. pSrc Pointer to source big integer structure. pDst Pointer to destination big integer structure.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function frees internal memory within the big integer structure.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure in which memory is to be freed.
This function is used to get the binary big integer data value in a byte array.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure. buffer Buffer into which binary big integer value is to be copied. bufSize Size of the data buffer.
- Returns:
- If success, number of bytes in byte array; if error, negative error code.
OSSIZE rtxBigIntGetDataLen | ( | const OSBigInt * | pInt | ) |
This function is used to get the size in bytes of the binary big integer data value.
- Parameters:
-
pInt Pointer to big integer structure.
- Returns:
- Length in bytes of the binary data value.
void rtxBigIntInit | ( | OSBigInt * | pInt | ) |
This function initializes a big integer structure. It must be called prior to working with the structure.
- Parameters:
-
pInt Pointer to big integer data structure.
int rtxBigIntMultiply | ( | OSCTXT * | pctxt, | |
OSBigInt * | result, | |||
const OSBigInt * | arg1, | |||
const OSBigInt * | arg2 | |||
) |
This function is used to multiply two big integer values.
- Parameters:
-
pctxt Pointer to a context structure. result Pointer to big integer structure to receive result. arg1 First big integer to be multiplied. arg2 Second big integer to be multiplied.
- Returns:
- Result of operation: 0 = success, negative error code if error.
int rtxBigIntPrint | ( | const OSUTF8CHAR * | name, | |
const OSBigInt * | bigint, | |||
int | radix | |||
) |
This function is used to print a big integer value to standard output.
- Parameters:
-
name Name to print in "name=value" format. bigint Pointer to big integer value to be printed. radix Radix of the string value, Valid values are 2, 8, 10, or 16.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function sets a big integer binary value from a byte array. The array is assumed to hold the value in binary form.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to receive converted value. value Buffer containing binary integer value. vallen Number of byte in the value buffer.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function sets a big integer binary value from a signed 64-bit integer value.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to receive converted value. value 64-bit integer value to convert.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function sets a big integer binary value from a null-terminated string.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to receive converted value. value Numeric string to convert. radix Radix of the string value, Valid values are 2, 8, 10, or 16.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function sets a big integer binary value from a character string using the given number of characters.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to receive converted value. value Numeric string to convert. len Number of bytes from character string to use. radix Radix of the string value, Valid values are 2, 8, 10, or 16.
- Returns:
- Status of the operation, 0 = success, negative code if error.
This function sets a big integer binary value from an unsigned 64-bit integer value.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to receive converted value. value 64-bit integer value to convert.
- Returns:
- Status of the operation, 0 = success, negative code if error.
int rtxBigIntStrCompare | ( | OSCTXT * | pctxt, | |
const char * | arg1, | |||
const char * | arg2 | |||
) |
This function is used to compare two big integer numeric strings.
- Parameters:
-
pctxt Pointer to a context structure. arg1 First big integer string to compare. arg2 Second big integer string to compare.
- Returns:
- Result of comparison: -1 = arg1 < arg2, 0 = arg1 == arg2, +1 = arg1 > arg2
int rtxBigIntSubtract | ( | OSCTXT * | pctxt, | |
OSBigInt * | result, | |||
const OSBigInt * | arg1, | |||
const OSBigInt * | arg2 | |||
) |
This function is used to subtract one big integer value from another.
- Parameters:
-
pctxt Pointer to a context structure. result Pointer to big integer structure to receive result. arg1 Big integer value that arg2 is subtracted from (minuend). arg2 Big integer to be subtracted from arg1 (subtrahend).
- Returns:
- Result of operation: 0 = success, negative error code if error.
int rtxBigIntToString | ( | OSCTXT * | pctxt, | |
const OSBigInt * | pInt, | |||
int | radix, | |||
char * | str, | |||
OSSIZE | strSize | |||
) |
This function is used to convert a binary big integer value to a string.
- Parameters:
-
pctxt Pointer to a context structure. pInt Pointer to big integer structure to convert. radix Radix of the string value, Valid values are 2, 8, 10, or 16. str Character string buffer to receive converted value. strSize Size, in bytes, of the character string buffer.
- Returns:
- Status of the operation, 0 = success, negative code if error.