zstd_double_fast.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #ifndef ZSTD_DOUBLE_FAST_H
  12. #define ZSTD_DOUBLE_FAST_H
  13. #include "../common/mem.h" /* U32 */
  14. #include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
  15. #ifndef ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR
  16. void ZSTD_fillDoubleHashTable(ZSTD_MatchState_t* ms,
  17. void const* end, ZSTD_dictTableLoadMethod_e dtlm,
  18. ZSTD_tableFillPurpose_e tfp);
  19. size_t ZSTD_compressBlock_doubleFast(
  20. ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  21. void const* src, size_t srcSize);
  22. size_t ZSTD_compressBlock_doubleFast_dictMatchState(
  23. ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  24. void const* src, size_t srcSize);
  25. size_t ZSTD_compressBlock_doubleFast_extDict(
  26. ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  27. void const* src, size_t srcSize);
  28. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST ZSTD_compressBlock_doubleFast
  29. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE ZSTD_compressBlock_doubleFast_dictMatchState
  30. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT ZSTD_compressBlock_doubleFast_extDict
  31. #else
  32. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST NULL
  33. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE NULL
  34. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT NULL
  35. #endif /* ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR */
  36. #endif /* ZSTD_DOUBLE_FAST_H */