isomorfeus-ferret 0.17.2 → 0.17.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/isomorfeus_ferret_ext/benchmark.c +9 -20
- data/ext/isomorfeus_ferret_ext/benchmarks_all.h +1 -2
- data/ext/isomorfeus_ferret_ext/bm_hash.c +1 -2
- data/ext/isomorfeus_ferret_ext/brotli_dec_decode.c +4 -2
- data/ext/isomorfeus_ferret_ext/brotli_enc_encode.c +3 -2
- data/ext/isomorfeus_ferret_ext/frb_analysis.c +4 -5
- data/ext/isomorfeus_ferret_ext/frb_field_info.c +3 -4
- data/ext/isomorfeus_ferret_ext/frb_index.c +118 -125
- data/ext/isomorfeus_ferret_ext/frb_lazy_doc.c +14 -16
- data/ext/isomorfeus_ferret_ext/frb_search.c +31 -23
- data/ext/isomorfeus_ferret_ext/frb_store.c +27 -13
- data/ext/isomorfeus_ferret_ext/frb_utils.c +3 -6
- data/ext/isomorfeus_ferret_ext/frt_analysis.c +39 -46
- data/ext/isomorfeus_ferret_ext/frt_analysis.h +9 -9
- data/ext/isomorfeus_ferret_ext/frt_array.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_bitvector.h +3 -6
- data/ext/isomorfeus_ferret_ext/frt_doc_field.c +87 -0
- data/ext/isomorfeus_ferret_ext/frt_doc_field.h +26 -0
- data/ext/isomorfeus_ferret_ext/frt_document.c +4 -97
- data/ext/isomorfeus_ferret_ext/frt_document.h +2 -27
- data/ext/isomorfeus_ferret_ext/frt_except.c +8 -6
- data/ext/isomorfeus_ferret_ext/frt_except.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_field_index.c +13 -32
- data/ext/isomorfeus_ferret_ext/frt_field_index.h +0 -6
- data/ext/isomorfeus_ferret_ext/frt_field_info.c +69 -0
- data/ext/isomorfeus_ferret_ext/frt_field_info.h +49 -0
- data/ext/isomorfeus_ferret_ext/frt_field_infos.c +196 -0
- data/ext/isomorfeus_ferret_ext/frt_field_infos.h +35 -0
- data/ext/isomorfeus_ferret_ext/frt_global.c +10 -4
- data/ext/isomorfeus_ferret_ext/frt_global.h +11 -15
- data/ext/isomorfeus_ferret_ext/frt_hash.c +8 -8
- data/ext/isomorfeus_ferret_ext/frt_hash.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_hashset.c +20 -40
- data/ext/isomorfeus_ferret_ext/frt_hashset.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_helper.c +7 -15
- data/ext/isomorfeus_ferret_ext/frt_in_stream.c +35 -45
- data/ext/isomorfeus_ferret_ext/frt_in_stream.h +3 -2
- data/ext/isomorfeus_ferret_ext/frt_ind.c +20 -38
- data/ext/isomorfeus_ferret_ext/frt_index.c +292 -790
- data/ext/isomorfeus_ferret_ext/frt_index.h +1 -102
- data/ext/isomorfeus_ferret_ext/frt_lang.c +5 -10
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc.c +3 -3
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc.h +1 -1
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc_field.c +18 -25
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc_field.h +5 -5
- data/ext/isomorfeus_ferret_ext/frt_mdbx_store.c +102 -70
- data/ext/isomorfeus_ferret_ext/frt_mempool.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_multimapper.c +23 -46
- data/ext/isomorfeus_ferret_ext/frt_multimapper.h +4 -8
- data/ext/isomorfeus_ferret_ext/frt_out_stream.c +31 -43
- data/ext/isomorfeus_ferret_ext/frt_out_stream.h +2 -2
- data/ext/isomorfeus_ferret_ext/frt_posh.c +6 -819
- data/ext/isomorfeus_ferret_ext/frt_posh.h +0 -57
- data/ext/isomorfeus_ferret_ext/frt_priorityqueue.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_priorityqueue.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_q_boolean.c +85 -171
- data/ext/isomorfeus_ferret_ext/frt_q_match_all.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_q_multi_term.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_q_parser.c +49 -98
- data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +52 -104
- data/ext/isomorfeus_ferret_ext/frt_q_range.c +6 -12
- data/ext/isomorfeus_ferret_ext/frt_q_span.c +113 -226
- data/ext/isomorfeus_ferret_ext/frt_q_wildcard.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_ram_store.c +134 -85
- data/ext/isomorfeus_ferret_ext/frt_search.c +82 -164
- data/ext/isomorfeus_ferret_ext/frt_similarity.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_similarity.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_store.c +13 -25
- data/ext/isomorfeus_ferret_ext/frt_store.h +86 -52
- data/ext/isomorfeus_ferret_ext/frt_term_vectors.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_win32.h +5 -10
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +12 -11
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +11 -13
- data/ext/isomorfeus_ferret_ext/lz4.c +422 -195
- data/ext/isomorfeus_ferret_ext/lz4.h +114 -46
- data/ext/isomorfeus_ferret_ext/lz4frame.c +421 -242
- data/ext/isomorfeus_ferret_ext/lz4frame.h +122 -53
- data/ext/isomorfeus_ferret_ext/lz4hc.c +127 -111
- data/ext/isomorfeus_ferret_ext/lz4hc.h +14 -14
- data/ext/isomorfeus_ferret_ext/lz4xxhash.h +1 -1
- data/ext/isomorfeus_ferret_ext/mdbx.c +3762 -2526
- data/ext/isomorfeus_ferret_ext/mdbx.h +115 -70
- data/ext/isomorfeus_ferret_ext/test.c +40 -87
- data/ext/isomorfeus_ferret_ext/test.h +3 -6
- data/ext/isomorfeus_ferret_ext/test_1710.c +11 -13
- data/ext/isomorfeus_ferret_ext/test_analysis.c +32 -64
- data/ext/isomorfeus_ferret_ext/test_array.c +6 -12
- data/ext/isomorfeus_ferret_ext/test_bitvector.c +12 -24
- data/ext/isomorfeus_ferret_ext/test_document.c +23 -33
- data/ext/isomorfeus_ferret_ext/test_except.c +10 -21
- data/ext/isomorfeus_ferret_ext/test_fields.c +62 -68
- data/ext/isomorfeus_ferret_ext/test_file_deleter.c +15 -23
- data/ext/isomorfeus_ferret_ext/test_filter.c +17 -27
- data/ext/isomorfeus_ferret_ext/test_global.c +14 -29
- data/ext/isomorfeus_ferret_ext/test_hash.c +19 -38
- data/ext/isomorfeus_ferret_ext/test_hashset.c +8 -16
- data/ext/isomorfeus_ferret_ext/test_helper.c +4 -8
- data/ext/isomorfeus_ferret_ext/test_highlighter.c +16 -28
- data/ext/isomorfeus_ferret_ext/test_index.c +277 -487
- data/ext/isomorfeus_ferret_ext/test_lang.c +7 -14
- data/ext/isomorfeus_ferret_ext/test_mdbx_store.c +2 -5
- data/ext/isomorfeus_ferret_ext/test_mempool.c +5 -10
- data/ext/isomorfeus_ferret_ext/test_multimapper.c +3 -6
- data/ext/isomorfeus_ferret_ext/test_priorityqueue.c +9 -18
- data/ext/isomorfeus_ferret_ext/test_q_const_score.c +4 -6
- data/ext/isomorfeus_ferret_ext/test_q_filtered.c +3 -4
- data/ext/isomorfeus_ferret_ext/test_q_fuzzy.c +9 -15
- data/ext/isomorfeus_ferret_ext/test_q_parser.c +8 -16
- data/ext/isomorfeus_ferret_ext/test_q_span.c +19 -35
- data/ext/isomorfeus_ferret_ext/test_ram_store.c +14 -13
- data/ext/isomorfeus_ferret_ext/test_search.c +60 -109
- data/ext/isomorfeus_ferret_ext/test_segments.c +8 -13
- data/ext/isomorfeus_ferret_ext/test_similarity.c +2 -4
- data/ext/isomorfeus_ferret_ext/test_sort.c +14 -24
- data/ext/isomorfeus_ferret_ext/test_store.c +96 -115
- data/ext/isomorfeus_ferret_ext/test_term.c +9 -15
- data/ext/isomorfeus_ferret_ext/test_term_vectors.c +9 -14
- data/ext/isomorfeus_ferret_ext/test_test.c +4 -8
- data/ext/isomorfeus_ferret_ext/test_threading.c +14 -20
- data/ext/isomorfeus_ferret_ext/testhelper.c +11 -21
- data/ext/isomorfeus_ferret_ext/testhelper.h +1 -1
- data/ext/isomorfeus_ferret_ext/tests_all.h +1 -2
- data/lib/isomorfeus/ferret/index/index.rb +1 -1
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +24 -4
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* LZ4 - Fast LZ compression algorithm
|
3
3
|
* Header File
|
4
|
-
* Copyright (C) 2011-
|
4
|
+
* Copyright (C) 2011-2020, Yann Collet.
|
5
5
|
|
6
6
|
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
|
7
7
|
|
@@ -97,36 +97,77 @@ extern "C" {
|
|
97
97
|
# define LZ4LIB_API LZ4LIB_VISIBILITY
|
98
98
|
#endif
|
99
99
|
|
100
|
+
/*! LZ4_FREESTANDING :
|
101
|
+
* When this macro is set to 1, it enables "freestanding mode" that is
|
102
|
+
* suitable for typical freestanding environment which doesn't support
|
103
|
+
* standard C library.
|
104
|
+
*
|
105
|
+
* - LZ4_FREESTANDING is a compile-time switch.
|
106
|
+
* - It requires the following macros to be defined:
|
107
|
+
* LZ4_memcpy, LZ4_memmove, LZ4_memset.
|
108
|
+
* - It only enables LZ4/HC functions which don't use heap.
|
109
|
+
* All LZ4F_* functions are not supported.
|
110
|
+
* - See tests/freestanding.c to check its basic setup.
|
111
|
+
*/
|
112
|
+
#if defined(LZ4_FREESTANDING) && (LZ4_FREESTANDING == 1)
|
113
|
+
# define LZ4_HEAPMODE 0
|
114
|
+
# define LZ4HC_HEAPMODE 0
|
115
|
+
# define LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION 1
|
116
|
+
# if !defined(LZ4_memcpy)
|
117
|
+
# error "LZ4_FREESTANDING requires macro 'LZ4_memcpy'."
|
118
|
+
# endif
|
119
|
+
# if !defined(LZ4_memset)
|
120
|
+
# error "LZ4_FREESTANDING requires macro 'LZ4_memset'."
|
121
|
+
# endif
|
122
|
+
# if !defined(LZ4_memmove)
|
123
|
+
# error "LZ4_FREESTANDING requires macro 'LZ4_memmove'."
|
124
|
+
# endif
|
125
|
+
#elif ! defined(LZ4_FREESTANDING)
|
126
|
+
# define LZ4_FREESTANDING 0
|
127
|
+
#endif
|
128
|
+
|
129
|
+
|
100
130
|
/*------ Version ------*/
|
101
131
|
#define LZ4_VERSION_MAJOR 1 /* for breaking interface changes */
|
102
132
|
#define LZ4_VERSION_MINOR 9 /* for new (non-breaking) interface capabilities */
|
103
|
-
#define LZ4_VERSION_RELEASE
|
133
|
+
#define LZ4_VERSION_RELEASE 4 /* for tweaks, bug-fixes, or development */
|
104
134
|
|
105
135
|
#define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
|
106
136
|
|
107
137
|
#define LZ4_LIB_VERSION LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE
|
108
138
|
#define LZ4_QUOTE(str) #str
|
109
139
|
#define LZ4_EXPAND_AND_QUOTE(str) LZ4_QUOTE(str)
|
110
|
-
#define LZ4_VERSION_STRING LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION)
|
140
|
+
#define LZ4_VERSION_STRING LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION) /* requires v1.7.3+ */
|
111
141
|
|
112
|
-
LZ4LIB_API int LZ4_versionNumber (void); /**< library version number; useful to check dll version */
|
113
|
-
LZ4LIB_API const char* LZ4_versionString (void); /**< library version string; useful to check dll version */
|
142
|
+
LZ4LIB_API int LZ4_versionNumber (void); /**< library version number; useful to check dll version; requires v1.3.0+ */
|
143
|
+
LZ4LIB_API const char* LZ4_versionString (void); /**< library version string; useful to check dll version; requires v1.7.5+ */
|
114
144
|
|
115
145
|
|
116
146
|
/*-************************************
|
117
147
|
* Tuning parameter
|
118
148
|
**************************************/
|
149
|
+
#define LZ4_MEMORY_USAGE_MIN 10
|
150
|
+
#define LZ4_MEMORY_USAGE_DEFAULT 14
|
151
|
+
#define LZ4_MEMORY_USAGE_MAX 20
|
152
|
+
|
119
153
|
/*!
|
120
154
|
* LZ4_MEMORY_USAGE :
|
121
|
-
* Memory usage formula : N->2^N Bytes (examples : 10 -> 1KB; 12 -> 4KB ; 16 -> 64KB; 20 -> 1MB;
|
122
|
-
* Increasing memory usage improves compression ratio.
|
123
|
-
* Reduced memory usage may improve speed, thanks to better cache locality.
|
155
|
+
* Memory usage formula : N->2^N Bytes (examples : 10 -> 1KB; 12 -> 4KB ; 16 -> 64KB; 20 -> 1MB; )
|
156
|
+
* Increasing memory usage improves compression ratio, at the cost of speed.
|
157
|
+
* Reduced memory usage may improve speed at the cost of ratio, thanks to better cache locality.
|
124
158
|
* Default value is 14, for 16KB, which nicely fits into Intel x86 L1 cache
|
125
159
|
*/
|
126
160
|
#ifndef LZ4_MEMORY_USAGE
|
127
|
-
# define LZ4_MEMORY_USAGE
|
161
|
+
# define LZ4_MEMORY_USAGE LZ4_MEMORY_USAGE_DEFAULT
|
128
162
|
#endif
|
129
163
|
|
164
|
+
#if (LZ4_MEMORY_USAGE < LZ4_MEMORY_USAGE_MIN)
|
165
|
+
# error "LZ4_MEMORY_USAGE is too small !"
|
166
|
+
#endif
|
167
|
+
|
168
|
+
#if (LZ4_MEMORY_USAGE > LZ4_MEMORY_USAGE_MAX)
|
169
|
+
# error "LZ4_MEMORY_USAGE is too large !"
|
170
|
+
#endif
|
130
171
|
|
131
172
|
/*-************************************
|
132
173
|
* Simple Functions
|
@@ -270,8 +311,25 @@ LZ4LIB_API int LZ4_decompress_safe_partial (const char* src, char* dst, int srcS
|
|
270
311
|
***********************************************/
|
271
312
|
typedef union LZ4_stream_u LZ4_stream_t; /* incomplete type (defined later) */
|
272
313
|
|
314
|
+
/**
|
315
|
+
Note about RC_INVOKED
|
316
|
+
|
317
|
+
- RC_INVOKED is predefined symbol of rc.exe (the resource compiler which is part of MSVC/Visual Studio).
|
318
|
+
https://docs.microsoft.com/en-us/windows/win32/menurc/predefined-macros
|
319
|
+
|
320
|
+
- Since rc.exe is a legacy compiler, it truncates long symbol (> 30 chars)
|
321
|
+
and reports warning "RC4011: identifier truncated".
|
322
|
+
|
323
|
+
- To eliminate the warning, we surround long preprocessor symbol with
|
324
|
+
"#if !defined(RC_INVOKED) ... #endif" block that means
|
325
|
+
"skip this block when rc.exe is trying to read it".
|
326
|
+
*/
|
327
|
+
#if !defined(RC_INVOKED) /* https://docs.microsoft.com/en-us/windows/win32/menurc/predefined-macros */
|
328
|
+
#if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
|
273
329
|
LZ4LIB_API LZ4_stream_t* LZ4_createStream(void);
|
274
330
|
LZ4LIB_API int LZ4_freeStream (LZ4_stream_t* streamPtr);
|
331
|
+
#endif /* !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION) */
|
332
|
+
#endif
|
275
333
|
|
276
334
|
/*! LZ4_resetStream_fast() : v1.9.0+
|
277
335
|
* Use this to prepare an LZ4_stream_t for a new chain of dependent blocks
|
@@ -355,8 +413,12 @@ typedef union LZ4_streamDecode_u LZ4_streamDecode_t; /* tracking context */
|
|
355
413
|
* creation / destruction of streaming decompression tracking context.
|
356
414
|
* A tracking context can be re-used multiple times.
|
357
415
|
*/
|
416
|
+
#if !defined(RC_INVOKED) /* https://docs.microsoft.com/en-us/windows/win32/menurc/predefined-macros */
|
417
|
+
#if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
|
358
418
|
LZ4LIB_API LZ4_streamDecode_t* LZ4_createStreamDecode(void);
|
359
419
|
LZ4LIB_API int LZ4_freeStreamDecode (LZ4_streamDecode_t* LZ4_stream);
|
420
|
+
#endif /* !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION) */
|
421
|
+
#endif
|
360
422
|
|
361
423
|
/*! LZ4_setStreamDecode() :
|
362
424
|
* An LZ4_streamDecode_t context can be allocated once and re-used multiple times.
|
@@ -406,7 +468,10 @@ LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize);
|
|
406
468
|
* save the last 64KB of decoded data into a safe buffer where it can't be modified during decompression,
|
407
469
|
* then indicate where this data is saved using LZ4_setStreamDecode(), before decompressing next block.
|
408
470
|
*/
|
409
|
-
LZ4LIB_API int
|
471
|
+
LZ4LIB_API int
|
472
|
+
LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecode,
|
473
|
+
const char* src, char* dst,
|
474
|
+
int srcSize, int dstCapacity);
|
410
475
|
|
411
476
|
|
412
477
|
/*! LZ4_decompress_*_usingDict() :
|
@@ -417,7 +482,16 @@ LZ4LIB_API int LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecod
|
|
417
482
|
* Performance tip : Decompression speed can be substantially increased
|
418
483
|
* when dst == dictStart + dictSize.
|
419
484
|
*/
|
420
|
-
LZ4LIB_API int
|
485
|
+
LZ4LIB_API int
|
486
|
+
LZ4_decompress_safe_usingDict(const char* src, char* dst,
|
487
|
+
int srcSize, int dstCapacity,
|
488
|
+
const char* dictStart, int dictSize);
|
489
|
+
|
490
|
+
LZ4LIB_API int
|
491
|
+
LZ4_decompress_safe_partial_usingDict(const char* src, char* dst,
|
492
|
+
int compressedSize,
|
493
|
+
int targetOutputSize, int maxOutputSize,
|
494
|
+
const char* dictStart, int dictSize);
|
421
495
|
|
422
496
|
#endif /* LZ4_H_2983827168210 */
|
423
497
|
|
@@ -496,13 +570,15 @@ LZ4LIB_STATIC_API int LZ4_compress_fast_extState_fastReset (void* state, const c
|
|
496
570
|
* stream (and source buffer) must remain in-place / accessible / unchanged
|
497
571
|
* through the completion of the first compression call on the stream.
|
498
572
|
*/
|
499
|
-
LZ4LIB_STATIC_API void
|
573
|
+
LZ4LIB_STATIC_API void
|
574
|
+
LZ4_attach_dictionary(LZ4_stream_t* workingStream,
|
575
|
+
const LZ4_stream_t* dictionaryStream);
|
500
576
|
|
501
577
|
|
502
578
|
/*! In-place compression and decompression
|
503
579
|
*
|
504
580
|
* It's possible to have input and output sharing the same buffer,
|
505
|
-
* for highly
|
581
|
+
* for highly constrained memory environments.
|
506
582
|
* In both cases, it requires input to lay at the end of the buffer,
|
507
583
|
* and decompression to start at beginning of the buffer.
|
508
584
|
* Buffer size must feature some margin, hence be larger than final size.
|
@@ -592,38 +668,26 @@ LZ4LIB_STATIC_API void LZ4_attach_dictionary(LZ4_stream_t* workingStream, const
|
|
592
668
|
typedef unsigned int LZ4_u32;
|
593
669
|
#endif
|
594
670
|
|
671
|
+
/*! LZ4_stream_t :
|
672
|
+
* Never ever use below internal definitions directly !
|
673
|
+
* These definitions are not API/ABI safe, and may change in future versions.
|
674
|
+
* If you need static allocation, declare or allocate an LZ4_stream_t object.
|
675
|
+
**/
|
676
|
+
|
595
677
|
typedef struct LZ4_stream_t_internal LZ4_stream_t_internal;
|
596
678
|
struct LZ4_stream_t_internal {
|
597
679
|
LZ4_u32 hashTable[LZ4_HASH_SIZE_U32];
|
598
|
-
LZ4_u32 currentOffset;
|
599
|
-
LZ4_u32 tableType;
|
600
680
|
const LZ4_byte* dictionary;
|
601
681
|
const LZ4_stream_t_internal* dictCtx;
|
682
|
+
LZ4_u32 currentOffset;
|
683
|
+
LZ4_u32 tableType;
|
602
684
|
LZ4_u32 dictSize;
|
685
|
+
/* Implicit padding to ensure structure is aligned */
|
603
686
|
};
|
604
687
|
|
605
|
-
|
606
|
-
const LZ4_byte* externalDict;
|
607
|
-
size_t extDictSize;
|
608
|
-
const LZ4_byte* prefixEnd;
|
609
|
-
size_t prefixSize;
|
610
|
-
} LZ4_streamDecode_t_internal;
|
611
|
-
|
612
|
-
|
613
|
-
/*! LZ4_stream_t :
|
614
|
-
* Do not use below internal definitions directly !
|
615
|
-
* Declare or allocate an LZ4_stream_t instead.
|
616
|
-
* LZ4_stream_t can also be created using LZ4_createStream(), which is recommended.
|
617
|
-
* The structure definition can be convenient for static allocation
|
618
|
-
* (on stack, or as part of larger structure).
|
619
|
-
* Init this structure with LZ4_initStream() before first use.
|
620
|
-
* note : only use this definition in association with static linking !
|
621
|
-
* this definition is not API/ABI safe, and may change in future versions.
|
622
|
-
*/
|
623
|
-
#define LZ4_STREAMSIZE 16416 /* static size, for inter-version compatibility */
|
624
|
-
#define LZ4_STREAMSIZE_VOIDP (LZ4_STREAMSIZE / sizeof(void*))
|
688
|
+
#define LZ4_STREAM_MINSIZE ((1UL << LZ4_MEMORY_USAGE) + 32) /* static size, for inter-version compatibility */
|
625
689
|
union LZ4_stream_u {
|
626
|
-
|
690
|
+
char minStateSize[LZ4_STREAM_MINSIZE];
|
627
691
|
LZ4_stream_t_internal internal_donotuse;
|
628
692
|
}; /* previously typedef'd to LZ4_stream_t */
|
629
693
|
|
@@ -641,21 +705,25 @@ union LZ4_stream_u {
|
|
641
705
|
* In which case, the function will @return NULL.
|
642
706
|
* Note2: An LZ4_stream_t structure guarantees correct alignment and size.
|
643
707
|
* Note3: Before v1.9.0, use LZ4_resetStream() instead
|
644
|
-
|
708
|
+
**/
|
645
709
|
LZ4LIB_API LZ4_stream_t* LZ4_initStream (void* buffer, size_t size);
|
646
710
|
|
647
711
|
|
648
712
|
/*! LZ4_streamDecode_t :
|
649
|
-
*
|
650
|
-
*
|
651
|
-
*
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
713
|
+
* Never ever use below internal definitions directly !
|
714
|
+
* These definitions are not API/ABI safe, and may change in future versions.
|
715
|
+
* If you need static allocation, declare or allocate an LZ4_streamDecode_t object.
|
716
|
+
**/
|
717
|
+
typedef struct {
|
718
|
+
const LZ4_byte* externalDict;
|
719
|
+
const LZ4_byte* prefixEnd;
|
720
|
+
size_t extDictSize;
|
721
|
+
size_t prefixSize;
|
722
|
+
} LZ4_streamDecode_t_internal;
|
723
|
+
|
724
|
+
#define LZ4_STREAMDECODE_MINSIZE 32
|
657
725
|
union LZ4_streamDecode_u {
|
658
|
-
|
726
|
+
char minStateSize[LZ4_STREAMDECODE_MINSIZE];
|
659
727
|
LZ4_streamDecode_t_internal internal_donotuse;
|
660
728
|
} ; /* previously typedef'd to LZ4_streamDecode_t */
|
661
729
|
|