zstd-ruby 1.5.2.2 → 1.5.4.0
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/README.md +15 -3
- data/ext/zstdruby/common.h +7 -0
- data/ext/zstdruby/libzstd/common/bits.h +175 -0
- data/ext/zstdruby/libzstd/common/bitstream.h +18 -59
- data/ext/zstdruby/libzstd/common/compiler.h +22 -3
- data/ext/zstdruby/libzstd/common/cpu.h +1 -1
- data/ext/zstdruby/libzstd/common/debug.c +1 -1
- data/ext/zstdruby/libzstd/common/debug.h +1 -1
- data/ext/zstdruby/libzstd/common/entropy_common.c +12 -40
- data/ext/zstdruby/libzstd/common/error_private.c +9 -2
- data/ext/zstdruby/libzstd/common/error_private.h +1 -1
- data/ext/zstdruby/libzstd/common/fse.h +5 -83
- data/ext/zstdruby/libzstd/common/fse_decompress.c +7 -99
- data/ext/zstdruby/libzstd/common/huf.h +65 -156
- data/ext/zstdruby/libzstd/common/mem.h +39 -46
- data/ext/zstdruby/libzstd/common/pool.c +26 -10
- data/ext/zstdruby/libzstd/common/pool.h +7 -1
- data/ext/zstdruby/libzstd/common/portability_macros.h +22 -3
- data/ext/zstdruby/libzstd/common/threading.c +68 -14
- data/ext/zstdruby/libzstd/common/threading.h +5 -10
- data/ext/zstdruby/libzstd/common/xxhash.c +2 -2
- data/ext/zstdruby/libzstd/common/xxhash.h +8 -8
- data/ext/zstdruby/libzstd/common/zstd_common.c +1 -1
- data/ext/zstdruby/libzstd/common/zstd_deps.h +1 -1
- data/ext/zstdruby/libzstd/common/zstd_internal.h +17 -113
- data/ext/zstdruby/libzstd/common/zstd_trace.h +3 -3
- data/ext/zstdruby/libzstd/compress/clevels.h +1 -1
- data/ext/zstdruby/libzstd/compress/fse_compress.c +7 -124
- data/ext/zstdruby/libzstd/compress/hist.c +1 -1
- data/ext/zstdruby/libzstd/compress/hist.h +1 -1
- data/ext/zstdruby/libzstd/compress/huf_compress.c +234 -169
- data/ext/zstdruby/libzstd/compress/zstd_compress.c +1055 -455
- data/ext/zstdruby/libzstd/compress/zstd_compress_internal.h +165 -145
- data/ext/zstdruby/libzstd/compress/zstd_compress_literals.c +115 -39
- data/ext/zstdruby/libzstd/compress/zstd_compress_literals.h +16 -8
- data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.c +3 -3
- data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.h +1 -1
- data/ext/zstdruby/libzstd/compress/zstd_compress_superblock.c +25 -21
- data/ext/zstdruby/libzstd/compress/zstd_compress_superblock.h +1 -1
- data/ext/zstdruby/libzstd/compress/zstd_cwksp.h +5 -3
- data/ext/zstdruby/libzstd/compress/zstd_double_fast.c +95 -33
- data/ext/zstdruby/libzstd/compress/zstd_double_fast.h +3 -2
- data/ext/zstdruby/libzstd/compress/zstd_fast.c +433 -148
- data/ext/zstdruby/libzstd/compress/zstd_fast.h +3 -2
- data/ext/zstdruby/libzstd/compress/zstd_lazy.c +306 -283
- data/ext/zstdruby/libzstd/compress/zstd_lazy.h +4 -2
- data/ext/zstdruby/libzstd/compress/zstd_ldm.c +5 -5
- data/ext/zstdruby/libzstd/compress/zstd_ldm.h +1 -1
- data/ext/zstdruby/libzstd/compress/zstd_ldm_geartab.h +1 -1
- data/ext/zstdruby/libzstd/compress/zstd_opt.c +104 -80
- data/ext/zstdruby/libzstd/compress/zstd_opt.h +1 -1
- data/ext/zstdruby/libzstd/compress/zstdmt_compress.c +12 -5
- data/ext/zstdruby/libzstd/compress/zstdmt_compress.h +1 -1
- data/ext/zstdruby/libzstd/decompress/huf_decompress.c +434 -441
- data/ext/zstdruby/libzstd/decompress/huf_decompress_amd64.S +30 -39
- data/ext/zstdruby/libzstd/decompress/zstd_ddict.c +3 -4
- data/ext/zstdruby/libzstd/decompress/zstd_ddict.h +1 -1
- data/ext/zstdruby/libzstd/decompress/zstd_decompress.c +164 -42
- data/ext/zstdruby/libzstd/decompress/zstd_decompress_block.c +186 -65
- data/ext/zstdruby/libzstd/decompress/zstd_decompress_block.h +1 -1
- data/ext/zstdruby/libzstd/decompress/zstd_decompress_internal.h +4 -2
- data/ext/zstdruby/libzstd/dictBuilder/cover.c +19 -15
- data/ext/zstdruby/libzstd/dictBuilder/cover.h +1 -1
- data/ext/zstdruby/libzstd/dictBuilder/fastcover.c +2 -2
- data/ext/zstdruby/libzstd/dictBuilder/zdict.c +9 -87
- data/ext/zstdruby/libzstd/zdict.h +53 -31
- data/ext/zstdruby/libzstd/zstd.h +489 -90
- data/ext/zstdruby/libzstd/zstd_errors.h +27 -8
- data/ext/zstdruby/main.c +4 -0
- data/ext/zstdruby/streaming_compress.c +1 -7
- data/ext/zstdruby/zstdruby.c +110 -26
- data/lib/zstd-ruby/version.rb +1 -1
- data/lib/zstd-ruby.rb +0 -1
- metadata +7 -6
|
@@ -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
|
|
@@ -20,19 +20,31 @@ extern "C" {
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */
|
|
23
|
-
#ifndef
|
|
24
|
-
|
|
25
|
-
#
|
|
23
|
+
#ifndef ZSTDERRORLIB_VISIBLE
|
|
24
|
+
/* Backwards compatibility with old macro name */
|
|
25
|
+
# ifdef ZSTDERRORLIB_VISIBILITY
|
|
26
|
+
# define ZSTDERRORLIB_VISIBLE ZSTDERRORLIB_VISIBILITY
|
|
27
|
+
# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
|
|
28
|
+
# define ZSTDERRORLIB_VISIBLE __attribute__ ((visibility ("default")))
|
|
26
29
|
# else
|
|
27
|
-
# define
|
|
30
|
+
# define ZSTDERRORLIB_VISIBLE
|
|
28
31
|
# endif
|
|
29
32
|
#endif
|
|
33
|
+
|
|
34
|
+
#ifndef ZSTDERRORLIB_HIDDEN
|
|
35
|
+
# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
|
|
36
|
+
# define ZSTDERRORLIB_HIDDEN __attribute__ ((visibility ("hidden")))
|
|
37
|
+
# else
|
|
38
|
+
# define ZSTDERRORLIB_HIDDEN
|
|
39
|
+
# endif
|
|
40
|
+
#endif
|
|
41
|
+
|
|
30
42
|
#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
|
|
31
|
-
# define ZSTDERRORLIB_API __declspec(dllexport)
|
|
43
|
+
# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBLE
|
|
32
44
|
#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
|
|
33
|
-
# define ZSTDERRORLIB_API __declspec(dllimport)
|
|
45
|
+
# define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
|
|
34
46
|
#else
|
|
35
|
-
# define ZSTDERRORLIB_API
|
|
47
|
+
# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBLE
|
|
36
48
|
#endif
|
|
37
49
|
|
|
38
50
|
/*-*********************************************
|
|
@@ -58,14 +70,17 @@ typedef enum {
|
|
|
58
70
|
ZSTD_error_frameParameter_windowTooLarge = 16,
|
|
59
71
|
ZSTD_error_corruption_detected = 20,
|
|
60
72
|
ZSTD_error_checksum_wrong = 22,
|
|
73
|
+
ZSTD_error_literals_headerWrong = 24,
|
|
61
74
|
ZSTD_error_dictionary_corrupted = 30,
|
|
62
75
|
ZSTD_error_dictionary_wrong = 32,
|
|
63
76
|
ZSTD_error_dictionaryCreation_failed = 34,
|
|
64
77
|
ZSTD_error_parameter_unsupported = 40,
|
|
78
|
+
ZSTD_error_parameter_combination_unsupported = 41,
|
|
65
79
|
ZSTD_error_parameter_outOfBound = 42,
|
|
66
80
|
ZSTD_error_tableLog_tooLarge = 44,
|
|
67
81
|
ZSTD_error_maxSymbolValue_tooLarge = 46,
|
|
68
82
|
ZSTD_error_maxSymbolValue_tooSmall = 48,
|
|
83
|
+
ZSTD_error_stabilityCondition_notRespected = 50,
|
|
69
84
|
ZSTD_error_stage_wrong = 60,
|
|
70
85
|
ZSTD_error_init_missing = 62,
|
|
71
86
|
ZSTD_error_memory_allocation = 64,
|
|
@@ -73,11 +88,15 @@ typedef enum {
|
|
|
73
88
|
ZSTD_error_dstSize_tooSmall = 70,
|
|
74
89
|
ZSTD_error_srcSize_wrong = 72,
|
|
75
90
|
ZSTD_error_dstBuffer_null = 74,
|
|
91
|
+
ZSTD_error_noForwardProgress_destFull = 80,
|
|
92
|
+
ZSTD_error_noForwardProgress_inputEmpty = 82,
|
|
76
93
|
/* following error codes are __NOT STABLE__, they can be removed or changed in future versions */
|
|
77
94
|
ZSTD_error_frameIndex_tooLarge = 100,
|
|
78
95
|
ZSTD_error_seekableIO = 102,
|
|
79
96
|
ZSTD_error_dstBuffer_wrong = 104,
|
|
80
97
|
ZSTD_error_srcBuffer_wrong = 105,
|
|
98
|
+
ZSTD_error_sequenceProducer_failed = 106,
|
|
99
|
+
ZSTD_error_externalSequences_invalid = 107,
|
|
81
100
|
ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */
|
|
82
101
|
} ZSTD_ErrorCode;
|
|
83
102
|
|
data/ext/zstdruby/main.c
CHANGED
|
@@ -53,13 +53,7 @@ rb_streaming_compress_initialize(int argc, VALUE *argv, VALUE obj)
|
|
|
53
53
|
{
|
|
54
54
|
VALUE compression_level_value;
|
|
55
55
|
rb_scan_args(argc, argv, "01", &compression_level_value);
|
|
56
|
-
|
|
57
|
-
int compression_level;
|
|
58
|
-
if (NIL_P(compression_level_value)) {
|
|
59
|
-
compression_level = ZSTD_CLEVEL_DEFAULT;
|
|
60
|
-
} else {
|
|
61
|
-
compression_level = NUM2INT(compression_level_value);
|
|
62
|
-
}
|
|
56
|
+
int compression_level = convert_compression_level(compression_level_value);
|
|
63
57
|
|
|
64
58
|
struct streaming_compress_t* sc;
|
|
65
59
|
TypedData_Get_Struct(obj, struct streaming_compress_t, &streaming_compress_type, sc);
|
data/ext/zstdruby/zstdruby.c
CHANGED
|
@@ -8,41 +8,74 @@ static VALUE zstdVersion(VALUE self)
|
|
|
8
8
|
return INT2NUM(version);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
static VALUE
|
|
11
|
+
static VALUE rb_compress(int argc, VALUE *argv, VALUE self)
|
|
12
12
|
{
|
|
13
13
|
VALUE input_value;
|
|
14
14
|
VALUE compression_level_value;
|
|
15
15
|
rb_scan_args(argc, argv, "11", &input_value, &compression_level_value);
|
|
16
|
+
int compression_level = convert_compression_level(compression_level_value);
|
|
16
17
|
|
|
17
18
|
StringValue(input_value);
|
|
18
|
-
|
|
19
|
+
char* input_data = RSTRING_PTR(input_value);
|
|
19
20
|
size_t input_size = RSTRING_LEN(input_value);
|
|
21
|
+
size_t max_compressed_size = ZSTD_compressBound(input_size);
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
VALUE output = rb_str_new(NULL, max_compressed_size);
|
|
24
|
+
char* output_data = RSTRING_PTR(output);
|
|
25
|
+
size_t compressed_size = ZSTD_compress((void*)output_data, max_compressed_size,
|
|
26
|
+
(void*)input_data, input_size, compression_level);
|
|
27
|
+
if (ZSTD_isError(compressed_size)) {
|
|
28
|
+
rb_raise(rb_eRuntimeError, "%s: %s", "compress failed", ZSTD_getErrorName(compressed_size));
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
rb_str_resize(output, compressed_size);
|
|
32
|
+
return output;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static VALUE rb_compress_using_dict(int argc, VALUE *argv, VALUE self)
|
|
36
|
+
{
|
|
37
|
+
VALUE input_value;
|
|
38
|
+
VALUE dict;
|
|
39
|
+
VALUE compression_level_value;
|
|
40
|
+
rb_scan_args(argc, argv, "21", &input_value, &dict, &compression_level_value);
|
|
41
|
+
int compression_level = convert_compression_level(compression_level_value);
|
|
42
|
+
|
|
43
|
+
StringValue(input_value);
|
|
44
|
+
char* input_data = RSTRING_PTR(input_value);
|
|
45
|
+
size_t input_size = RSTRING_LEN(input_value);
|
|
29
46
|
size_t max_compressed_size = ZSTD_compressBound(input_size);
|
|
30
47
|
|
|
48
|
+
char* dict_buffer = RSTRING_PTR(dict);
|
|
49
|
+
size_t dict_size = RSTRING_LEN(dict);
|
|
50
|
+
|
|
51
|
+
ZSTD_CDict* const cdict = ZSTD_createCDict(dict_buffer, dict_size, compression_level);
|
|
52
|
+
if (cdict == NULL) {
|
|
53
|
+
rb_raise(rb_eRuntimeError, "%s", "ZSTD_createCDict failed");
|
|
54
|
+
}
|
|
55
|
+
ZSTD_CCtx* const ctx = ZSTD_createCCtx();
|
|
56
|
+
if (ctx == NULL) {
|
|
57
|
+
ZSTD_freeCDict(cdict);
|
|
58
|
+
rb_raise(rb_eRuntimeError, "%s", "ZSTD_createCCtx failed");
|
|
59
|
+
}
|
|
60
|
+
|
|
31
61
|
VALUE output = rb_str_new(NULL, max_compressed_size);
|
|
32
62
|
char* output_data = RSTRING_PTR(output);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
(const void*)input_data, input_size, compression_level);
|
|
63
|
+
size_t const compressed_size = ZSTD_compress_usingCDict(ctx, (void*)output_data, max_compressed_size,
|
|
64
|
+
(void*)input_data, input_size, cdict);
|
|
36
65
|
|
|
37
66
|
if (ZSTD_isError(compressed_size)) {
|
|
67
|
+
ZSTD_freeCDict(cdict);
|
|
68
|
+
ZSTD_freeCCtx(ctx);
|
|
38
69
|
rb_raise(rb_eRuntimeError, "%s: %s", "compress failed", ZSTD_getErrorName(compressed_size));
|
|
39
|
-
} else {
|
|
40
|
-
rb_str_resize(output, compressed_size);
|
|
41
70
|
}
|
|
42
71
|
|
|
72
|
+
rb_str_resize(output, compressed_size);
|
|
73
|
+
ZSTD_freeCDict(cdict);
|
|
74
|
+
ZSTD_freeCCtx(ctx);
|
|
43
75
|
return output;
|
|
44
76
|
}
|
|
45
77
|
|
|
78
|
+
|
|
46
79
|
static VALUE decompress_buffered(const char* input_data, size_t input_size)
|
|
47
80
|
{
|
|
48
81
|
const size_t outputBufferSize = 4096;
|
|
@@ -58,7 +91,6 @@ static VALUE decompress_buffered(const char* input_data, size_t input_size)
|
|
|
58
91
|
rb_raise(rb_eRuntimeError, "%s: %s", "ZSTD_initDStream failed", ZSTD_getErrorName(initResult));
|
|
59
92
|
}
|
|
60
93
|
|
|
61
|
-
|
|
62
94
|
VALUE output_string = rb_str_new(NULL, 0);
|
|
63
95
|
ZSTD_outBuffer output = { NULL, 0, 0 };
|
|
64
96
|
|
|
@@ -80,23 +112,24 @@ static VALUE decompress_buffered(const char* input_data, size_t input_size)
|
|
|
80
112
|
return output_string;
|
|
81
113
|
}
|
|
82
114
|
|
|
83
|
-
static VALUE
|
|
115
|
+
static VALUE rb_decompress(VALUE self, VALUE input_value)
|
|
84
116
|
{
|
|
85
|
-
StringValue(
|
|
86
|
-
|
|
87
|
-
size_t input_size = RSTRING_LEN(
|
|
88
|
-
|
|
89
|
-
uint64_t uncompressed_size = ZSTD_getDecompressedSize(input_data, input_size);
|
|
117
|
+
StringValue(input_value);
|
|
118
|
+
char* input_data = RSTRING_PTR(input_value);
|
|
119
|
+
size_t input_size = RSTRING_LEN(input_value);
|
|
90
120
|
|
|
91
|
-
|
|
121
|
+
unsigned long long const uncompressed_size = ZSTD_getFrameContentSize(input_data, input_size);
|
|
122
|
+
if (uncompressed_size == ZSTD_CONTENTSIZE_ERROR) {
|
|
123
|
+
rb_raise(rb_eRuntimeError, "%s: %s", "not compressed by zstd", ZSTD_getErrorName(uncompressed_size));
|
|
124
|
+
}
|
|
125
|
+
if (uncompressed_size == ZSTD_CONTENTSIZE_UNKNOWN) {
|
|
92
126
|
return decompress_buffered(input_data, input_size);
|
|
93
127
|
}
|
|
94
128
|
|
|
95
129
|
VALUE output = rb_str_new(NULL, uncompressed_size);
|
|
96
130
|
char* output_data = RSTRING_PTR(output);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
(const void*)input_data, input_size);
|
|
131
|
+
size_t const decompress_size = ZSTD_decompress((void*)output_data, uncompressed_size,
|
|
132
|
+
(void*)input_data, input_size);
|
|
100
133
|
|
|
101
134
|
if (ZSTD_isError(decompress_size)) {
|
|
102
135
|
rb_raise(rb_eRuntimeError, "%s: %s", "decompress error", ZSTD_getErrorName(decompress_size));
|
|
@@ -105,10 +138,61 @@ static VALUE decompress(VALUE self, VALUE input)
|
|
|
105
138
|
return output;
|
|
106
139
|
}
|
|
107
140
|
|
|
141
|
+
static VALUE rb_decompress_using_dict(int argc, VALUE *argv, VALUE self)
|
|
142
|
+
{
|
|
143
|
+
VALUE input_value;
|
|
144
|
+
VALUE dict;
|
|
145
|
+
rb_scan_args(argc, argv, "20", &input_value, &dict);
|
|
146
|
+
|
|
147
|
+
StringValue(input_value);
|
|
148
|
+
char* input_data = RSTRING_PTR(input_value);
|
|
149
|
+
size_t input_size = RSTRING_LEN(input_value);
|
|
150
|
+
unsigned long long const uncompressed_size = ZSTD_getFrameContentSize(input_data, input_size);
|
|
151
|
+
if (uncompressed_size == ZSTD_CONTENTSIZE_ERROR) {
|
|
152
|
+
rb_raise(rb_eRuntimeError, "%s: %s", "not compressed by zstd", ZSTD_getErrorName(uncompressed_size));
|
|
153
|
+
}
|
|
154
|
+
if (uncompressed_size == ZSTD_CONTENTSIZE_UNKNOWN) {
|
|
155
|
+
return decompress_buffered(input_data, input_size);
|
|
156
|
+
}
|
|
157
|
+
VALUE output = rb_str_new(NULL, uncompressed_size);
|
|
158
|
+
char* output_data = RSTRING_PTR(output);
|
|
159
|
+
|
|
160
|
+
char* dict_buffer = RSTRING_PTR(dict);
|
|
161
|
+
size_t dict_size = RSTRING_LEN(dict);
|
|
162
|
+
ZSTD_DDict* const ddict = ZSTD_createDDict(dict_buffer, dict_size);
|
|
163
|
+
if (ddict == NULL) {
|
|
164
|
+
rb_raise(rb_eRuntimeError, "%s", "ZSTD_createDDict failed");
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
unsigned const expected_dict_id = ZSTD_getDictID_fromDDict(ddict);
|
|
168
|
+
unsigned const actual_dict_id = ZSTD_getDictID_fromFrame(input_data, input_size);
|
|
169
|
+
if (expected_dict_id != actual_dict_id) {
|
|
170
|
+
ZSTD_freeDDict(ddict);
|
|
171
|
+
rb_raise(rb_eRuntimeError, "%s: %s", "DictID mismatch", ZSTD_getErrorName(uncompressed_size));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
ZSTD_DCtx* const ctx = ZSTD_createDCtx();
|
|
175
|
+
if (ctx == NULL) {
|
|
176
|
+
ZSTD_freeDDict(ddict);
|
|
177
|
+
rb_raise(rb_eRuntimeError, "%s", "ZSTD_createDCtx failed");
|
|
178
|
+
}
|
|
179
|
+
size_t const decompress_size = ZSTD_decompress_usingDDict(ctx, output_data, uncompressed_size, input_data, input_size, ddict);
|
|
180
|
+
if (ZSTD_isError(decompress_size)) {
|
|
181
|
+
ZSTD_freeDDict(ddict);
|
|
182
|
+
ZSTD_freeDCtx(ctx);
|
|
183
|
+
rb_raise(rb_eRuntimeError, "%s: %s", "decompress error", ZSTD_getErrorName(decompress_size));
|
|
184
|
+
}
|
|
185
|
+
ZSTD_freeDDict(ddict);
|
|
186
|
+
ZSTD_freeDCtx(ctx);
|
|
187
|
+
return output;
|
|
188
|
+
}
|
|
189
|
+
|
|
108
190
|
void
|
|
109
191
|
zstd_ruby_init(void)
|
|
110
192
|
{
|
|
111
193
|
rb_define_module_function(rb_mZstd, "zstd_version", zstdVersion, 0);
|
|
112
|
-
rb_define_module_function(rb_mZstd, "compress",
|
|
113
|
-
rb_define_module_function(rb_mZstd, "
|
|
194
|
+
rb_define_module_function(rb_mZstd, "compress", rb_compress, -1);
|
|
195
|
+
rb_define_module_function(rb_mZstd, "compress_using_dict", rb_compress_using_dict, -1);
|
|
196
|
+
rb_define_module_function(rb_mZstd, "decompress", rb_decompress, 1);
|
|
197
|
+
rb_define_module_function(rb_mZstd, "decompress_using_dict", rb_decompress_using_dict, -1);
|
|
114
198
|
}
|
data/lib/zstd-ruby/version.rb
CHANGED
data/lib/zstd-ruby.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zstd-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.5.
|
|
4
|
+
version: 1.5.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SpringMT
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-02-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -87,6 +87,7 @@ files:
|
|
|
87
87
|
- bin/setup
|
|
88
88
|
- ext/zstdruby/common.h
|
|
89
89
|
- ext/zstdruby/extconf.rb
|
|
90
|
+
- ext/zstdruby/libzstd/common/bits.h
|
|
90
91
|
- ext/zstdruby/libzstd/common/bitstream.h
|
|
91
92
|
- ext/zstdruby/libzstd/common/compiler.h
|
|
92
93
|
- ext/zstdruby/libzstd/common/cpu.h
|
|
@@ -166,7 +167,7 @@ homepage: https://github.com/SpringMT/zstd-ruby
|
|
|
166
167
|
licenses:
|
|
167
168
|
- MIT
|
|
168
169
|
metadata: {}
|
|
169
|
-
post_install_message:
|
|
170
|
+
post_install_message:
|
|
170
171
|
rdoc_options: []
|
|
171
172
|
require_paths:
|
|
172
173
|
- lib
|
|
@@ -181,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
181
182
|
- !ruby/object:Gem::Version
|
|
182
183
|
version: '0'
|
|
183
184
|
requirements: []
|
|
184
|
-
rubygems_version: 3.
|
|
185
|
-
signing_key:
|
|
185
|
+
rubygems_version: 3.3.26
|
|
186
|
+
signing_key:
|
|
186
187
|
specification_version: 4
|
|
187
188
|
summary: Ruby binding for zstd(Zstandard - Fast real-time compression algorithm)
|
|
188
189
|
test_files: []
|