xref: /freebsd/sys/contrib/openzfs/module/zstd/lib/compress/zstd_double_fast.h (revision c03c5b1c80914ec656fbee84539355d1fad68bf9)
1 /*
2  * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under both the BSD-style license (found in the
6  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7  * in the COPYING file in the root directory of this source tree).
8  * You may select, at your option, one of the above-listed licenses.
9  */
10 
11 #ifndef ZSTD_DOUBLE_FAST_H
12 #define ZSTD_DOUBLE_FAST_H
13 
14 #if defined (__cplusplus)
15 extern "C" {
16 #endif
17 
18 #include "../common/mem.h"      /* U32 */
19 #include "zstd_compress_internal.h"     /* ZSTD_CCtx, size_t */
20 
21 void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
22                               void const* end, ZSTD_dictTableLoadMethod_e dtlm);
23 size_t ZSTD_compressBlock_doubleFast(
24         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
25         void const* src, size_t srcSize);
26 size_t ZSTD_compressBlock_doubleFast_dictMatchState(
27         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
28         void const* src, size_t srcSize);
29 size_t ZSTD_compressBlock_doubleFast_extDict(
30         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
31         void const* src, size_t srcSize);
32 
33 
34 #if defined (__cplusplus)
35 }
36 #endif
37 
38 #endif /* ZSTD_DOUBLE_FAST_H */
39