zstd_double_fast.h 1.7 KB

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