multi_compress 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -3
- data/GET_STARTED.md +3 -3
- data/README.md +75 -66
- data/THIRD_PARTY_NOTICES.md +24 -0
- data/ext/multi_compress/brotli_dec_static_init.c +3 -0
- data/ext/multi_compress/brotli_enc_static_init.c +3 -0
- data/ext/multi_compress/extconf.rb +22 -1
- data/ext/multi_compress/multi_compress.c +152 -72
- data/ext/multi_compress/vendor/.vendored +2 -2
- data/ext/multi_compress/vendor/brotli/LICENSE +19 -0
- data/ext/multi_compress/vendor/brotli/c/common/constants.c +7 -7
- data/ext/multi_compress/vendor/brotli/c/common/constants.h +2 -5
- data/ext/multi_compress/vendor/brotli/c/common/context.c +2 -2
- data/ext/multi_compress/vendor/brotli/c/common/context.h +1 -2
- data/ext/multi_compress/vendor/brotli/c/common/dictionary.c +4 -5856
- data/ext/multi_compress/vendor/brotli/c/common/dictionary.h +1 -2
- data/ext/multi_compress/vendor/brotli/c/common/dictionary_inc.h +5847 -0
- data/ext/multi_compress/vendor/brotli/c/common/platform.c +0 -4
- data/ext/multi_compress/vendor/brotli/c/common/platform.h +182 -43
- data/ext/multi_compress/vendor/brotli/c/common/shared_dictionary.c +3 -7
- data/ext/multi_compress/vendor/brotli/c/common/shared_dictionary_internal.h +1 -1
- data/ext/multi_compress/vendor/brotli/c/common/static_init.h +56 -0
- data/ext/multi_compress/vendor/brotli/c/common/transform.c +6 -4
- data/ext/multi_compress/vendor/brotli/c/common/transform.h +1 -2
- data/ext/multi_compress/vendor/brotli/c/common/version.h +3 -3
- data/ext/multi_compress/vendor/brotli/c/dec/bit_reader.c +2 -3
- data/ext/multi_compress/vendor/brotli/c/dec/bit_reader.h +0 -4
- data/ext/multi_compress/vendor/brotli/c/dec/decode.c +128 -39
- data/ext/multi_compress/vendor/brotli/c/dec/huffman.c +2 -5
- data/ext/multi_compress/vendor/brotli/c/dec/huffman.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/dec/prefix.c +67 -0
- data/ext/multi_compress/vendor/brotli/c/dec/prefix.h +18 -708
- data/ext/multi_compress/vendor/brotli/c/dec/prefix_inc.h +707 -0
- data/ext/multi_compress/vendor/brotli/c/dec/state.c +18 -15
- data/ext/multi_compress/vendor/brotli/c/dec/state.h +2 -6
- data/ext/multi_compress/vendor/brotli/c/dec/static_init.c +53 -0
- data/ext/multi_compress/vendor/brotli/c/dec/static_init.h +30 -0
- data/ext/multi_compress/vendor/brotli/c/enc/backward_references.c +32 -8
- data/ext/multi_compress/vendor/brotli/c/enc/backward_references.h +1 -5
- data/ext/multi_compress/vendor/brotli/c/enc/backward_references_hq.c +15 -15
- data/ext/multi_compress/vendor/brotli/c/enc/backward_references_hq.h +1 -5
- data/ext/multi_compress/vendor/brotli/c/enc/bit_cost.c +28 -4
- data/ext/multi_compress/vendor/brotli/c/enc/bit_cost.h +8 -40
- data/ext/multi_compress/vendor/brotli/c/enc/bit_cost_inc.h +1 -1
- data/ext/multi_compress/vendor/brotli/c/enc/block_splitter.c +9 -12
- data/ext/multi_compress/vendor/brotli/c/enc/block_splitter.h +0 -3
- data/ext/multi_compress/vendor/brotli/c/enc/block_splitter_inc.h +14 -8
- data/ext/multi_compress/vendor/brotli/c/enc/brotli_bit_stream.c +10 -9
- data/ext/multi_compress/vendor/brotli/c/enc/brotli_bit_stream.h +0 -6
- data/ext/multi_compress/vendor/brotli/c/enc/cluster.c +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/cluster.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/command.c +1 -1
- data/ext/multi_compress/vendor/brotli/c/enc/command.h +8 -10
- data/ext/multi_compress/vendor/brotli/c/enc/compound_dictionary.c +3 -5
- data/ext/multi_compress/vendor/brotli/c/enc/compound_dictionary.h +1 -4
- data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment.c +3 -13
- data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment_two_pass.c +5 -15
- data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment_two_pass.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash.c +127 -1830
- data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash.h +23 -3
- data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash_inc.h +1829 -0
- data/ext/multi_compress/vendor/brotli/c/enc/encode.c +77 -52
- data/ext/multi_compress/vendor/brotli/c/enc/encoder_dict.c +9 -7
- data/ext/multi_compress/vendor/brotli/c/enc/encoder_dict.h +2 -4
- data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode.c +3 -6
- data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode.h +2 -4
- data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode_static.h +18 -12
- data/ext/multi_compress/vendor/brotli/c/enc/fast_log.c +1 -1
- data/ext/multi_compress/vendor/brotli/c/enc/fast_log.h +2 -3
- data/ext/multi_compress/vendor/brotli/c/enc/find_match_length.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/hash.h +38 -31
- data/ext/multi_compress/vendor/brotli/c/enc/hash_base.h +38 -0
- data/ext/multi_compress/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +11 -1
- data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match64_inc.h +24 -7
- data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match64_simd_inc.h +304 -0
- data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_inc.h +30 -11
- data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +4 -0
- data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_simd_inc.h +278 -0
- data/ext/multi_compress/vendor/brotli/c/enc/histogram.c +1 -0
- data/ext/multi_compress/vendor/brotli/c/enc/histogram.h +0 -4
- data/ext/multi_compress/vendor/brotli/c/enc/literal_cost.c +4 -6
- data/ext/multi_compress/vendor/brotli/c/enc/literal_cost.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/matching_tag_mask.h +69 -0
- data/ext/multi_compress/vendor/brotli/c/enc/memory.c +0 -5
- data/ext/multi_compress/vendor/brotli/c/enc/memory.h +0 -4
- data/ext/multi_compress/vendor/brotli/c/enc/metablock.c +7 -9
- data/ext/multi_compress/vendor/brotli/c/enc/metablock.h +3 -3
- data/ext/multi_compress/vendor/brotli/c/enc/metablock_inc.h +4 -4
- data/ext/multi_compress/vendor/brotli/c/enc/params.h +0 -1
- data/ext/multi_compress/vendor/brotli/c/enc/prefix.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/quality.h +17 -10
- data/ext/multi_compress/vendor/brotli/c/enc/ringbuffer.h +1 -4
- data/ext/multi_compress/vendor/brotli/c/enc/state.h +2 -2
- data/ext/multi_compress/vendor/brotli/c/enc/static_dict.c +5 -11
- data/ext/multi_compress/vendor/brotli/c/enc/static_dict.h +1 -3
- data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut.c +224 -0
- data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut.h +20 -5837
- data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut_inc.h +5830 -0
- data/ext/multi_compress/vendor/brotli/c/enc/static_init.c +59 -0
- data/ext/multi_compress/vendor/brotli/c/enc/static_init.h +30 -0
- data/ext/multi_compress/vendor/brotli/c/enc/static_init_lazy.cc +26 -0
- data/ext/multi_compress/vendor/brotli/c/enc/utf8_util.c +1 -1
- data/ext/multi_compress/vendor/brotli/c/enc/utf8_util.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/enc/write_bits.h +0 -2
- data/ext/multi_compress/vendor/brotli/c/include/brotli/decode.h +1 -1
- data/ext/multi_compress/vendor/brotli/c/include/brotli/encode.h +5 -1
- data/ext/multi_compress/vendor/brotli/c/include/brotli/port.h +4 -7
- data/ext/multi_compress/vendor/brotli/c/include/brotli/types.h +2 -2
- data/ext/multi_compress/vendor/lz4/LICENSE +12 -0
- data/ext/multi_compress/vendor/zstd/COPYING +339 -0
- data/ext/multi_compress/vendor/zstd/LICENSE +30 -0
- data/ext/multi_compress/vendor/zstd/lib/Makefile +67 -35
- data/ext/multi_compress/vendor/zstd/lib/README.md +33 -2
- data/ext/multi_compress/vendor/zstd/lib/common/allocations.h +55 -0
- data/ext/multi_compress/vendor/zstd/lib/common/bits.h +205 -0
- data/ext/multi_compress/vendor/zstd/lib/common/bitstream.h +84 -108
- data/ext/multi_compress/vendor/zstd/lib/common/compiler.h +170 -41
- data/ext/multi_compress/vendor/zstd/lib/common/cpu.h +37 -1
- data/ext/multi_compress/vendor/zstd/lib/common/debug.c +7 -1
- data/ext/multi_compress/vendor/zstd/lib/common/debug.h +21 -21
- data/ext/multi_compress/vendor/zstd/lib/common/entropy_common.c +12 -40
- data/ext/multi_compress/vendor/zstd/lib/common/error_private.c +10 -2
- data/ext/multi_compress/vendor/zstd/lib/common/error_private.h +46 -47
- data/ext/multi_compress/vendor/zstd/lib/common/fse.h +8 -100
- data/ext/multi_compress/vendor/zstd/lib/common/fse_decompress.c +28 -116
- data/ext/multi_compress/vendor/zstd/lib/common/huf.h +79 -166
- data/ext/multi_compress/vendor/zstd/lib/common/mem.h +46 -66
- data/ext/multi_compress/vendor/zstd/lib/common/pool.c +27 -11
- data/ext/multi_compress/vendor/zstd/lib/common/pool.h +8 -11
- data/ext/multi_compress/vendor/zstd/lib/common/portability_macros.h +45 -11
- data/ext/multi_compress/vendor/zstd/lib/common/threading.c +74 -14
- data/ext/multi_compress/vendor/zstd/lib/common/threading.h +5 -18
- data/ext/multi_compress/vendor/zstd/lib/common/xxhash.c +5 -11
- data/ext/multi_compress/vendor/zstd/lib/common/xxhash.h +2411 -1003
- data/ext/multi_compress/vendor/zstd/lib/common/zstd_common.c +1 -36
- data/ext/multi_compress/vendor/zstd/lib/common/zstd_deps.h +13 -1
- data/ext/multi_compress/vendor/zstd/lib/common/zstd_internal.h +13 -182
- data/ext/multi_compress/vendor/zstd/lib/common/zstd_trace.h +6 -13
- data/ext/multi_compress/vendor/zstd/lib/compress/clevels.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/compress/fse_compress.c +15 -131
- data/ext/multi_compress/vendor/zstd/lib/compress/hist.c +11 -1
- data/ext/multi_compress/vendor/zstd/lib/compress/hist.h +8 -1
- data/ext/multi_compress/vendor/zstd/lib/compress/huf_compress.c +283 -189
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress.c +2419 -903
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_internal.h +423 -245
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_literals.c +116 -40
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_literals.h +16 -8
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_sequences.c +10 -10
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_sequences.h +8 -7
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_superblock.c +254 -139
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_superblock.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_cwksp.h +184 -95
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_double_fast.c +163 -81
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_double_fast.h +18 -14
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_fast.c +507 -197
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_fast.h +7 -14
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_lazy.c +579 -484
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_lazy.h +133 -65
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm.c +61 -40
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm.h +7 -15
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm_geartab.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_opt.c +352 -218
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_opt.h +37 -21
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_preSplit.c +238 -0
- data/ext/multi_compress/vendor/zstd/lib/compress/zstd_preSplit.h +33 -0
- data/ext/multi_compress/vendor/zstd/lib/compress/zstdmt_compress.c +239 -175
- data/ext/multi_compress/vendor/zstd/lib/compress/zstdmt_compress.h +5 -16
- data/ext/multi_compress/vendor/zstd/lib/decompress/huf_decompress.c +543 -488
- data/ext/multi_compress/vendor/zstd/lib/decompress/huf_decompress_amd64.S +78 -61
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_ddict.c +4 -4
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_ddict.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress.c +295 -115
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_block.c +430 -293
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_block.h +7 -2
- data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_internal.h +11 -7
- data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_common.c +1 -1
- data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_compress.c +1 -1
- data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_decompress.c +3 -1
- data/ext/multi_compress/vendor/zstd/lib/dictBuilder/cover.c +95 -46
- data/ext/multi_compress/vendor/zstd/lib/dictBuilder/cover.h +3 -9
- data/ext/multi_compress/vendor/zstd/lib/dictBuilder/divsufsort.h +0 -10
- data/ext/multi_compress/vendor/zstd/lib/dictBuilder/fastcover.c +4 -4
- data/ext/multi_compress/vendor/zstd/lib/dictBuilder/zdict.c +25 -97
- data/ext/multi_compress/vendor/zstd/lib/dll/example/Makefile +1 -1
- data/ext/multi_compress/vendor/zstd/lib/dll/example/README.md +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_legacy.h +38 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v01.c +19 -50
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v01.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v02.c +27 -80
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v02.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v03.c +28 -83
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v03.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v04.c +25 -74
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v04.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v05.c +31 -76
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v05.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v06.c +44 -88
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v06.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v07.c +33 -84
- data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v07.h +1 -1
- data/ext/multi_compress/vendor/zstd/lib/libzstd.mk +65 -33
- data/ext/multi_compress/vendor/zstd/lib/libzstd.pc.in +5 -5
- data/ext/multi_compress/vendor/zstd/lib/module.modulemap +13 -3
- data/ext/multi_compress/vendor/zstd/lib/zdict.h +65 -36
- data/ext/multi_compress/vendor/zstd/lib/zstd.h +890 -267
- data/ext/multi_compress/vendor/zstd/lib/zstd_errors.h +28 -16
- data/lib/multi_compress/version.rb +1 -1
- metadata +29 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under both the BSD-style license (found in the
|
|
@@ -8,32 +8,43 @@
|
|
|
8
8
|
* You may select, at your option, one of the above-listed licenses.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
#ifndef
|
|
12
|
-
#define
|
|
13
|
-
|
|
14
|
-
#if defined (__cplusplus)
|
|
15
|
-
extern "C" {
|
|
16
|
-
#endif
|
|
11
|
+
#ifndef ZSTD_ZDICT_H
|
|
12
|
+
#define ZSTD_ZDICT_H
|
|
17
13
|
|
|
18
14
|
|
|
19
15
|
/*====== Dependencies ======*/
|
|
20
16
|
#include <stddef.h> /* size_t */
|
|
21
17
|
|
|
18
|
+
#if defined (__cplusplus)
|
|
19
|
+
extern "C" {
|
|
20
|
+
#endif
|
|
22
21
|
|
|
23
22
|
/* ===== ZDICTLIB_API : control library symbols visibility ===== */
|
|
24
|
-
#ifndef
|
|
25
|
-
|
|
26
|
-
#
|
|
23
|
+
#ifndef ZDICTLIB_VISIBLE
|
|
24
|
+
/* Backwards compatibility with old macro name */
|
|
25
|
+
# ifdef ZDICTLIB_VISIBILITY
|
|
26
|
+
# define ZDICTLIB_VISIBLE ZDICTLIB_VISIBILITY
|
|
27
|
+
# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
|
|
28
|
+
# define ZDICTLIB_VISIBLE __attribute__ ((visibility ("default")))
|
|
27
29
|
# else
|
|
28
|
-
# define
|
|
30
|
+
# define ZDICTLIB_VISIBLE
|
|
29
31
|
# endif
|
|
30
32
|
#endif
|
|
33
|
+
|
|
34
|
+
#ifndef ZDICTLIB_HIDDEN
|
|
35
|
+
# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
|
|
36
|
+
# define ZDICTLIB_HIDDEN __attribute__ ((visibility ("hidden")))
|
|
37
|
+
# else
|
|
38
|
+
# define ZDICTLIB_HIDDEN
|
|
39
|
+
# endif
|
|
40
|
+
#endif
|
|
41
|
+
|
|
31
42
|
#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
|
|
32
|
-
# define ZDICTLIB_API __declspec(dllexport)
|
|
43
|
+
# define ZDICTLIB_API __declspec(dllexport) ZDICTLIB_VISIBLE
|
|
33
44
|
#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
|
|
34
|
-
# define ZDICTLIB_API __declspec(dllimport)
|
|
45
|
+
# define ZDICTLIB_API __declspec(dllimport) ZDICTLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
|
|
35
46
|
#else
|
|
36
|
-
# define ZDICTLIB_API
|
|
47
|
+
# define ZDICTLIB_API ZDICTLIB_VISIBLE
|
|
37
48
|
#endif
|
|
38
49
|
|
|
39
50
|
/*******************************************************************************
|
|
@@ -110,8 +121,8 @@ extern "C" {
|
|
|
110
121
|
* The zstd CLI defaults to a 110KB dictionary. You likely don't need a
|
|
111
122
|
* dictionary larger than that. But, most use cases can get away with a
|
|
112
123
|
* smaller dictionary. The advanced dictionary builders can automatically
|
|
113
|
-
* shrink the dictionary for you, and select
|
|
114
|
-
*
|
|
124
|
+
* shrink the dictionary for you, and select the smallest size that doesn't
|
|
125
|
+
* hurt compression ratio too much. See the `shrinkDict` parameter.
|
|
115
126
|
* A smaller dictionary can save memory, and potentially speed up
|
|
116
127
|
* compression.
|
|
117
128
|
*
|
|
@@ -201,9 +212,9 @@ ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCap
|
|
|
201
212
|
const size_t* samplesSizes, unsigned nbSamples);
|
|
202
213
|
|
|
203
214
|
typedef struct {
|
|
204
|
-
int compressionLevel;
|
|
205
|
-
unsigned notificationLevel;
|
|
206
|
-
unsigned dictID;
|
|
215
|
+
int compressionLevel; /**< optimize for a specific zstd compression level; 0 means default */
|
|
216
|
+
unsigned notificationLevel; /**< Write log to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */
|
|
217
|
+
unsigned dictID; /**< force dictID value; 0 means auto mode (32-bits random value)
|
|
207
218
|
* NOTE: The zstd format reserves some dictionary IDs for future use.
|
|
208
219
|
* You may use them in private settings, but be warned that they
|
|
209
220
|
* may be used by zstd in a public dictionary registry in the future.
|
|
@@ -237,7 +248,7 @@ typedef struct {
|
|
|
237
248
|
* is presumed that the most profitable content is at the end of the dictionary,
|
|
238
249
|
* since that is the cheapest to reference.
|
|
239
250
|
*
|
|
240
|
-
* `maxDictSize` must be >= max(dictContentSize,
|
|
251
|
+
* `maxDictSize` must be >= max(dictContentSize, ZDICT_DICTSIZE_MIN).
|
|
241
252
|
*
|
|
242
253
|
* @return: size of dictionary stored into `dstDictBuffer` (<= `maxDictSize`),
|
|
243
254
|
* or an error code, which can be tested by ZDICT_isError().
|
|
@@ -260,9 +271,29 @@ ZDICTLIB_API size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictS
|
|
|
260
271
|
ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode);
|
|
261
272
|
ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode);
|
|
262
273
|
|
|
274
|
+
#if defined (__cplusplus)
|
|
275
|
+
}
|
|
276
|
+
#endif
|
|
277
|
+
|
|
278
|
+
#endif /* ZSTD_ZDICT_H */
|
|
263
279
|
|
|
280
|
+
#if defined(ZDICT_STATIC_LINKING_ONLY) && !defined(ZSTD_ZDICT_H_STATIC)
|
|
281
|
+
#define ZSTD_ZDICT_H_STATIC
|
|
282
|
+
|
|
283
|
+
#if defined (__cplusplus)
|
|
284
|
+
extern "C" {
|
|
285
|
+
#endif
|
|
264
286
|
|
|
265
|
-
|
|
287
|
+
/* This can be overridden externally to hide static symbols. */
|
|
288
|
+
#ifndef ZDICTLIB_STATIC_API
|
|
289
|
+
# if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
|
|
290
|
+
# define ZDICTLIB_STATIC_API __declspec(dllexport) ZDICTLIB_VISIBLE
|
|
291
|
+
# elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
|
|
292
|
+
# define ZDICTLIB_STATIC_API __declspec(dllimport) ZDICTLIB_VISIBLE
|
|
293
|
+
# else
|
|
294
|
+
# define ZDICTLIB_STATIC_API ZDICTLIB_VISIBLE
|
|
295
|
+
# endif
|
|
296
|
+
#endif
|
|
266
297
|
|
|
267
298
|
/* ====================================================================================
|
|
268
299
|
* The definitions in this section are considered experimental.
|
|
@@ -318,7 +349,7 @@ typedef struct {
|
|
|
318
349
|
* In general, it's recommended to provide a few thousands samples, though this can vary a lot.
|
|
319
350
|
* It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
|
|
320
351
|
*/
|
|
321
|
-
|
|
352
|
+
ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_cover(
|
|
322
353
|
void *dictBuffer, size_t dictBufferCapacity,
|
|
323
354
|
const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples,
|
|
324
355
|
ZDICT_cover_params_t parameters);
|
|
@@ -340,7 +371,7 @@ ZDICTLIB_API size_t ZDICT_trainFromBuffer_cover(
|
|
|
340
371
|
* See ZDICT_trainFromBuffer() for details on failure modes.
|
|
341
372
|
* Note: ZDICT_optimizeTrainFromBuffer_cover() requires about 8 bytes of memory for each input byte and additionally another 5 bytes of memory for each byte of memory for each thread.
|
|
342
373
|
*/
|
|
343
|
-
|
|
374
|
+
ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
344
375
|
void* dictBuffer, size_t dictBufferCapacity,
|
|
345
376
|
const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
|
|
346
377
|
ZDICT_cover_params_t* parameters);
|
|
@@ -361,7 +392,7 @@ ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
361
392
|
* In general, it's recommended to provide a few thousands samples, though this can vary a lot.
|
|
362
393
|
* It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
|
|
363
394
|
*/
|
|
364
|
-
|
|
395
|
+
ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer,
|
|
365
396
|
size_t dictBufferCapacity, const void *samplesBuffer,
|
|
366
397
|
const size_t *samplesSizes, unsigned nbSamples,
|
|
367
398
|
ZDICT_fastCover_params_t parameters);
|
|
@@ -384,7 +415,7 @@ ZDICTLIB_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer,
|
|
|
384
415
|
* See ZDICT_trainFromBuffer() for details on failure modes.
|
|
385
416
|
* Note: ZDICT_optimizeTrainFromBuffer_fastCover() requires about 6 * 2^f bytes of memory for each thread.
|
|
386
417
|
*/
|
|
387
|
-
|
|
418
|
+
ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_fastCover(void* dictBuffer,
|
|
388
419
|
size_t dictBufferCapacity, const void* samplesBuffer,
|
|
389
420
|
const size_t* samplesSizes, unsigned nbSamples,
|
|
390
421
|
ZDICT_fastCover_params_t* parameters);
|
|
@@ -409,7 +440,7 @@ typedef struct {
|
|
|
409
440
|
* It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
|
|
410
441
|
* Note: ZDICT_trainFromBuffer_legacy() will send notifications into stderr if instructed to, using notificationLevel>0.
|
|
411
442
|
*/
|
|
412
|
-
|
|
443
|
+
ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_legacy(
|
|
413
444
|
void* dictBuffer, size_t dictBufferCapacity,
|
|
414
445
|
const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
|
|
415
446
|
ZDICT_legacy_params_t parameters);
|
|
@@ -421,32 +452,30 @@ ZDICTLIB_API size_t ZDICT_trainFromBuffer_legacy(
|
|
|
421
452
|
or _CRT_SECURE_NO_WARNINGS in Visual.
|
|
422
453
|
Otherwise, it's also possible to manually define ZDICT_DISABLE_DEPRECATE_WARNINGS */
|
|
423
454
|
#ifdef ZDICT_DISABLE_DEPRECATE_WARNINGS
|
|
424
|
-
# define ZDICT_DEPRECATED(message)
|
|
455
|
+
# define ZDICT_DEPRECATED(message) /* disable deprecation warnings */
|
|
425
456
|
#else
|
|
426
457
|
# define ZDICT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
|
|
427
458
|
# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */
|
|
428
|
-
# define ZDICT_DEPRECATED(message) [[deprecated(message)]]
|
|
459
|
+
# define ZDICT_DEPRECATED(message) [[deprecated(message)]]
|
|
429
460
|
# elif defined(__clang__) || (ZDICT_GCC_VERSION >= 405)
|
|
430
|
-
# define ZDICT_DEPRECATED(message)
|
|
461
|
+
# define ZDICT_DEPRECATED(message) __attribute__((deprecated(message)))
|
|
431
462
|
# elif (ZDICT_GCC_VERSION >= 301)
|
|
432
|
-
# define ZDICT_DEPRECATED(message)
|
|
463
|
+
# define ZDICT_DEPRECATED(message) __attribute__((deprecated))
|
|
433
464
|
# elif defined(_MSC_VER)
|
|
434
|
-
# define ZDICT_DEPRECATED(message)
|
|
465
|
+
# define ZDICT_DEPRECATED(message) __declspec(deprecated(message))
|
|
435
466
|
# else
|
|
436
467
|
# pragma message("WARNING: You need to implement ZDICT_DEPRECATED for this compiler")
|
|
437
|
-
# define ZDICT_DEPRECATED(message)
|
|
468
|
+
# define ZDICT_DEPRECATED(message)
|
|
438
469
|
# endif
|
|
439
470
|
#endif /* ZDICT_DISABLE_DEPRECATE_WARNINGS */
|
|
440
471
|
|
|
441
472
|
ZDICT_DEPRECATED("use ZDICT_finalizeDictionary() instead")
|
|
473
|
+
ZDICTLIB_STATIC_API
|
|
442
474
|
size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity,
|
|
443
475
|
const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples);
|
|
444
476
|
|
|
445
|
-
|
|
446
|
-
#endif /* ZDICT_STATIC_LINKING_ONLY */
|
|
447
|
-
|
|
448
477
|
#if defined (__cplusplus)
|
|
449
478
|
}
|
|
450
479
|
#endif
|
|
451
480
|
|
|
452
|
-
#endif /*
|
|
481
|
+
#endif /* ZSTD_ZDICT_H_STATIC */
|