![]() |
Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
|
Match finders. More...
Macros | |
#define | EMPTY_HASH_VALUE 0 |
#define | MUST_NORMALIZE_POS UINT32_MAX |
#define | header(is_bt, len_min, ret_op) |
#define | header_find(is_bt, len_min) |
#define | header_skip(is_bt, len_min) |
#define | call_find(func, len_best) |
Functions | |
uint32_t | lzma_mf_find (lzma_mf *mf, uint32_t *count_ptr, lzma_match *matches) |
Find matches starting from the current byte. | |
Match finders.
#define call_find | ( | func, | |
len_best ) |
Calls hc_find_func() or bt_find_func() and calculates the total number of matches found. Updates the dictionary position and returns the number of matches found.
#define EMPTY_HASH_VALUE 0 |
Hash value to indicate unused element in the hash. Since we start the positions from dict_size + 1, zero is always too far to qualify as usable match position.
#define header | ( | is_bt, | |
len_min, | |||
ret_op ) |
Calculate len_limit and determine if there is enough input to run the actual match finder code. Sets up "cur" and "pos". This macro is used by all find functions and binary tree skip functions. Hash chain skip function doesn't need len_limit so a simpler code is used in them.
#define header_find | ( | is_bt, | |
len_min ) |
#define header_skip | ( | is_bt, | |
len_min ) |
Header for a loop in a skip function. "continue" tells to skip the rest of the code in the loop.
#define MUST_NORMALIZE_POS UINT32_MAX |
Normalization must be done when lzma_mf.offset + lzma_mf.read_pos reaches MUST_NORMALIZE_POS.
|
extern |
Find matches starting from the current byte.