Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
2/*
3 * Copyright (c) Meta Platforms, Inc. and affiliates.
4 * All rights reserved.
5 *
6 * This source code is licensed under both the BSD-style license (found in the
7 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
8 * in the COPYING file in the root directory of this source tree).
9 * You may select, at your option, one of the above-listed licenses.
10 */
11
12#ifndef ZSTD_DOUBLE_FAST_H
13#define ZSTD_DOUBLE_FAST_H
14
15#include "../common/mem.h" /* U32 */
16#include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
17
18#ifndef ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR
19
20void ZSTD_fillDoubleHashTable(ZSTD_MatchState_t* ms,
21 void const* end, ZSTD_dictTableLoadMethod_e dtlm,
22 ZSTD_tableFillPurpose_e tfp);
23
24size_t ZSTD_compressBlock_doubleFast(
25 ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
26 void const* src, size_t srcSize);
27size_t ZSTD_compressBlock_doubleFast_dictMatchState(
28 ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
29 void const* src, size_t srcSize);
30size_t ZSTD_compressBlock_doubleFast_extDict(
31 ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
32 void const* src, size_t srcSize);
33
34#define ZSTD_COMPRESSBLOCK_DOUBLEFAST ZSTD_compressBlock_doubleFast
35#define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE ZSTD_compressBlock_doubleFast_dictMatchState
36#define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT ZSTD_compressBlock_doubleFast_extDict
37#else
38#define ZSTD_COMPRESSBLOCK_DOUBLEFAST NULL
39#define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE NULL
40#define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT NULL
41#endif /* ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR */
42
43#endif /* ZSTD_DOUBLE_FAST_H */