enInteger contains integer manipulation tools.
| Name | Returns | Parameters | Description |
|---|---|---|---|
| enInteger_Clamp(...) | integer | integer i integer minimum integer maximum |
Clamps an integer to minimum and maximum values. |
| enInteger_ElemBitfield(...) | string | integer i | Converts an integer into its component bits and prints them as an array of hex values (11 is converted into "{0x1, 0x2, 0x8}"). |
| enInteger_ElemBitfieldLabeled(...) | string | integer i list labels |
Converts an integer into its component bits and prints the labels for them, as ordered starting with 0x1, 0x2, 0x4, 0x8, 0x10, et cetera (11 and ["A", "B", "C", "D"] is converted into "{A, B, D}". |
| enInteger_FlipBits(...) | integer | integer bitfield integer positions |
Flips the bits specified by positions in bitfield (alias for bitwise XOR). |
| enInteger_FromString64(...) | integer | string s | Converts a result of enInteger_ToString64(...) back to an integer. |
| enInteger_GetSignZeroPositive(...) | integer | integer i | Returns -1 or 1 depending on the sign of the supplied integer (zero is positive). |
| enInteger_IsPositiveOrZero(...) | integer | integer i | Returns TRUE if supplied integer is positive or zero, FALSE otherwise. |
| enInteger_IsNegative(...) | integer | integer i | Returns TRUE if supplied integer is negative, FALSE otherwise. |
| enInteger_Ordinal(...) | string | integer i | Returns the English ordinal for a given integer ("st" for 1, "nd" for 2, et cetera). |
| enInteger_Rand() | integer | n/a | Generates a random 32-bit integer. |
| enInteger_RandRange(...) | integer | integer minimum integer maximum |
Generates a random integer between minimum and maximum, inclusive. |
| enInteger_RandRangeFast(...) | integer | integer minimum integer maximum |
Generates a random integer between minimum and maximum, inclusive. This is quicker than enInteger_RandRange(...) but has very poor randomness on low-order bits. |
| enInteger_ResetChunk(...) | integer | integer i integer minimum integer maximum integer chunk |
Adds/subtracts chunk to/from i until it is between minimum and maximum. |
| enInteger_ResetTarget(...) | integer | integer i integer minimum integer maximum integer target |
Returns target if i is outside the range of minimum to maximum; otherwise returns i. |
| enInteger_SetBits(...) | integer | integer bitfield integer positions integer value |
Sets the bits specified by positions in bitfield to value (0 or 1). |
| enInteger_ToHex(...) | string | integer i integer chars |
Converts an integer into hex, with a minimum number of digits (zero-padded). |
| enInteger_ToNybbles(...) | integer | integer i integer start_index integer nybble_count |
Returns the least significant nybbles starting at start_index for nybble_count as an integer. |
| enInteger_ToString64(...) | string | integer i integer chars |
Converts an integer into a base64-like string using the OVERRIDE_ENINTEGER_CHARSET_64 charset with a minimum number of characters (zero-padded). |
| Name | Required Value | Description |
|---|---|---|
| TRACE_ENINTEGER | n/a | Enables trace logging (not used). |
| Name | Description |
|---|---|
| CONST_INTEGER_MAX | The largest possible 32-bit integer (0x7FFFFFFF). |
| CONST_INTEGER_MIN | The smallest possible 32-bit integer (0x80000000). |
| CONST_INTEGER_NEGATIVE | The negative bit of a 32-bit integer (0x80000000). |
| Name | Description | Default |
|---|---|---|
| OVERRIDE_ENINTEGER_CHARSET_16 | 16-character charset based on hex. | "0123456789abcdef" |
| OVERRIDE_ENINTEGER_CHARSET_64 | 64-character charset based on web-safe base64. | "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-=" |
| OVERRIDE_ENINTEGER_CHARSET_256 | 256-character charset (not used). | "" |