deflate-ruby 1.0.1 → 1.0.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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +95 -92
  3. data/GEM_VERIFICATION_REPORT.md +140 -0
  4. data/LICENSE.txt +6 -6
  5. data/README.md +87 -65
  6. data/Rakefile +23 -0
  7. data/ext/deflate_ruby/{libdeflate/lib/x86/adler32_impl.h → adler32_impl.h} +8 -7
  8. data/ext/deflate_ruby/common_defs.h +748 -0
  9. data/ext/deflate_ruby/{libdeflate/lib/x86/cpu_features.c → cpu_features.c} +46 -16
  10. data/ext/deflate_ruby/{libdeflate/lib/x86/cpu_features.h → cpu_features.h} +2 -1
  11. data/ext/deflate_ruby/{libdeflate/lib/x86/crc32_impl.h → crc32_impl.h} +22 -23
  12. data/ext/deflate_ruby/{libdeflate/lib/crc32_multipliers.h → crc32_multipliers.h} +2 -4
  13. data/ext/deflate_ruby/{libdeflate/lib/x86/crc32_pclmul_template.h → crc32_pclmul_template.h} +23 -94
  14. data/ext/deflate_ruby/{libdeflate/lib/crc32_tables.h → crc32_tables.h} +1 -1
  15. data/ext/deflate_ruby/{libdeflate/lib/deflate_compress.c → deflate_compress.c} +59 -60
  16. data/ext/deflate_ruby/deflate_ruby.c +392 -218
  17. data/ext/deflate_ruby/deflate_ruby.h +6 -0
  18. data/ext/deflate_ruby/extconf.rb +35 -25
  19. data/ext/deflate_ruby/libdeflate/adler32.c +162 -0
  20. data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/adler32_impl.h +14 -7
  21. data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/crc32_impl.h +25 -31
  22. data/ext/deflate_ruby/libdeflate/arm/crc32_pmull_helpers.h +156 -0
  23. data/ext/deflate_ruby/libdeflate/arm/crc32_pmull_wide.h +226 -0
  24. data/ext/deflate_ruby/libdeflate/bt_matchfinder.h +342 -0
  25. data/ext/deflate_ruby/libdeflate/common_defs.h +2 -1
  26. data/ext/deflate_ruby/libdeflate/cpu_features_common.h +93 -0
  27. data/ext/deflate_ruby/libdeflate/crc32.c +262 -0
  28. data/ext/deflate_ruby/libdeflate/crc32_multipliers.h +375 -0
  29. data/ext/deflate_ruby/libdeflate/crc32_tables.h +587 -0
  30. data/ext/deflate_ruby/libdeflate/decompress_template.h +777 -0
  31. data/ext/deflate_ruby/libdeflate/deflate_compress.c +4128 -0
  32. data/ext/deflate_ruby/libdeflate/deflate_compress.h +15 -0
  33. data/ext/deflate_ruby/libdeflate/deflate_constants.h +56 -0
  34. data/ext/deflate_ruby/libdeflate/deflate_decompress.c +1208 -0
  35. data/ext/deflate_ruby/libdeflate/gzip_compress.c +90 -0
  36. data/ext/deflate_ruby/libdeflate/gzip_constants.h +45 -0
  37. data/ext/deflate_ruby/libdeflate/gzip_decompress.c +144 -0
  38. data/ext/deflate_ruby/libdeflate/hc_matchfinder.h +401 -0
  39. data/ext/deflate_ruby/libdeflate/ht_matchfinder.h +234 -0
  40. data/ext/deflate_ruby/libdeflate/lib_common.h +106 -0
  41. data/ext/deflate_ruby/libdeflate/libdeflate.h +2 -2
  42. data/ext/deflate_ruby/libdeflate/{lib/matchfinder_common.h → matchfinder_common.h} +3 -3
  43. data/ext/deflate_ruby/libdeflate/x86/adler32_impl.h +135 -0
  44. data/ext/deflate_ruby/libdeflate/x86/adler32_template.h +518 -0
  45. data/ext/deflate_ruby/libdeflate/x86/cpu_features.c +213 -0
  46. data/ext/deflate_ruby/libdeflate/x86/cpu_features.h +170 -0
  47. data/ext/deflate_ruby/libdeflate/x86/crc32_impl.h +159 -0
  48. data/ext/deflate_ruby/libdeflate/x86/crc32_pclmul_template.h +424 -0
  49. data/ext/deflate_ruby/libdeflate/x86/decompress_impl.h +57 -0
  50. data/ext/deflate_ruby/libdeflate.h +411 -0
  51. data/ext/deflate_ruby/matchfinder_common.h +224 -0
  52. data/ext/deflate_ruby/matchfinder_impl.h +122 -0
  53. data/ext/deflate_ruby/utils.c +141 -0
  54. data/ext/deflate_ruby/zlib_compress.c +82 -0
  55. data/ext/deflate_ruby/zlib_constants.h +21 -0
  56. data/ext/deflate_ruby/zlib_decompress.c +104 -0
  57. data/lib/deflate_ruby/version.rb +1 -1
  58. data/lib/deflate_ruby.rb +1 -63
  59. data/sig/deflate_ruby.rbs +4 -0
  60. data/test/test_deflate_ruby.rb +220 -0
  61. data/test/test_helper.rb +6 -0
  62. metadata +90 -144
  63. data/ext/deflate_ruby/libdeflate/CMakeLists.txt +0 -270
  64. data/ext/deflate_ruby/libdeflate/NEWS.md +0 -494
  65. data/ext/deflate_ruby/libdeflate/README.md +0 -228
  66. data/ext/deflate_ruby/libdeflate/libdeflate-config.cmake.in +0 -3
  67. data/ext/deflate_ruby/libdeflate/libdeflate.pc.in +0 -18
  68. data/ext/deflate_ruby/libdeflate/programs/CMakeLists.txt +0 -105
  69. data/ext/deflate_ruby/libdeflate/programs/benchmark.c +0 -696
  70. data/ext/deflate_ruby/libdeflate/programs/checksum.c +0 -218
  71. data/ext/deflate_ruby/libdeflate/programs/config.h.in +0 -19
  72. data/ext/deflate_ruby/libdeflate/programs/gzip.c +0 -688
  73. data/ext/deflate_ruby/libdeflate/programs/prog_util.c +0 -521
  74. data/ext/deflate_ruby/libdeflate/programs/prog_util.h +0 -225
  75. data/ext/deflate_ruby/libdeflate/programs/test_checksums.c +0 -200
  76. data/ext/deflate_ruby/libdeflate/programs/test_custom_malloc.c +0 -155
  77. data/ext/deflate_ruby/libdeflate/programs/test_incomplete_codes.c +0 -385
  78. data/ext/deflate_ruby/libdeflate/programs/test_invalid_streams.c +0 -130
  79. data/ext/deflate_ruby/libdeflate/programs/test_litrunlen_overflow.c +0 -72
  80. data/ext/deflate_ruby/libdeflate/programs/test_overread.c +0 -95
  81. data/ext/deflate_ruby/libdeflate/programs/test_slow_decompression.c +0 -472
  82. data/ext/deflate_ruby/libdeflate/programs/test_trailing_bytes.c +0 -151
  83. data/ext/deflate_ruby/libdeflate/programs/test_util.c +0 -237
  84. data/ext/deflate_ruby/libdeflate/programs/test_util.h +0 -61
  85. data/ext/deflate_ruby/libdeflate/programs/tgetopt.c +0 -118
  86. data/ext/deflate_ruby/libdeflate/scripts/android_build.sh +0 -118
  87. data/ext/deflate_ruby/libdeflate/scripts/android_tests.sh +0 -69
  88. data/ext/deflate_ruby/libdeflate/scripts/benchmark.sh +0 -10
  89. data/ext/deflate_ruby/libdeflate/scripts/checksum.sh +0 -10
  90. data/ext/deflate_ruby/libdeflate/scripts/checksum_benchmarks.sh +0 -253
  91. data/ext/deflate_ruby/libdeflate/scripts/cmake-helper.sh +0 -17
  92. data/ext/deflate_ruby/libdeflate/scripts/deflate_benchmarks.sh +0 -119
  93. data/ext/deflate_ruby/libdeflate/scripts/exec_tests.sh +0 -38
  94. data/ext/deflate_ruby/libdeflate/scripts/gen-release-archives.sh +0 -37
  95. data/ext/deflate_ruby/libdeflate/scripts/gen_bitreverse_tab.py +0 -19
  96. data/ext/deflate_ruby/libdeflate/scripts/gen_crc32_multipliers.c +0 -199
  97. data/ext/deflate_ruby/libdeflate/scripts/gen_crc32_tables.c +0 -105
  98. data/ext/deflate_ruby/libdeflate/scripts/gen_default_litlen_costs.py +0 -44
  99. data/ext/deflate_ruby/libdeflate/scripts/gen_offset_slot_map.py +0 -29
  100. data/ext/deflate_ruby/libdeflate/scripts/gzip_tests.sh +0 -523
  101. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/corpus/0 +0 -0
  102. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/fuzz.c +0 -95
  103. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/corpus/0 +0 -3
  104. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/fuzz.c +0 -62
  105. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/fuzz.sh +0 -108
  106. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/corpus/0 +0 -0
  107. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/fuzz.c +0 -19
  108. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/corpus/0 +0 -3
  109. data/ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/fuzz.c +0 -19
  110. data/ext/deflate_ruby/libdeflate/scripts/run_tests.sh +0 -416
  111. data/ext/deflate_ruby/libdeflate/scripts/toolchain-i686-w64-mingw32.cmake +0 -8
  112. data/ext/deflate_ruby/libdeflate/scripts/toolchain-x86_64-w64-mingw32.cmake +0 -8
  113. /data/ext/deflate_ruby/{libdeflate/lib/adler32.c → adler32.c} +0 -0
  114. /data/ext/deflate_ruby/{libdeflate/lib/x86/adler32_template.h → adler32_template.h} +0 -0
  115. /data/ext/deflate_ruby/{libdeflate/lib/bt_matchfinder.h → bt_matchfinder.h} +0 -0
  116. /data/ext/deflate_ruby/{libdeflate/lib/cpu_features_common.h → cpu_features_common.h} +0 -0
  117. /data/ext/deflate_ruby/{libdeflate/lib/crc32.c → crc32.c} +0 -0
  118. /data/ext/deflate_ruby/{libdeflate/lib/arm/crc32_pmull_helpers.h → crc32_pmull_helpers.h} +0 -0
  119. /data/ext/deflate_ruby/{libdeflate/lib/arm/crc32_pmull_wide.h → crc32_pmull_wide.h} +0 -0
  120. /data/ext/deflate_ruby/{libdeflate/lib/x86/decompress_impl.h → decompress_impl.h} +0 -0
  121. /data/ext/deflate_ruby/{libdeflate/lib/decompress_template.h → decompress_template.h} +0 -0
  122. /data/ext/deflate_ruby/{libdeflate/lib/deflate_compress.h → deflate_compress.h} +0 -0
  123. /data/ext/deflate_ruby/{libdeflate/lib/deflate_constants.h → deflate_constants.h} +0 -0
  124. /data/ext/deflate_ruby/{libdeflate/lib/deflate_decompress.c → deflate_decompress.c} +0 -0
  125. /data/ext/deflate_ruby/{libdeflate/lib/gzip_compress.c → gzip_compress.c} +0 -0
  126. /data/ext/deflate_ruby/{libdeflate/lib/gzip_constants.h → gzip_constants.h} +0 -0
  127. /data/ext/deflate_ruby/{libdeflate/lib/gzip_decompress.c → gzip_decompress.c} +0 -0
  128. /data/ext/deflate_ruby/{libdeflate/lib/hc_matchfinder.h → hc_matchfinder.h} +0 -0
  129. /data/ext/deflate_ruby/{libdeflate/lib/ht_matchfinder.h → ht_matchfinder.h} +0 -0
  130. /data/ext/deflate_ruby/{libdeflate/lib/lib_common.h → lib_common.h} +0 -0
  131. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/cpu_features.c +0 -0
  132. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/cpu_features.h +0 -0
  133. /data/ext/deflate_ruby/libdeflate/{lib/arm → arm}/matchfinder_impl.h +0 -0
  134. /data/ext/deflate_ruby/libdeflate/{lib/riscv → riscv}/matchfinder_impl.h +0 -0
  135. /data/ext/deflate_ruby/libdeflate/{lib/utils.c → utils.c} +0 -0
  136. /data/ext/deflate_ruby/libdeflate/{lib/x86 → x86}/matchfinder_impl.h +0 -0
  137. /data/ext/deflate_ruby/libdeflate/{lib/zlib_compress.c → zlib_compress.c} +0 -0
  138. /data/ext/deflate_ruby/libdeflate/{lib/zlib_constants.h → zlib_constants.h} +0 -0
  139. /data/ext/deflate_ruby/libdeflate/{lib/zlib_decompress.c → zlib_decompress.c} +0 -0
@@ -0,0 +1,220 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ class TestDeflateRuby < Minitest::Test
6
+ def test_that_it_has_a_version_number
7
+ refute_nil ::DeflateRuby::VERSION
8
+ end
9
+
10
+ def test_compressor_creation
11
+ compressor = DeflateRuby::Compressor.new
12
+ refute_nil compressor
13
+ compressor.close
14
+ end
15
+
16
+ def test_compressor_with_level
17
+ compressor = DeflateRuby::Compressor.new(level: 6)
18
+ refute_nil compressor
19
+ compressor.close
20
+ end
21
+
22
+ def test_decompressor_creation
23
+ decompressor = DeflateRuby::Decompressor.new
24
+ refute_nil decompressor
25
+ decompressor.close
26
+ end
27
+
28
+ def test_deflate_compress_and_decompress
29
+ data = "Hello, World! " * 100
30
+
31
+ compressor = DeflateRuby::Compressor.new
32
+ compressed = compressor.deflate_compress(data)
33
+ compressor.close
34
+
35
+ assert compressed.bytesize < data.bytesize
36
+
37
+ decompressor = DeflateRuby::Decompressor.new
38
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
39
+ decompressor.close
40
+
41
+ assert_equal data, decompressed
42
+ end
43
+
44
+ def test_zlib_compress_and_decompress
45
+ data = "Testing zlib format" * 50
46
+
47
+ compressor = DeflateRuby::Compressor.new
48
+ compressed = compressor.zlib_compress(data)
49
+ compressor.close
50
+
51
+ assert compressed.bytesize < data.bytesize
52
+
53
+ decompressor = DeflateRuby::Decompressor.new
54
+ decompressed = decompressor.zlib_decompress(compressed, data.bytesize)
55
+ decompressor.close
56
+
57
+ assert_equal data, decompressed
58
+ end
59
+
60
+ def test_gzip_compress_and_decompress
61
+ data = "Testing gzip format" * 50
62
+
63
+ compressor = DeflateRuby::Compressor.new
64
+ compressed = compressor.gzip_compress(data)
65
+ compressor.close
66
+
67
+ assert compressed.bytesize < data.bytesize
68
+
69
+ decompressor = DeflateRuby::Decompressor.new
70
+ decompressed = decompressor.gzip_decompress(compressed, data.bytesize)
71
+ decompressor.close
72
+
73
+ assert_equal data, decompressed
74
+ end
75
+
76
+ def test_deflate_compress_bound
77
+ data = "Test data" * 10
78
+ compressor = DeflateRuby::Compressor.new
79
+ bound = compressor.deflate_compress_bound(data.bytesize)
80
+ compressor.close
81
+
82
+ assert bound > 0
83
+ assert bound >= data.bytesize
84
+ end
85
+
86
+ def test_zlib_compress_bound
87
+ data = "Test data" * 10
88
+ compressor = DeflateRuby::Compressor.new
89
+ bound = compressor.zlib_compress_bound(data.bytesize)
90
+ compressor.close
91
+
92
+ assert bound > 0
93
+ assert bound >= data.bytesize
94
+ end
95
+
96
+ def test_gzip_compress_bound
97
+ data = "Test data" * 10
98
+ compressor = DeflateRuby::Compressor.new
99
+ bound = compressor.gzip_compress_bound(data.bytesize)
100
+ compressor.close
101
+
102
+ assert bound > 0
103
+ assert bound >= data.bytesize
104
+ end
105
+
106
+ def test_crc32
107
+ data = "Hello, World!"
108
+ crc = DeflateRuby.crc32(data)
109
+ assert crc.is_a?(Integer)
110
+ assert crc > 0
111
+ end
112
+
113
+ def test_crc32_with_initial_value
114
+ data = "Hello, World!"
115
+ crc1 = DeflateRuby.crc32("Hello, ")
116
+ crc2 = DeflateRuby.crc32("World!", crc1)
117
+ crc_full = DeflateRuby.crc32(data)
118
+ assert_equal crc_full, crc2
119
+ end
120
+
121
+ def test_adler32
122
+ data = "Hello, World!"
123
+ adler = DeflateRuby.adler32(data)
124
+ assert adler.is_a?(Integer)
125
+ assert adler > 0
126
+ end
127
+
128
+ def test_adler32_with_initial_value
129
+ data = "Hello, World!"
130
+ adler1 = DeflateRuby.adler32("Hello, ")
131
+ adler2 = DeflateRuby.adler32("World!", adler1)
132
+ adler_full = DeflateRuby.adler32(data)
133
+ assert_equal adler_full, adler2
134
+ end
135
+
136
+ def test_compression_levels
137
+ data = "Test compression levels" * 100
138
+
139
+ [0, 1, 6, 9, 12].each do |level|
140
+ compressor = DeflateRuby::Compressor.new(level: level)
141
+ compressed = compressor.deflate_compress(data)
142
+ compressor.close
143
+
144
+ assert compressed.bytesize > 0
145
+
146
+ decompressor = DeflateRuby::Decompressor.new
147
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
148
+ decompressor.close
149
+
150
+ assert_equal data, decompressed
151
+ end
152
+ end
153
+
154
+ def test_empty_data
155
+ data = ""
156
+
157
+ compressor = DeflateRuby::Compressor.new
158
+ compressed = compressor.deflate_compress(data)
159
+ compressor.close
160
+
161
+ decompressor = DeflateRuby::Decompressor.new
162
+ decompressed = decompressor.deflate_decompress(compressed, 0)
163
+ decompressor.close
164
+
165
+ assert_equal data, decompressed
166
+ end
167
+
168
+ def test_large_data
169
+ data = "A" * 1_000_000
170
+
171
+ compressor = DeflateRuby::Compressor.new
172
+ compressed = compressor.deflate_compress(data)
173
+ compressor.close
174
+
175
+ # Should compress very well for repeated data
176
+ assert compressed.bytesize < data.bytesize / 10
177
+
178
+ decompressor = DeflateRuby::Decompressor.new
179
+ decompressed = decompressor.deflate_decompress(compressed, data.bytesize)
180
+ decompressor.close
181
+
182
+ assert_equal data, decompressed
183
+ end
184
+
185
+ def test_binary_data
186
+ # Test with random binary data
187
+ data = Array.new(1000) { rand(256) }.pack("C*")
188
+
189
+ compressor = DeflateRuby::Compressor.new
190
+ compressed = compressor.zlib_compress(data)
191
+ compressor.close
192
+
193
+ decompressor = DeflateRuby::Decompressor.new
194
+ decompressed = decompressor.zlib_decompress(compressed, data.bytesize)
195
+ decompressor.close
196
+
197
+ assert_equal data, decompressed
198
+ end
199
+
200
+ def test_decompress_invalid_data
201
+ decompressor = DeflateRuby::Decompressor.new
202
+
203
+ assert_raises(DeflateRuby::DecompressionError) do
204
+ decompressor.deflate_decompress("not compressed data", 100)
205
+ end
206
+
207
+ decompressor.close
208
+ end
209
+
210
+ def test_auto_close_compressor
211
+ compressor = DeflateRuby::Compressor.new
212
+ compressor.deflate_compress("test")
213
+ # Should auto-close when garbage collected
214
+ end
215
+
216
+ def test_auto_close_decompressor
217
+ decompressor = DeflateRuby::Decompressor.new
218
+ # Should auto-close when garbage collected
219
+ end
220
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
4
+ require "deflate_ruby"
5
+
6
+ require "minitest/autorun"
metadata CHANGED
@@ -1,60 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deflate-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Greninger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-11-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: minitest
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '5.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '5.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '13.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '13.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rake-compiler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.2'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.2'
55
- description: Ruby bindings for libdeflate, providing fast DEFLATE, zlib, and gzip
56
- compression/decompression. Significantly faster than Ruby's built-in Zlib for whole-buffer
57
- operations. Includes libdeflate v1.21 source code with platform-specific optimizations.
11
+ date: 2025-11-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: DeflateRuby provides Ruby bindings for libdeflate, a heavily optimized
14
+ library for DEFLATE, gzip, and zlib compression and decompression. Significantly
15
+ faster than Ruby's built-in Zlib module.
58
16
  email:
59
17
  - jgreninger@hotmail.com
60
18
  executables: []
@@ -63,112 +21,100 @@ extensions:
63
21
  extra_rdoc_files: []
64
22
  files:
65
23
  - CLAUDE.md
24
+ - GEM_VERIFICATION_REPORT.md
66
25
  - LICENSE.txt
67
26
  - README.md
27
+ - Rakefile
28
+ - ext/deflate_ruby/adler32.c
29
+ - ext/deflate_ruby/adler32_impl.h
30
+ - ext/deflate_ruby/adler32_template.h
31
+ - ext/deflate_ruby/bt_matchfinder.h
32
+ - ext/deflate_ruby/common_defs.h
33
+ - ext/deflate_ruby/cpu_features.c
34
+ - ext/deflate_ruby/cpu_features.h
35
+ - ext/deflate_ruby/cpu_features_common.h
36
+ - ext/deflate_ruby/crc32.c
37
+ - ext/deflate_ruby/crc32_impl.h
38
+ - ext/deflate_ruby/crc32_multipliers.h
39
+ - ext/deflate_ruby/crc32_pclmul_template.h
40
+ - ext/deflate_ruby/crc32_pmull_helpers.h
41
+ - ext/deflate_ruby/crc32_pmull_wide.h
42
+ - ext/deflate_ruby/crc32_tables.h
43
+ - ext/deflate_ruby/decompress_impl.h
44
+ - ext/deflate_ruby/decompress_template.h
45
+ - ext/deflate_ruby/deflate_compress.c
46
+ - ext/deflate_ruby/deflate_compress.h
47
+ - ext/deflate_ruby/deflate_constants.h
48
+ - ext/deflate_ruby/deflate_decompress.c
68
49
  - ext/deflate_ruby/deflate_ruby.c
50
+ - ext/deflate_ruby/deflate_ruby.h
69
51
  - ext/deflate_ruby/extconf.rb
70
- - ext/deflate_ruby/libdeflate/CMakeLists.txt
52
+ - ext/deflate_ruby/gzip_compress.c
53
+ - ext/deflate_ruby/gzip_constants.h
54
+ - ext/deflate_ruby/gzip_decompress.c
55
+ - ext/deflate_ruby/hc_matchfinder.h
56
+ - ext/deflate_ruby/ht_matchfinder.h
57
+ - ext/deflate_ruby/lib_common.h
58
+ - ext/deflate_ruby/libdeflate.h
71
59
  - ext/deflate_ruby/libdeflate/COPYING
72
- - ext/deflate_ruby/libdeflate/NEWS.md
73
- - ext/deflate_ruby/libdeflate/README.md
60
+ - ext/deflate_ruby/libdeflate/adler32.c
61
+ - ext/deflate_ruby/libdeflate/arm/adler32_impl.h
62
+ - ext/deflate_ruby/libdeflate/arm/cpu_features.c
63
+ - ext/deflate_ruby/libdeflate/arm/cpu_features.h
64
+ - ext/deflate_ruby/libdeflate/arm/crc32_impl.h
65
+ - ext/deflate_ruby/libdeflate/arm/crc32_pmull_helpers.h
66
+ - ext/deflate_ruby/libdeflate/arm/crc32_pmull_wide.h
67
+ - ext/deflate_ruby/libdeflate/arm/matchfinder_impl.h
68
+ - ext/deflate_ruby/libdeflate/bt_matchfinder.h
74
69
  - ext/deflate_ruby/libdeflate/common_defs.h
75
- - ext/deflate_ruby/libdeflate/lib/adler32.c
76
- - ext/deflate_ruby/libdeflate/lib/arm/adler32_impl.h
77
- - ext/deflate_ruby/libdeflate/lib/arm/cpu_features.c
78
- - ext/deflate_ruby/libdeflate/lib/arm/cpu_features.h
79
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_impl.h
80
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_pmull_helpers.h
81
- - ext/deflate_ruby/libdeflate/lib/arm/crc32_pmull_wide.h
82
- - ext/deflate_ruby/libdeflate/lib/arm/matchfinder_impl.h
83
- - ext/deflate_ruby/libdeflate/lib/bt_matchfinder.h
84
- - ext/deflate_ruby/libdeflate/lib/cpu_features_common.h
85
- - ext/deflate_ruby/libdeflate/lib/crc32.c
86
- - ext/deflate_ruby/libdeflate/lib/crc32_multipliers.h
87
- - ext/deflate_ruby/libdeflate/lib/crc32_tables.h
88
- - ext/deflate_ruby/libdeflate/lib/decompress_template.h
89
- - ext/deflate_ruby/libdeflate/lib/deflate_compress.c
90
- - ext/deflate_ruby/libdeflate/lib/deflate_compress.h
91
- - ext/deflate_ruby/libdeflate/lib/deflate_constants.h
92
- - ext/deflate_ruby/libdeflate/lib/deflate_decompress.c
93
- - ext/deflate_ruby/libdeflate/lib/gzip_compress.c
94
- - ext/deflate_ruby/libdeflate/lib/gzip_constants.h
95
- - ext/deflate_ruby/libdeflate/lib/gzip_decompress.c
96
- - ext/deflate_ruby/libdeflate/lib/hc_matchfinder.h
97
- - ext/deflate_ruby/libdeflate/lib/ht_matchfinder.h
98
- - ext/deflate_ruby/libdeflate/lib/lib_common.h
99
- - ext/deflate_ruby/libdeflate/lib/matchfinder_common.h
100
- - ext/deflate_ruby/libdeflate/lib/riscv/matchfinder_impl.h
101
- - ext/deflate_ruby/libdeflate/lib/utils.c
102
- - ext/deflate_ruby/libdeflate/lib/x86/adler32_impl.h
103
- - ext/deflate_ruby/libdeflate/lib/x86/adler32_template.h
104
- - ext/deflate_ruby/libdeflate/lib/x86/cpu_features.c
105
- - ext/deflate_ruby/libdeflate/lib/x86/cpu_features.h
106
- - ext/deflate_ruby/libdeflate/lib/x86/crc32_impl.h
107
- - ext/deflate_ruby/libdeflate/lib/x86/crc32_pclmul_template.h
108
- - ext/deflate_ruby/libdeflate/lib/x86/decompress_impl.h
109
- - ext/deflate_ruby/libdeflate/lib/x86/matchfinder_impl.h
110
- - ext/deflate_ruby/libdeflate/lib/zlib_compress.c
111
- - ext/deflate_ruby/libdeflate/lib/zlib_constants.h
112
- - ext/deflate_ruby/libdeflate/lib/zlib_decompress.c
113
- - ext/deflate_ruby/libdeflate/libdeflate-config.cmake.in
70
+ - ext/deflate_ruby/libdeflate/cpu_features_common.h
71
+ - ext/deflate_ruby/libdeflate/crc32.c
72
+ - ext/deflate_ruby/libdeflate/crc32_multipliers.h
73
+ - ext/deflate_ruby/libdeflate/crc32_tables.h
74
+ - ext/deflate_ruby/libdeflate/decompress_template.h
75
+ - ext/deflate_ruby/libdeflate/deflate_compress.c
76
+ - ext/deflate_ruby/libdeflate/deflate_compress.h
77
+ - ext/deflate_ruby/libdeflate/deflate_constants.h
78
+ - ext/deflate_ruby/libdeflate/deflate_decompress.c
79
+ - ext/deflate_ruby/libdeflate/gzip_compress.c
80
+ - ext/deflate_ruby/libdeflate/gzip_constants.h
81
+ - ext/deflate_ruby/libdeflate/gzip_decompress.c
82
+ - ext/deflate_ruby/libdeflate/hc_matchfinder.h
83
+ - ext/deflate_ruby/libdeflate/ht_matchfinder.h
84
+ - ext/deflate_ruby/libdeflate/lib_common.h
114
85
  - ext/deflate_ruby/libdeflate/libdeflate.h
115
- - ext/deflate_ruby/libdeflate/libdeflate.pc.in
116
- - ext/deflate_ruby/libdeflate/programs/CMakeLists.txt
117
- - ext/deflate_ruby/libdeflate/programs/benchmark.c
118
- - ext/deflate_ruby/libdeflate/programs/checksum.c
119
- - ext/deflate_ruby/libdeflate/programs/config.h.in
120
- - ext/deflate_ruby/libdeflate/programs/gzip.c
121
- - ext/deflate_ruby/libdeflate/programs/prog_util.c
122
- - ext/deflate_ruby/libdeflate/programs/prog_util.h
123
- - ext/deflate_ruby/libdeflate/programs/test_checksums.c
124
- - ext/deflate_ruby/libdeflate/programs/test_custom_malloc.c
125
- - ext/deflate_ruby/libdeflate/programs/test_incomplete_codes.c
126
- - ext/deflate_ruby/libdeflate/programs/test_invalid_streams.c
127
- - ext/deflate_ruby/libdeflate/programs/test_litrunlen_overflow.c
128
- - ext/deflate_ruby/libdeflate/programs/test_overread.c
129
- - ext/deflate_ruby/libdeflate/programs/test_slow_decompression.c
130
- - ext/deflate_ruby/libdeflate/programs/test_trailing_bytes.c
131
- - ext/deflate_ruby/libdeflate/programs/test_util.c
132
- - ext/deflate_ruby/libdeflate/programs/test_util.h
133
- - ext/deflate_ruby/libdeflate/programs/tgetopt.c
134
- - ext/deflate_ruby/libdeflate/scripts/android_build.sh
135
- - ext/deflate_ruby/libdeflate/scripts/android_tests.sh
136
- - ext/deflate_ruby/libdeflate/scripts/benchmark.sh
137
- - ext/deflate_ruby/libdeflate/scripts/checksum.sh
138
- - ext/deflate_ruby/libdeflate/scripts/checksum_benchmarks.sh
139
- - ext/deflate_ruby/libdeflate/scripts/cmake-helper.sh
140
- - ext/deflate_ruby/libdeflate/scripts/deflate_benchmarks.sh
141
- - ext/deflate_ruby/libdeflate/scripts/exec_tests.sh
142
- - ext/deflate_ruby/libdeflate/scripts/gen-release-archives.sh
143
- - ext/deflate_ruby/libdeflate/scripts/gen_bitreverse_tab.py
144
- - ext/deflate_ruby/libdeflate/scripts/gen_crc32_multipliers.c
145
- - ext/deflate_ruby/libdeflate/scripts/gen_crc32_tables.c
146
- - ext/deflate_ruby/libdeflate/scripts/gen_default_litlen_costs.py
147
- - ext/deflate_ruby/libdeflate/scripts/gen_offset_slot_map.py
148
- - ext/deflate_ruby/libdeflate/scripts/gzip_tests.sh
149
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/corpus/0
150
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_compress/fuzz.c
151
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/corpus/0
152
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/deflate_decompress/fuzz.c
153
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/fuzz.sh
154
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/corpus/0
155
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/gzip_decompress/fuzz.c
156
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/corpus/0
157
- - ext/deflate_ruby/libdeflate/scripts/libFuzzer/zlib_decompress/fuzz.c
158
- - ext/deflate_ruby/libdeflate/scripts/run_tests.sh
159
- - ext/deflate_ruby/libdeflate/scripts/toolchain-i686-w64-mingw32.cmake
160
- - ext/deflate_ruby/libdeflate/scripts/toolchain-x86_64-w64-mingw32.cmake
86
+ - ext/deflate_ruby/libdeflate/matchfinder_common.h
87
+ - ext/deflate_ruby/libdeflate/riscv/matchfinder_impl.h
88
+ - ext/deflate_ruby/libdeflate/utils.c
89
+ - ext/deflate_ruby/libdeflate/x86/adler32_impl.h
90
+ - ext/deflate_ruby/libdeflate/x86/adler32_template.h
91
+ - ext/deflate_ruby/libdeflate/x86/cpu_features.c
92
+ - ext/deflate_ruby/libdeflate/x86/cpu_features.h
93
+ - ext/deflate_ruby/libdeflate/x86/crc32_impl.h
94
+ - ext/deflate_ruby/libdeflate/x86/crc32_pclmul_template.h
95
+ - ext/deflate_ruby/libdeflate/x86/decompress_impl.h
96
+ - ext/deflate_ruby/libdeflate/x86/matchfinder_impl.h
97
+ - ext/deflate_ruby/libdeflate/zlib_compress.c
98
+ - ext/deflate_ruby/libdeflate/zlib_constants.h
99
+ - ext/deflate_ruby/libdeflate/zlib_decompress.c
100
+ - ext/deflate_ruby/matchfinder_common.h
101
+ - ext/deflate_ruby/matchfinder_impl.h
102
+ - ext/deflate_ruby/utils.c
103
+ - ext/deflate_ruby/zlib_compress.c
104
+ - ext/deflate_ruby/zlib_constants.h
105
+ - ext/deflate_ruby/zlib_decompress.c
161
106
  - lib/deflate_ruby.rb
162
107
  - lib/deflate_ruby/version.rb
163
- homepage: https://github.com/deflate-ruby/deflate-ruby
108
+ - sig/deflate_ruby.rbs
109
+ - test/test_deflate_ruby.rb
110
+ - test/test_helper.rb
111
+ homepage: https://github.com/jgreninger/deflate-ruby
164
112
  licenses:
165
113
  - MIT
166
114
  metadata:
167
- homepage_uri: https://github.com/deflate-ruby/deflate-ruby
168
- source_code_uri: https://github.com/deflate-ruby/deflate-ruby
169
- bug_tracker_uri: https://github.com/deflate-ruby/deflate-ruby/issues
170
- changelog_uri: https://github.com/deflate-ruby/deflate-ruby/blob/master/README.md
171
- documentation_uri: https://github.com/deflate-ruby/deflate-ruby
115
+ allowed_push_host: https://rubygems.org
116
+ homepage_uri: https://github.com/jgreninger/deflate-ruby
117
+ source_code_uri: https://github.com/jpgreninger/deflate_ruby
172
118
  post_install_message:
173
119
  rdoc_options: []
174
120
  require_paths:
@@ -177,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
123
  requirements:
178
124
  - - ">="
179
125
  - !ruby/object:Gem::Version
180
- version: 2.6.0
126
+ version: 3.2.0
181
127
  required_rubygems_version: !ruby/object:Gem::Requirement
182
128
  requirements:
183
129
  - - ">="
@@ -187,5 +133,5 @@ requirements: []
187
133
  rubygems_version: 3.4.20
188
134
  signing_key:
189
135
  specification_version: 4
190
- summary: Fast compression and decompression using libdeflate
136
+ summary: Ruby bindings for libdeflate - fast DEFLATE, gzip, and zlib compression
191
137
  test_files: []