2 * Copyright (c) Meta Platforms, Inc. and affiliates.
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.
11 #ifndef ZSTD_DOUBLE_FAST_H
12 #define ZSTD_DOUBLE_FAST_H
14 #if defined (__cplusplus)
18 #include "../common/mem.h" /* U32 */
19 #include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
21 #ifndef ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR
23 void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
24 void const* end, ZSTD_dictTableLoadMethod_e dtlm,
25 ZSTD_tableFillPurpose_e tfp);
27 size_t ZSTD_compressBlock_doubleFast(
28 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
29 void const* src, size_t srcSize);
30 size_t ZSTD_compressBlock_doubleFast_dictMatchState(
31 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
32 void const* src, size_t srcSize);
33 size_t ZSTD_compressBlock_doubleFast_extDict(
34 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
35 void const* src, size_t srcSize);
37 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST ZSTD_compressBlock_doubleFast
38 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE ZSTD_compressBlock_doubleFast_dictMatchState
39 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT ZSTD_compressBlock_doubleFast_extDict
41 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST NULL
42 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE NULL
43 #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT NULL
44 #endif /* ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR */
46 #if defined (__cplusplus)
50 #endif /* ZSTD_DOUBLE_FAST_H */