Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
hash.h File Reference
#include <stdlib.h>
#include <string.h>
#include <brotli/types.h>
#include "../common/constants.h"
#include "../common/dictionary.h"
#include "../common/platform.h"
#include "compound_dictionary.h"
#include "encoder_dict.h"
#include "fast_log.h"
#include "find_match_length.h"
#include "memory.h"
#include "quality.h"
#include "static_dict.h"
#include "hash_to_binary_tree_inc.h"
#include "hash_longest_match_quickly_inc.h"
#include "hash_longest_match_inc.h"
#include "hash_longest_match64_inc.h"
#include "hash_forgetful_chain_inc.h"
#include "hash_rolling_inc.h"
#include "hash_composite_inc.h"

Go to the source code of this file.

Data Structures

struct  HasherCommon
 
struct  HasherSearchResult
 
struct  BackwardMatch
 
struct  Hasher
 

Macros

#define score_t   size_t
 
#define BROTLI_LITERAL_BYTE_SCORE   135
 
#define BROTLI_DISTANCE_BIT_PENALTY   30
 
#define BROTLI_SCORE_BASE   (BROTLI_DISTANCE_BIT_PENALTY * 8 * sizeof(size_t))
 
#define EXPAND_CAT(a, b)
 
#define CAT(a, b)
 
#define FN(X)
 
#define HASHER()
 
#define BUCKET_BITS   17
 
#define MAX_TREE_SEARCH_DEPTH   64
 
#define MAX_TREE_COMP_LENGTH   128
 
#define MAX_NUM_MATCHES_H10   128
 
#define HASHER()
 
#define BUCKET_BITS   16
 
#define BUCKET_SWEEP_BITS   0
 
#define HASH_LEN   5
 
#define USE_DICTIONARY   1
 
#define HASHER()
 
#define BUCKET_SWEEP_BITS   1
 
#define USE_DICTIONARY   0
 
#define HASHER()
 
#define BUCKET_BITS   17
 
#define BUCKET_SWEEP_BITS   2
 
#define USE_DICTIONARY   1
 
#define HASHER()
 
#define HASHER()
 
#define BUCKET_BITS   15
 
#define NUM_LAST_DISTANCES_TO_CHECK   4
 
#define NUM_BANKS   1
 
#define BANK_BITS   16
 
#define HASHER()
 
#define NUM_LAST_DISTANCES_TO_CHECK   10
 
#define HASHER()
 
#define NUM_LAST_DISTANCES_TO_CHECK   16
 
#define NUM_BANKS   512
 
#define BANK_BITS   9
 
#define HASHER()
 
#define HASHER()
 
#define BUCKET_BITS   20
 
#define BUCKET_SWEEP_BITS   2
 
#define HASH_LEN   7
 
#define USE_DICTIONARY   0
 
#define HASHER()
 
#define CHUNKLEN   32
 
#define JUMP   4
 
#define NUMBUCKETS   16777216
 
#define MASK   ((NUMBUCKETS * 64) - 1)
 
#define HASHER()
 
#define JUMP   1
 
#define HASHER()
 
#define HASHER_A   H3
 
#define HASHER_B   HROLLING_FAST
 
#define HASHER()
 
#define HASHER_A   H54
 
#define HASHER_B   HROLLING_FAST
 
#define HASHER()
 
#define HASHER_A   H6
 
#define HASHER_B   HROLLING
 
#define FOR_SIMPLE_HASHERS(H)
 
#define FOR_COMPOSITE_HASHERS(H)
 
#define FOR_GENERIC_HASHERS(H)
 
#define FOR_ALL_HASHERS(H)
 
#define MEMBER_(N)
 
#define SIZE_(N)
 
#define INITIALIZE_(N)
 
#define PREPARE_(N)
 
#define INIT_(N)
 

Typedefs

typedef struct HasherSearchResult HasherSearchResult
 
typedef struct BackwardMatch BackwardMatch
 

Macro Definition Documentation

◆ BANK_BITS [1/2]

#define BANK_BITS   16

◆ BANK_BITS [2/2]

#define BANK_BITS   9

◆ BROTLI_DISTANCE_BIT_PENALTY

#define BROTLI_DISTANCE_BIT_PENALTY   30

◆ BROTLI_LITERAL_BYTE_SCORE

#define BROTLI_LITERAL_BYTE_SCORE   135

◆ BROTLI_SCORE_BASE

#define BROTLI_SCORE_BASE   (BROTLI_DISTANCE_BIT_PENALTY * 8 * sizeof(size_t))

◆ BUCKET_BITS [1/5]

#define BUCKET_BITS   17

◆ BUCKET_BITS [2/5]

#define BUCKET_BITS   16

◆ BUCKET_BITS [3/5]

#define BUCKET_BITS   17

◆ BUCKET_BITS [4/5]

#define BUCKET_BITS   15

◆ BUCKET_BITS [5/5]

#define BUCKET_BITS   20

◆ BUCKET_SWEEP_BITS [1/4]

#define BUCKET_SWEEP_BITS   0

◆ BUCKET_SWEEP_BITS [2/4]

#define BUCKET_SWEEP_BITS   1

◆ BUCKET_SWEEP_BITS [3/4]

#define BUCKET_SWEEP_BITS   2

◆ BUCKET_SWEEP_BITS [4/4]

#define BUCKET_SWEEP_BITS   2

◆ CAT

#define CAT ( a,
b )
Value:
a ## b
#define b(i)
Definition sha256.c:42
#define a(i)
Definition sha256.c:41

◆ CHUNKLEN

#define CHUNKLEN   32

◆ EXPAND_CAT

#define EXPAND_CAT ( a,
b )
Value:
CAT(a, b)
#define CAT(a, b)
Definition hash.h:228

◆ FN

#define FN ( X)
Value:
#define EXPAND_CAT(a, b)
Definition hash.h:227
#define HASHER()
Definition hash.h:231
#define X(name, r, bit)
Definition cpu.h:110

◆ FOR_ALL_HASHERS

#define FOR_ALL_HASHERS ( H)
Value:
#define FOR_GENERIC_HASHERS(H)
Definition hash.h:378

◆ FOR_COMPOSITE_HASHERS

#define FOR_COMPOSITE_HASHERS ( H)
Value:
H(35) H(55) H(65)

◆ FOR_GENERIC_HASHERS

#define FOR_GENERIC_HASHERS ( H)
Value:
#define FOR_COMPOSITE_HASHERS(H)
Definition hash.h:377
#define FOR_SIMPLE_HASHERS(H)
Definition hash.h:376

◆ FOR_SIMPLE_HASHERS

#define FOR_SIMPLE_HASHERS ( H)
Value:
H(2) H(3) H(4) H(5) H(6) H(40) H(41) H(42) H(54)

◆ HASH_LEN [1/2]

#define HASH_LEN   5

◆ HASH_LEN [2/2]

#define HASH_LEN   7

◆ HASHER [1/15]

#define HASHER ( )
Value:
H10

◆ HASHER [2/15]

#define HASHER ( )
Value:
H2

◆ HASHER [3/15]

#define HASHER ( )
Value:
H3

◆ HASHER [4/15]

#define HASHER ( )
Value:
H4

◆ HASHER [5/15]

#define HASHER ( )
Value:
H5

◆ HASHER [6/15]

#define HASHER ( )
Value:
H6

◆ HASHER [7/15]

#define HASHER ( )
Value:
H40

◆ HASHER [8/15]

#define HASHER ( )
Value:
H41

◆ HASHER [9/15]

#define HASHER ( )
Value:
H42

◆ HASHER [10/15]

#define HASHER ( )
Value:
H54

◆ HASHER [11/15]

#define HASHER ( )
Value:
HROLLING_FAST

◆ HASHER [12/15]

#define HASHER ( )
Value:
HROLLING

◆ HASHER [13/15]

#define HASHER ( )
Value:
H35

◆ HASHER [14/15]

#define HASHER ( )
Value:
H55

◆ HASHER [15/15]

#define HASHER ( )
Value:
H65

◆ HASHER_A [1/3]

#define HASHER_A   H3

◆ HASHER_A [2/3]

#define HASHER_A   H54

◆ HASHER_A [3/3]

#define HASHER_A   H6

◆ HASHER_B [1/3]

#define HASHER_B   HROLLING_FAST

◆ HASHER_B [2/3]

#define HASHER_B   HROLLING_FAST

◆ HASHER_B [3/3]

#define HASHER_B   HROLLING

◆ INIT_

#define INIT_ ( N)
Value:
case N: \
StitchToPreviousBlockH ## N( \
&hasher->privat._H ## N, \
input_size, position, data, mask); \
break;
Definition poolTests.c:28

◆ INITIALIZE_

#define INITIALIZE_ ( N)
Value:
case N: \
InitializeH ## N(&hasher->common, \
&hasher->privat._H ## N, params); \
break;

◆ JUMP [1/2]

#define JUMP   4

◆ JUMP [2/2]

#define JUMP   1

◆ MASK

#define MASK   ((NUMBUCKETS * 64) - 1)

◆ MAX_NUM_MATCHES_H10

#define MAX_NUM_MATCHES_H10   128

◆ MAX_TREE_COMP_LENGTH

#define MAX_TREE_COMP_LENGTH   128

◆ MAX_TREE_SEARCH_DEPTH

#define MAX_TREE_SEARCH_DEPTH   64

◆ MEMBER_

#define MEMBER_ ( N)
Value:
H ## N _H ## N;

◆ NUM_BANKS [1/2]

#define NUM_BANKS   1

◆ NUM_BANKS [2/2]

#define NUM_BANKS   512

◆ NUM_LAST_DISTANCES_TO_CHECK [1/3]

#define NUM_LAST_DISTANCES_TO_CHECK   4

◆ NUM_LAST_DISTANCES_TO_CHECK [2/3]

#define NUM_LAST_DISTANCES_TO_CHECK   10

◆ NUM_LAST_DISTANCES_TO_CHECK [3/3]

#define NUM_LAST_DISTANCES_TO_CHECK   16

◆ NUMBUCKETS

#define NUMBUCKETS   16777216

◆ PREPARE_

#define PREPARE_ ( N)
Value:
case N: \
PrepareH ## N( \
&hasher->privat._H ## N, \
one_shot, input_size, data); \
break;

◆ score_t

#define score_t   size_t

◆ SIZE_

#define SIZE_ ( N)
Value:
case N: \
HashMemAllocInBytesH ## N(params, one_shot, input_size, alloc_size); \
break;

◆ USE_DICTIONARY [1/4]

#define USE_DICTIONARY   1

◆ USE_DICTIONARY [2/4]

#define USE_DICTIONARY   0

◆ USE_DICTIONARY [3/4]

#define USE_DICTIONARY   1

◆ USE_DICTIONARY [4/4]

#define USE_DICTIONARY   0

Typedef Documentation

◆ BackwardMatch

typedef struct BackwardMatch BackwardMatch

◆ HasherSearchResult

typedef struct HasherSearchResult HasherSearchResult