Go to the source code of this file.
|
size_t | HIST_count (unsigned *count, unsigned *maxSymbolValuePtr, const void *src, size_t srcSize) |
|
unsigned | HIST_isError (size_t code) |
|
size_t | HIST_count_wksp (unsigned *count, unsigned *maxSymbolValuePtr, const void *src, size_t srcSize, void *workSpace, size_t workSpaceSize) |
|
size_t | HIST_countFast (unsigned *count, unsigned *maxSymbolValuePtr, const void *src, size_t srcSize) |
|
size_t | HIST_countFast_wksp (unsigned *count, unsigned *maxSymbolValuePtr, const void *src, size_t srcSize, void *workSpace, size_t workSpaceSize) |
|
unsigned | HIST_count_simple (unsigned *count, unsigned *maxSymbolValuePtr, const void *src, size_t srcSize) |
|
◆ HIST_WKSP_SIZE
◆ HIST_WKSP_SIZE_U32
#define HIST_WKSP_SIZE_U32 1024 |
◆ HIST_count()
size_t HIST_count |
( |
unsigned * | count, |
|
|
unsigned * | maxSymbolValuePtr, |
|
|
const void * | src, |
|
|
size_t | srcSize ) |
HIST_count(): Provides the precise count of each byte within a table 'count'. 'count' is a table of unsigned int, of minimum size (*maxSymbolValuePtr+1). Updates *maxSymbolValuePtr with actual largest symbol value detected.
- Returns
- : count of the most frequent symbol (which isn't identified). or an error code, which can be tested using HIST_isError(). note : if return == srcSize, there is only one symbol.
◆ HIST_count_simple()
unsigned HIST_count_simple |
( |
unsigned * | count, |
|
|
unsigned * | maxSymbolValuePtr, |
|
|
const void * | src, |
|
|
size_t | srcSize ) |
HIST_count_simple() : Same as HIST_countFast(), this function is unsafe, and will segfault if any value within src
is > *maxSymbolValuePtr
. It is also a bit slower for large inputs. However, it does not need any additional memory (not even on stack).
- Returns
- : count of the most frequent symbol. Note this function doesn't produce any error (i.e. it must succeed).
◆ HIST_count_wksp()
size_t HIST_count_wksp |
( |
unsigned * | count, |
|
|
unsigned * | maxSymbolValuePtr, |
|
|
const void * | src, |
|
|
size_t | srcSize, |
|
|
void * | workSpace, |
|
|
size_t | workSpaceSize ) |
HIST_count_wksp() : Same as HIST_count(), but using an externally provided scratch buffer. Benefit is this function will use very little stack space. workSpace
is a writable buffer which must be 4-bytes aligned, workSpaceSize
must be >= HIST_WKSP_SIZE
◆ HIST_countFast()
size_t HIST_countFast |
( |
unsigned * | count, |
|
|
unsigned * | maxSymbolValuePtr, |
|
|
const void * | src, |
|
|
size_t | srcSize ) |
HIST_countFast() : same as HIST_count(), but blindly trusts that all byte values within src are <= *maxSymbolValuePtr. This function is unsafe, and will segfault if any value within src
is > *maxSymbolValuePtr
◆ HIST_countFast_wksp()
size_t HIST_countFast_wksp |
( |
unsigned * | count, |
|
|
unsigned * | maxSymbolValuePtr, |
|
|
const void * | src, |
|
|
size_t | srcSize, |
|
|
void * | workSpace, |
|
|
size_t | workSpaceSize ) |
HIST_countFast_wksp() : Same as HIST_countFast(), but using an externally provided scratch buffer. workSpace
is a writable buffer which must be 4-bytes aligned, workSpaceSize
must be >= HIST_WKSP_SIZE
◆ HIST_isError()
unsigned HIST_isError |
( |
size_t | code | ) |
|
tells if a return value is an error code