zstd_double_fast.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. #if defined (__cplusplus)
  13. extern "C" {
  14. #endif
  15. #include "../common/mem.h" /* U32 */
  16. #include "zstd_compress_internal.h" /* ZSTD_CCtx, size_t */
  17. #ifndef ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR
  18. void ZSTD_fillDoubleHashTable(ZSTD_matchState_t* ms,
  19. void const* end, ZSTD_dictTableLoadMethod_e dtlm,
  20. ZSTD_tableFillPurpose_e tfp);
  21. size_t ZSTD_compressBlock_doubleFast(
  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_dictMatchState(
  25. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  26. void const* src, size_t srcSize);
  27. size_t ZSTD_compressBlock_doubleFast_extDict(
  28. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  29. void const* src, size_t srcSize);
  30. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST ZSTD_compressBlock_doubleFast
  31. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE ZSTD_compressBlock_doubleFast_dictMatchState
  32. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT ZSTD_compressBlock_doubleFast_extDict
  33. #else
  34. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST NULL
  35. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_DICTMATCHSTATE NULL
  36. #define ZSTD_COMPRESSBLOCK_DOUBLEFAST_EXTDICT NULL
  37. #endif /* ZSTD_EXCLUDE_DFAST_BLOCK_COMPRESSOR */
  38. #if defined (__cplusplus)
  39. }
  40. #endif
  41. #endif /* ZSTD_DOUBLE_FAST_H */