Module trie_db::nibble_ops [−][src]
Utility methods to work on radix 16 nibble.
Constants
BIT_PER_NIBBLE | Single nibble length in bit. |
CONTENT_HEADER_SIZE | Size of header. |
NIBBLE_LENGTH | Number of child for a branch (trie radix). |
NIBBLE_PER_BYTE | Number of nibble per byte. |
PADDING_BITMASK | Nibble (half a byte). |
SPLIT_SHIFTS | The nibble shifts needed to align. We use two value, one is a left shift and the other is a right shift. |
Functions
at | Get u8 nibble value at a given index in a |
at_left | Get u8 nibble value at a given index of a byte. |
biggest_depth | Count the biggest common depth between two left aligned packed nibble slice. |
left_common | Calculate the number of common nibble between two left aligned bytes. |
left_nibble_at | Get u8 nibble value at a given index in a left aligned array. |
number_padding | Calculate the number of needed padding a array of nibble length |
pad_left | Mask a byte, keeping left nibble. |
pad_right | Mask a byte, keeping right byte. |
push_at_left | Push u8 nibble value at a given index into an existing byte. |
shift_key | Shifts right aligned key to add a given left offset. Resulting in possibly padding at both left and right (example usage when combining two keys). |