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