zstd-native-ruby 1.0.0 → 1.0.2

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 (683) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +4 -2
  3. data/README.md +50 -23
  4. data/ext/zstd_native/Makefile +269 -0
  5. data/ext/zstd_native/extconf.rb +37 -0
  6. data/{vendor → ext/zstd_native}/zstd/CONTRIBUTING.md +1 -6
  7. data/{vendor → ext/zstd_native}/zstd/Makefile +6 -5
  8. data/{vendor → ext/zstd_native}/zstd/README.md +35 -42
  9. data/ext/zstd_native/zstd/build/cmake/CMakeLists.txt +228 -0
  10. data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +19 -21
  11. data/{vendor → ext/zstd_native}/zstd/build/cmake/README.md +0 -9
  12. data/{vendor → ext/zstd_native}/zstd/build/cmake/lib/CMakeLists.txt +6 -9
  13. data/{vendor → ext/zstd_native}/zstd/build/meson/lib/meson.build +0 -4
  14. data/{vendor → ext/zstd_native}/zstd/build/meson/meson.build +2 -1
  15. data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/main.c +2 -3
  16. data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/largeNbDicts.c +0 -2
  17. data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/linux_zstd.h +0 -166
  18. data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_compress_module.c +0 -49
  19. data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_decompress_module.c +0 -36
  20. data/{vendor → ext/zstd_native}/zstd/contrib/premake/zstd.lua +0 -1
  21. data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Logging.h +0 -1
  22. data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/Makefile +1 -3
  23. data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/parallel_compression.c +84 -124
  24. data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/parallel_processing.c +5 -2
  25. data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/tests/Makefile +2 -22
  26. data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/tests/seekable_tests.c +0 -12
  27. data/{vendor → ext/zstd_native}/zstd/doc/zstd_compression_format.md +2 -3
  28. data/{vendor → ext/zstd_native}/zstd/doc/zstd_manual.html +24 -31
  29. data/{vendor → ext/zstd_native}/zstd/lib/Makefile +9 -9
  30. data/{vendor → ext/zstd_native}/zstd/lib/README.md +4 -23
  31. data/{vendor → ext/zstd_native}/zstd/lib/common/bits.h +1 -1
  32. data/{vendor → ext/zstd_native}/zstd/lib/common/compiler.h +6 -24
  33. data/ext/zstd_native/zstd/lib/common/debug.o +0 -0
  34. data/{vendor → ext/zstd_native}/zstd/lib/common/entropy_common.o +0 -0
  35. data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.o +0 -0
  36. data/{vendor → ext/zstd_native}/zstd/lib/common/fse_decompress.o +0 -0
  37. data/ext/zstd_native/zstd/lib/common/pool.o +0 -0
  38. data/{vendor → ext/zstd_native}/zstd/lib/common/portability_macros.h +0 -19
  39. data/{vendor → ext/zstd_native}/zstd/lib/common/threading.c +2 -16
  40. data/ext/zstd_native/zstd/lib/common/threading.o +0 -0
  41. data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.o +0 -0
  42. data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_common.c +0 -9
  43. data/ext/zstd_native/zstd/lib/common/zstd_common.o +0 -0
  44. data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_internal.h +2 -4
  45. data/{vendor → ext/zstd_native}/zstd/lib/compress/fse_compress.o +0 -0
  46. data/ext/zstd_native/zstd/lib/compress/hist.c +191 -0
  47. data/{vendor → ext/zstd_native}/zstd/lib/compress/hist.h +0 -4
  48. data/ext/zstd_native/zstd/lib/compress/hist.o +0 -0
  49. data/{vendor → ext/zstd_native}/zstd/lib/compress/huf_compress.c +0 -1
  50. data/{vendor → ext/zstd_native}/zstd/lib/compress/huf_compress.o +0 -0
  51. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress.c +16 -535
  52. data/ext/zstd_native/zstd/lib/compress/zstd_compress.o +0 -0
  53. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_internal.h +3 -3
  54. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.o +0 -0
  55. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.o +0 -0
  56. data/ext/zstd_native/zstd/lib/compress/zstd_compress_superblock.o +0 -0
  57. data/ext/zstd_native/zstd/lib/compress/zstd_double_fast.o +0 -0
  58. data/ext/zstd_native/zstd/lib/compress/zstd_fast.o +0 -0
  59. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_lazy.c +3 -47
  60. data/ext/zstd_native/zstd/lib/compress/zstd_lazy.o +0 -0
  61. data/ext/zstd_native/zstd/lib/compress/zstd_ldm.o +0 -0
  62. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_opt.c +10 -2
  63. data/ext/zstd_native/zstd/lib/compress/zstd_opt.o +0 -0
  64. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.o +0 -0
  65. data/{vendor → ext/zstd_native}/zstd/lib/compress/zstdmt_compress.c +14 -15
  66. data/ext/zstd_native/zstd/lib/compress/zstdmt_compress.o +0 -0
  67. data/{vendor → ext/zstd_native}/zstd/lib/decompress/huf_decompress.c +48 -57
  68. data/ext/zstd_native/zstd/lib/decompress/huf_decompress.o +0 -0
  69. data/{vendor → ext/zstd_native}/zstd/lib/decompress/huf_decompress_amd64.S +18 -182
  70. data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.o +0 -0
  71. data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress.o +0 -0
  72. data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_block.c +65 -167
  73. data/ext/zstd_native/zstd/lib/decompress/zstd_decompress_block.o +0 -0
  74. data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/cover.c +67 -98
  75. data/ext/zstd_native/zstd/lib/dictBuilder/cover.o +0 -0
  76. data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/divsufsort.c +4 -4
  77. data/ext/zstd_native/zstd/lib/dictBuilder/divsufsort.o +0 -0
  78. data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/fastcover.c +40 -39
  79. data/ext/zstd_native/zstd/lib/dictBuilder/fastcover.o +0 -0
  80. data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/zdict.c +14 -18
  81. data/ext/zstd_native/zstd/lib/dictBuilder/zdict.o +0 -0
  82. data/ext/zstd_native/zstd/lib/dll/example/build_package.bat +20 -0
  83. data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v01.c +5 -6
  84. data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v03.c +1 -1
  85. data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v04.c +1 -1
  86. data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v05.c +1 -1
  87. data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v06.c +1 -1
  88. data/{vendor → ext/zstd_native}/zstd/lib/libzstd.mk +1 -4
  89. data/{vendor → ext/zstd_native}/zstd/lib/libzstd.pc.in +0 -1
  90. data/{vendor → ext/zstd_native}/zstd/lib/zstd.h +30 -41
  91. data/{vendor → ext/zstd_native}/zstd/programs/Makefile +8 -8
  92. data/{vendor → ext/zstd_native}/zstd/programs/README.md +1 -1
  93. data/{vendor → ext/zstd_native}/zstd/programs/benchzstd.c +62 -51
  94. data/{vendor → ext/zstd_native}/zstd/programs/benchzstd.h +2 -2
  95. data/{vendor → ext/zstd_native}/zstd/programs/dibio.c +5 -12
  96. data/{vendor → ext/zstd_native}/zstd/programs/fileio.c +152 -405
  97. data/{vendor → ext/zstd_native}/zstd/programs/fileio.h +1 -1
  98. data/{vendor → ext/zstd_native}/zstd/programs/fileio_types.h +1 -1
  99. data/{vendor → ext/zstd_native}/zstd/programs/timefn.c +1 -3
  100. data/{vendor → ext/zstd_native}/zstd/programs/util.c +65 -153
  101. data/{vendor → ext/zstd_native}/zstd/programs/util.h +2 -4
  102. data/{vendor → ext/zstd_native}/zstd/programs/zstd.1 +37 -225
  103. data/{vendor → ext/zstd_native}/zstd/programs/zstd.1.md +14 -14
  104. data/{vendor → ext/zstd_native}/zstd/programs/zstdcli.c +65 -82
  105. data/{vendor → ext/zstd_native}/zstd/programs/zstdcli_trace.c +1 -2
  106. data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep.1 +1 -1
  107. data/{vendor → ext/zstd_native}/zstd/programs/zstdless.1 +1 -1
  108. data/{vendor → ext/zstd_native}/zstd/tests/Makefile +4 -8
  109. data/{vendor → ext/zstd_native}/zstd/tests/automated_benchmarking.py +2 -2
  110. data/{vendor/zstd/tests/largeDictionary.c → ext/zstd_native/zstd/tests/bigdict.c} +18 -16
  111. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/help.sh.stdout.glob +1 -1
  112. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/platform.sh +0 -11
  113. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multi-threaded.sh +0 -7
  114. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +0 -10
  115. data/ext/zstd_native/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +5 -0
  116. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +0 -4
  117. data/{vendor/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.glob → ext/zstd_native/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact} +0 -4
  118. data/{vendor/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.glob → ext/zstd_native/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact} +0 -4
  119. data/{vendor/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.glob → ext/zstd_native/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact} +0 -4
  120. data/{vendor/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.glob → ext/zstd_native/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact} +0 -4
  121. data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/run.py +1 -2
  122. data/{vendor → ext/zstd_native}/zstd/tests/fullbench.c +0 -1
  123. data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_helpers.c +3 -2
  124. data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_helpers.h +0 -1
  125. data/{vendor → ext/zstd_native}/zstd/tests/fuzzer.c +0 -335
  126. data/ext/zstd_native/zstd/tests/largeDictionary.c +128 -0
  127. data/{vendor → ext/zstd_native}/zstd/tests/legacy.c +0 -2
  128. data/{vendor → ext/zstd_native}/zstd/tests/longmatch.c +17 -38
  129. data/{vendor → ext/zstd_native}/zstd/tests/paramgrill.c +3 -3
  130. data/{vendor → ext/zstd_native}/zstd/tests/playTests.sh +34 -35
  131. data/{vendor → ext/zstd_native}/zstd/tests/regression/method.c +3 -3
  132. data/{vendor → ext/zstd_native}/zstd/tests/zstreamtest.c +1 -1
  133. data/ext/zstd_native/zstd_native.c +852 -0
  134. data/ext/zstd_native/zstd_native.o +0 -0
  135. data/ext/zstd_native/zstd_native.so +0 -0
  136. data/lib/zstd_native/version.rb +3 -0
  137. data/lib/zstd_native/zstd_native.so +0 -0
  138. data/lib/zstd_native.rb +6 -0
  139. metadata +647 -657
  140. data/CLAUDE.md +0 -101
  141. data/ext/zstd_ruby/extconf.rb +0 -35
  142. data/ext/zstd_ruby/zstd_ruby.c +0 -221
  143. data/lib/zstd_ruby.rb +0 -68
  144. data/vendor/zstd/CMakeLists.txt +0 -11
  145. data/vendor/zstd/build/cmake/CMakeLists.txt +0 -81
  146. data/vendor/zstd/build/cmake/CMakeModules/ZstdBuild.cmake +0 -42
  147. data/vendor/zstd/build/cmake/CMakeModules/ZstdDependencies.cmake +0 -30
  148. data/vendor/zstd/build/cmake/CMakeModules/ZstdOptions.cmake +0 -68
  149. data/vendor/zstd/build/cmake/CMakeModules/ZstdPackage.cmake +0 -42
  150. data/vendor/zstd/build/cmake/CMakeModules/ZstdVersion.cmake +0 -31
  151. data/vendor/zstd/lib/common/debug.o +0 -0
  152. data/vendor/zstd/lib/common/pool.o +0 -0
  153. data/vendor/zstd/lib/common/threading.o +0 -0
  154. data/vendor/zstd/lib/common/zstd_common.o +0 -0
  155. data/vendor/zstd/lib/compress/hist.c +0 -446
  156. data/vendor/zstd/lib/compress/hist.o +0 -0
  157. data/vendor/zstd/lib/compress/zstd_compress.o +0 -0
  158. data/vendor/zstd/lib/compress/zstd_compress_superblock.o +0 -0
  159. data/vendor/zstd/lib/compress/zstd_double_fast.o +0 -0
  160. data/vendor/zstd/lib/compress/zstd_fast.o +0 -0
  161. data/vendor/zstd/lib/compress/zstd_lazy.o +0 -0
  162. data/vendor/zstd/lib/compress/zstd_ldm.o +0 -0
  163. data/vendor/zstd/lib/compress/zstd_opt.o +0 -0
  164. data/vendor/zstd/lib/compress/zstdmt_compress.o +0 -0
  165. data/vendor/zstd/lib/decompress/huf_decompress.o +0 -0
  166. data/vendor/zstd/lib/decompress/zstd_decompress_block.o +0 -0
  167. data/vendor/zstd/lib/dll/example/build_package.bat +0 -55
  168. data/vendor/zstd/lib/install_oses.mk +0 -17
  169. data/vendor/zstd/tests/cli-tests/bin/unzstd +0 -1
  170. data/vendor/zstd/tests/cli-tests/bin/zstdcat +0 -1
  171. data/vendor/zstd/tests/cli-tests/determinism/basic.sh +0 -36
  172. data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stderr.exact +0 -0
  173. data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stdout.exact +0 -880
  174. data/vendor/zstd/tests/cli-tests/determinism/multithread.sh +0 -45
  175. data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stderr.exact +0 -0
  176. data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stdout.exact +0 -260
  177. data/vendor/zstd/tests/cli-tests/determinism/reuse.sh +0 -44
  178. data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stderr.exact +0 -0
  179. data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stdout.exact +0 -19
  180. data/vendor/zstd/tests/cli-tests/determinism/setup +0 -5
  181. data/vendor/zstd/tests/cli-tests/determinism/setup_once +0 -30
  182. data/vendor/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +0 -5
  183. data/vendor/zstd/tests/test_process_substitution.bash +0 -92
  184. /data/{vendor → ext/zstd_native}/zstd/CHANGELOG +0 -0
  185. /data/{vendor → ext/zstd_native}/zstd/CODE_OF_CONDUCT.md +0 -0
  186. /data/{vendor → ext/zstd_native}/zstd/COPYING +0 -0
  187. /data/{vendor → ext/zstd_native}/zstd/LICENSE +0 -0
  188. /data/{vendor → ext/zstd_native}/zstd/Package.swift +0 -0
  189. /data/{vendor → ext/zstd_native}/zstd/SECURITY.md +0 -0
  190. /data/{vendor → ext/zstd_native}/zstd/TESTING.md +0 -0
  191. /data/{vendor → ext/zstd_native}/zstd/build/LICENSE +0 -0
  192. /data/{vendor → ext/zstd_native}/zstd/build/README.md +0 -0
  193. /data/{vendor → ext/zstd_native}/zstd/build/VS2008/fullbench/fullbench.vcproj +0 -0
  194. /data/{vendor → ext/zstd_native}/zstd/build/VS2008/fuzzer/fuzzer.vcproj +0 -0
  195. /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstd/zstd.vcproj +0 -0
  196. /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstd.sln +0 -0
  197. /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstdlib/zstdlib.vcproj +0 -0
  198. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/CompileAsCpp.props +0 -0
  199. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/datagen/datagen.vcxproj +0 -0
  200. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/fullbench/fullbench.vcxproj +0 -0
  201. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +0 -0
  202. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd/libzstd.vcxproj +0 -0
  203. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +0 -0
  204. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +0 -0
  205. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd/zstd.rc +0 -0
  206. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd/zstd.vcxproj +0 -0
  207. /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd.sln +0 -0
  208. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/README.md +0 -0
  209. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2010.cmd +0 -0
  210. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2012.cmd +0 -0
  211. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2013.cmd +0 -0
  212. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2015.cmd +0 -0
  213. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017.cmd +0 -0
  214. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Community.cmd +0 -0
  215. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +0 -0
  216. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Professional.cmd +0 -0
  217. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VSPreview.cmd +0 -0
  218. /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.generic.cmd +0 -0
  219. /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +0 -0
  220. /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +0 -0
  221. /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/JoinPaths.cmake +0 -0
  222. /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/CMakeLists.txt +0 -0
  223. /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +0 -0
  224. /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +0 -0
  225. /data/{vendor → ext/zstd_native}/zstd/build/cmake/lib/cmake_uninstall.cmake.in +0 -0
  226. /data/{vendor → ext/zstd_native}/zstd/build/cmake/programs/CMakeLists.txt +0 -0
  227. /data/{vendor → ext/zstd_native}/zstd/build/cmake/tests/CMakeLists.txt +0 -0
  228. /data/{vendor → ext/zstd_native}/zstd/build/cmake/zstdConfig.cmake.in +0 -0
  229. /data/{vendor → ext/zstd_native}/zstd/build/meson/GetZstdLibraryVersion.py +0 -0
  230. /data/{vendor → ext/zstd_native}/zstd/build/meson/InstallSymlink.py +0 -0
  231. /data/{vendor → ext/zstd_native}/zstd/build/meson/README.md +0 -0
  232. /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/gen_html/meson.build +0 -0
  233. /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/meson.build +0 -0
  234. /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/pzstd/meson.build +0 -0
  235. /data/{vendor → ext/zstd_native}/zstd/build/meson/meson_options.txt +0 -0
  236. /data/{vendor → ext/zstd_native}/zstd/build/meson/programs/meson.build +0 -0
  237. /data/{vendor → ext/zstd_native}/zstd/build/meson/tests/meson.build +0 -0
  238. /data/{vendor → ext/zstd_native}/zstd/build/meson/tests/valgrindTest.py +0 -0
  239. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/README.md +0 -0
  240. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/build_decoder_test.sh +0 -0
  241. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/build_library_test.sh +0 -0
  242. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/combine.py +0 -0
  243. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/combine.sh +0 -0
  244. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/create_single_file_decoder.sh +0 -0
  245. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/create_single_file_library.sh +0 -0
  246. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/README.md +0 -0
  247. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/emscripten.c +0 -0
  248. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/roundtrip.c +0 -0
  249. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/shell.html +0 -0
  250. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/simple.c +0 -0
  251. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard-dxt1.inl +0 -0
  252. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard-zstd.inl +0 -0
  253. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard.png +0 -0
  254. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/zstd-in.c +0 -0
  255. /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/zstddeclib-in.c +0 -0
  256. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/README.md +0 -0
  257. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/fullbench/fullbench.vcproj +0 -0
  258. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +0 -0
  259. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstd/zstd.vcproj +0 -0
  260. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstd.sln +0 -0
  261. /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +0 -0
  262. /data/{vendor → ext/zstd_native}/zstd/contrib/cleanTabs +0 -0
  263. /data/{vendor → ext/zstd_native}/zstd/contrib/diagnose_corruption/Makefile +0 -0
  264. /data/{vendor → ext/zstd_native}/zstd/contrib/diagnose_corruption/check_flipped_bits.c +0 -0
  265. /data/{vendor → ext/zstd_native}/zstd/contrib/docker/Dockerfile +0 -0
  266. /data/{vendor → ext/zstd_native}/zstd/contrib/docker/README.md +0 -0
  267. /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/Makefile +0 -0
  268. /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/README.md +0 -0
  269. /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/sequence_producer.c +0 -0
  270. /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/sequence_producer.h +0 -0
  271. /data/{vendor → ext/zstd_native}/zstd/contrib/freestanding_lib/freestanding.py +0 -0
  272. /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/Makefile +0 -0
  273. /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/README.md +0 -0
  274. /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/gen-zstd-manual.sh +0 -0
  275. /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/gen_html.cpp +0 -0
  276. /data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/Makefile +0 -0
  277. /data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/README.md +0 -0
  278. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/Makefile +0 -0
  279. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/README.md +0 -0
  280. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/btrfs-benchmark.sh +0 -0
  281. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +0 -0
  282. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/decompress_sources.h +0 -0
  283. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/linux.mk +0 -0
  284. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/mem.h +0 -0
  285. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/squashfs-benchmark.sh +0 -0
  286. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/Makefile +0 -0
  287. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/compiler.h +0 -0
  288. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/errno.h +0 -0
  289. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/kernel.h +0 -0
  290. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/limits.h +0 -0
  291. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/math64.h +0 -0
  292. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/module.h +0 -0
  293. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/printk.h +0 -0
  294. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/stddef.h +0 -0
  295. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/swab.h +0 -0
  296. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/types.h +0 -0
  297. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/unaligned.h +0 -0
  298. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +0 -0
  299. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/macro-test.sh +0 -0
  300. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/static_test.c +0 -0
  301. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/test.c +0 -0
  302. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_common_module.c +0 -0
  303. /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_deps.h +0 -0
  304. /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/README.md +0 -0
  305. /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/zstd_edist.c +0 -0
  306. /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/zstd_edist.h +0 -0
  307. /data/{vendor → ext/zstd_native}/zstd/contrib/premake/premake4.lua +0 -0
  308. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/BUCK +0 -0
  309. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/ErrorHolder.h +0 -0
  310. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Makefile +0 -0
  311. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Options.cpp +0 -0
  312. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Options.h +0 -0
  313. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Pzstd.cpp +0 -0
  314. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Pzstd.h +0 -0
  315. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/README.md +0 -0
  316. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/SkippableFrame.cpp +0 -0
  317. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/SkippableFrame.h +0 -0
  318. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/images/Cspeed.png +0 -0
  319. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/images/Dspeed.png +0 -0
  320. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/main.cpp +0 -0
  321. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/BUCK +0 -0
  322. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/OptionsTest.cpp +0 -0
  323. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/PzstdTest.cpp +0 -0
  324. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/RoundTrip.h +0 -0
  325. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/RoundTripTest.cpp +0 -0
  326. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/BUCK +0 -0
  327. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Buffer.h +0 -0
  328. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/FileSystem.h +0 -0
  329. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Likely.h +0 -0
  330. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Portability.h +0 -0
  331. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Range.h +0 -0
  332. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ResourcePool.h +0 -0
  333. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ScopeGuard.h +0 -0
  334. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ThreadPool.h +0 -0
  335. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/WorkQueue.h +0 -0
  336. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/BUCK +0 -0
  337. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/BufferTest.cpp +0 -0
  338. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/RangeTest.cpp +0 -0
  339. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +0 -0
  340. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +0 -0
  341. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +0 -0
  342. /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +0 -0
  343. /data/{vendor → ext/zstd_native}/zstd/contrib/recovery/Makefile +0 -0
  344. /data/{vendor → ext/zstd_native}/zstd/contrib/recovery/recover_directory.c +0 -0
  345. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/README.md +0 -0
  346. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_compression.c +0 -0
  347. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_decompression.c +0 -0
  348. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +0 -0
  349. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstd_seekable.h +0 -0
  350. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +0 -0
  351. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstdseek_compress.c +0 -0
  352. /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstdseek_decompress.c +0 -0
  353. /data/{vendor → ext/zstd_native}/zstd/contrib/seqBench/Makefile +0 -0
  354. /data/{vendor → ext/zstd_native}/zstd/contrib/seqBench/seqBench.c +0 -0
  355. /data/{vendor → ext/zstd_native}/zstd/contrib/snap/snapcraft.yaml +0 -0
  356. /data/{vendor → ext/zstd_native}/zstd/doc/README.md +0 -0
  357. /data/{vendor → ext/zstd_native}/zstd/doc/decompressor_errata.md +0 -0
  358. /data/{vendor → ext/zstd_native}/zstd/doc/decompressor_permissive.md +0 -0
  359. /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/Makefile +0 -0
  360. /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/README.md +0 -0
  361. /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/harness.c +0 -0
  362. /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/zstd_decompress.c +0 -0
  363. /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/zstd_decompress.h +0 -0
  364. /data/{vendor → ext/zstd_native}/zstd/doc/images/CSpeed2.png +0 -0
  365. /data/{vendor → ext/zstd_native}/zstd/doc/images/DCspeed5.png +0 -0
  366. /data/{vendor → ext/zstd_native}/zstd/doc/images/DSpeed3.png +0 -0
  367. /data/{vendor → ext/zstd_native}/zstd/doc/images/cdict_v136.png +0 -0
  368. /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-cr.png +0 -0
  369. /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-cs.png +0 -0
  370. /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-ds.png +0 -0
  371. /data/{vendor → ext/zstd_native}/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
  372. /data/{vendor → ext/zstd_native}/zstd/doc/images/zstd_logo86.png +0 -0
  373. /data/{vendor → ext/zstd_native}/zstd/examples/Makefile +0 -0
  374. /data/{vendor → ext/zstd_native}/zstd/examples/README.md +0 -0
  375. /data/{vendor → ext/zstd_native}/zstd/examples/common.h +0 -0
  376. /data/{vendor → ext/zstd_native}/zstd/examples/dictionary_compression.c +0 -0
  377. /data/{vendor → ext/zstd_native}/zstd/examples/dictionary_decompression.c +0 -0
  378. /data/{vendor → ext/zstd_native}/zstd/examples/multiple_simple_compression.c +0 -0
  379. /data/{vendor → ext/zstd_native}/zstd/examples/multiple_streaming_compression.c +0 -0
  380. /data/{vendor → ext/zstd_native}/zstd/examples/simple_compression.c +0 -0
  381. /data/{vendor → ext/zstd_native}/zstd/examples/simple_decompression.c +0 -0
  382. /data/{vendor → ext/zstd_native}/zstd/examples/streaming_compression.c +0 -0
  383. /data/{vendor → ext/zstd_native}/zstd/examples/streaming_compression_thread_pool.c +0 -0
  384. /data/{vendor → ext/zstd_native}/zstd/examples/streaming_decompression.c +0 -0
  385. /data/{vendor → ext/zstd_native}/zstd/examples/streaming_memory_usage.c +0 -0
  386. /data/{vendor → ext/zstd_native}/zstd/lib/BUCK +0 -0
  387. /data/{vendor → ext/zstd_native}/zstd/lib/common/allocations.h +0 -0
  388. /data/{vendor → ext/zstd_native}/zstd/lib/common/bitstream.h +0 -0
  389. /data/{vendor → ext/zstd_native}/zstd/lib/common/cpu.h +0 -0
  390. /data/{vendor → ext/zstd_native}/zstd/lib/common/debug.c +0 -0
  391. /data/{vendor → ext/zstd_native}/zstd/lib/common/debug.h +0 -0
  392. /data/{vendor → ext/zstd_native}/zstd/lib/common/entropy_common.c +0 -0
  393. /data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.c +0 -0
  394. /data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.h +0 -0
  395. /data/{vendor → ext/zstd_native}/zstd/lib/common/fse.h +0 -0
  396. /data/{vendor → ext/zstd_native}/zstd/lib/common/fse_decompress.c +0 -0
  397. /data/{vendor → ext/zstd_native}/zstd/lib/common/huf.h +0 -0
  398. /data/{vendor → ext/zstd_native}/zstd/lib/common/mem.h +0 -0
  399. /data/{vendor → ext/zstd_native}/zstd/lib/common/pool.c +0 -0
  400. /data/{vendor → ext/zstd_native}/zstd/lib/common/pool.h +0 -0
  401. /data/{vendor → ext/zstd_native}/zstd/lib/common/threading.h +0 -0
  402. /data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.c +0 -0
  403. /data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.h +0 -0
  404. /data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_deps.h +0 -0
  405. /data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_trace.h +0 -0
  406. /data/{vendor → ext/zstd_native}/zstd/lib/compress/clevels.h +0 -0
  407. /data/{vendor → ext/zstd_native}/zstd/lib/compress/fse_compress.c +0 -0
  408. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.c +0 -0
  409. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.h +0 -0
  410. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.c +0 -0
  411. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.h +0 -0
  412. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_superblock.c +0 -0
  413. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_superblock.h +0 -0
  414. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_cwksp.h +0 -0
  415. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_double_fast.c +0 -0
  416. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_double_fast.h +0 -0
  417. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_fast.c +0 -0
  418. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_fast.h +0 -0
  419. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_lazy.h +0 -0
  420. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm.c +0 -0
  421. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm.h +0 -0
  422. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm_geartab.h +0 -0
  423. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_opt.h +0 -0
  424. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.c +0 -0
  425. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.h +0 -0
  426. /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstdmt_compress.h +0 -0
  427. /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.c +0 -0
  428. /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.h +0 -0
  429. /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress.c +0 -0
  430. /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_block.h +0 -0
  431. /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_internal.h +0 -0
  432. /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff.h +0 -0
  433. /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_common.c +0 -0
  434. /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_compress.c +0 -0
  435. /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_decompress.c +0 -0
  436. /data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/cover.h +0 -0
  437. /data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/divsufsort.h +0 -0
  438. /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/Makefile +0 -0
  439. /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/README.md +0 -0
  440. /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/fullbench-dll.sln +0 -0
  441. /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/fullbench-dll.vcxproj +0 -0
  442. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_legacy.h +0 -0
  443. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v01.h +0 -0
  444. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v02.c +0 -0
  445. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v02.h +0 -0
  446. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v03.h +0 -0
  447. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v04.h +0 -0
  448. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v05.h +0 -0
  449. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v06.h +0 -0
  450. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v07.c +0 -0
  451. /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v07.h +0 -0
  452. /data/{vendor → ext/zstd_native}/zstd/lib/module.modulemap +0 -0
  453. /data/{vendor → ext/zstd_native}/zstd/lib/zdict.h +0 -0
  454. /data/{vendor → ext/zstd_native}/zstd/lib/zstd_errors.h +0 -0
  455. /data/{vendor → ext/zstd_native}/zstd/programs/BUCK +0 -0
  456. /data/{vendor → ext/zstd_native}/zstd/programs/benchfn.c +0 -0
  457. /data/{vendor → ext/zstd_native}/zstd/programs/benchfn.h +0 -0
  458. /data/{vendor → ext/zstd_native}/zstd/programs/datagen.c +0 -0
  459. /data/{vendor → ext/zstd_native}/zstd/programs/datagen.h +0 -0
  460. /data/{vendor → ext/zstd_native}/zstd/programs/dibio.h +0 -0
  461. /data/{vendor → ext/zstd_native}/zstd/programs/fileio_asyncio.c +0 -0
  462. /data/{vendor → ext/zstd_native}/zstd/programs/fileio_asyncio.h +0 -0
  463. /data/{vendor → ext/zstd_native}/zstd/programs/fileio_common.h +0 -0
  464. /data/{vendor → ext/zstd_native}/zstd/programs/lorem.c +0 -0
  465. /data/{vendor → ext/zstd_native}/zstd/programs/lorem.h +0 -0
  466. /data/{vendor → ext/zstd_native}/zstd/programs/platform.h +0 -0
  467. /data/{vendor → ext/zstd_native}/zstd/programs/timefn.h +0 -0
  468. /data/{vendor → ext/zstd_native}/zstd/programs/windres/verrsrc.h +0 -0
  469. /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd.rc +0 -0
  470. /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd32.res +0 -0
  471. /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd64.res +0 -0
  472. /data/{vendor → ext/zstd_native}/zstd/programs/zstdcli_trace.h +0 -0
  473. /data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep +0 -0
  474. /data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep.1.md +0 -0
  475. /data/{vendor → ext/zstd_native}/zstd/programs/zstdless +0 -0
  476. /data/{vendor → ext/zstd_native}/zstd/programs/zstdless.1.md +0 -0
  477. /data/{vendor → ext/zstd_native}/zstd/tests/DEPRECATED-test-zstd-speed.py +0 -0
  478. /data/{vendor → ext/zstd_native}/zstd/tests/README.md +0 -0
  479. /data/{vendor → ext/zstd_native}/zstd/tests/checkTag.c +0 -0
  480. /data/{vendor → ext/zstd_native}/zstd/tests/check_size.py +0 -0
  481. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/README.md +0 -0
  482. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh +0 -0
  483. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh.exit +0 -0
  484. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh.stderr.glob +0 -0
  485. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/help.sh +0 -0
  486. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh +0 -0
  487. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +0 -0
  488. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +0 -0
  489. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh +0 -0
  490. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +0 -0
  491. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +0 -0
  492. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/version.sh +0 -0
  493. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/version.sh.stdout.glob +0 -0
  494. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/cmp_size +0 -0
  495. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/datagen +0 -0
  496. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/die +0 -0
  497. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/println +0 -0
  498. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstd +0 -0
  499. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstdgrep +0 -0
  500. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstdless +0 -0
  501. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/setup +0 -0
  502. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh +0 -0
  503. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +0 -0
  504. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +0 -0
  505. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +0 -0
  506. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh +0 -0
  507. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +0 -0
  508. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +0 -0
  509. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/format.sh +0 -0
  510. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/mtime.sh +0 -0
  511. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/permissions.sh +0 -0
  512. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/adapt.sh +0 -0
  513. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/basic.sh +0 -0
  514. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/compress-literals.sh +0 -0
  515. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/format.sh +0 -0
  516. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/golden.sh +0 -0
  517. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/gzip-compat.sh +0 -0
  518. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/levels.sh +0 -0
  519. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +0 -0
  520. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/long-distance-matcher.sh +0 -0
  521. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multiple-files.sh +0 -0
  522. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +0 -0
  523. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/row-match-finder.sh +0 -0
  524. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/setup +0 -0
  525. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/stream-size.sh +0 -0
  526. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh +0 -0
  527. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +0 -0
  528. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +0 -0
  529. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh +0 -0
  530. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore +0 -0
  531. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +0 -0
  532. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/detectErrors.sh +0 -0
  533. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/golden.sh +0 -0
  534. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh +0 -0
  535. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +0 -0
  536. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +0 -0
  537. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/empty-input.sh +0 -0
  538. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +0 -0
  539. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/no-inputs.sh +0 -0
  540. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +0 -0
  541. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +0 -0
  542. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +0 -0
  543. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/golden.sh +0 -0
  544. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/setup +0 -0
  545. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/setup_once +0 -0
  546. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh +0 -0
  547. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact +0 -0
  548. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact +0 -0
  549. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +0 -0
  550. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +0 -0
  551. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +0 -0
  552. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +0 -0
  553. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +0 -0
  554. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +0 -0
  555. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +0 -0
  556. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +0 -0
  557. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +0 -0
  558. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +0 -0
  559. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +0 -0
  560. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +0 -0
  561. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +0 -0
  562. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/no-progress.sh +0 -0
  563. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +0 -0
  564. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/progress.sh +0 -0
  565. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +0 -0
  566. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/setup +0 -0
  567. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +0 -0
  568. /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +0 -0
  569. /data/{vendor → ext/zstd_native}/zstd/tests/datagencli.c +0 -0
  570. /data/{vendor → ext/zstd_native}/zstd/tests/decodecorpus.c +0 -0
  571. /data/{vendor → ext/zstd_native}/zstd/tests/dict-files/zero-weight-dict +0 -0
  572. /data/{vendor → ext/zstd_native}/zstd/tests/external_matchfinder.c +0 -0
  573. /data/{vendor → ext/zstd_native}/zstd/tests/external_matchfinder.h +0 -0
  574. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/Makefile +0 -0
  575. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/README.md +0 -0
  576. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/block_decompress.c +0 -0
  577. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/block_round_trip.c +0 -0
  578. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/decompress_cross_format.c +0 -0
  579. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +0 -0
  580. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_decompress.c +0 -0
  581. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_loader.c +0 -0
  582. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_round_trip.c +0 -0
  583. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_stream_round_trip.c +0 -0
  584. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fse_read_ncount.c +0 -0
  585. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz.h +0 -0
  586. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz.py +0 -0
  587. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_data_producer.c +0 -0
  588. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_data_producer.h +0 -0
  589. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +0 -0
  590. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/generate_sequences.c +0 -0
  591. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/huf_decompress.c +0 -0
  592. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/huf_round_trip.c +0 -0
  593. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/raw_dictionary_round_trip.c +0 -0
  594. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/regression_driver.c +0 -0
  595. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seekable_roundtrip.c +0 -0
  596. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +0 -0
  597. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +0 -0
  598. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +0 -0
  599. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/sequence_compression_api.c +0 -0
  600. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_compress.c +0 -0
  601. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_decompress.c +0 -0
  602. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_round_trip.c +0 -0
  603. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/stream_decompress.c +0 -0
  604. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/stream_round_trip.c +0 -0
  605. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_frame_info.c +0 -0
  606. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_helpers.c +0 -0
  607. /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_helpers.h +0 -0
  608. /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +0 -0
  609. /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/http +0 -0
  610. /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
  611. /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
  612. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/block-128k.zst +0 -0
  613. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/empty-block.zst +0 -0
  614. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
  615. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
  616. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
  617. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/truncated_huff_state.zst +0 -0
  618. /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
  619. /data/{vendor → ext/zstd_native}/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
  620. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/Makefile +0 -0
  621. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/gzip-env.sh +0 -0
  622. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/helin-segv.sh +0 -0
  623. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/help-version.sh +0 -0
  624. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/hufts-segv.gz +0 -0
  625. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/hufts.sh +0 -0
  626. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/init.cfg +0 -0
  627. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/init.sh +0 -0
  628. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/keep.sh +0 -0
  629. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/list.sh +0 -0
  630. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/memcpy-abuse.sh +0 -0
  631. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/mixed.sh +0 -0
  632. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/null-suffix-clobber.sh +0 -0
  633. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/stdin.sh +0 -0
  634. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/test-driver.sh +0 -0
  635. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/trailing-nul.sh +0 -0
  636. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/unpack-invalid.sh +0 -0
  637. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/z-suffix.sh +0 -0
  638. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zdiff.sh +0 -0
  639. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-context.sh +0 -0
  640. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-f.sh +0 -0
  641. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-signal.sh +0 -0
  642. /data/{vendor → ext/zstd_native}/zstd/tests/gzip/znew-k.sh +0 -0
  643. /data/{vendor → ext/zstd_native}/zstd/tests/invalidDictionaries.c +0 -0
  644. /data/{vendor → ext/zstd_native}/zstd/tests/libzstd_builds.sh +0 -0
  645. /data/{vendor → ext/zstd_native}/zstd/tests/loremOut.c +0 -0
  646. /data/{vendor → ext/zstd_native}/zstd/tests/loremOut.h +0 -0
  647. /data/{vendor → ext/zstd_native}/zstd/tests/poolTests.c +0 -0
  648. /data/{vendor → ext/zstd_native}/zstd/tests/rateLimiter.py +0 -0
  649. /data/{vendor → ext/zstd_native}/zstd/tests/regression/Makefile +0 -0
  650. /data/{vendor → ext/zstd_native}/zstd/tests/regression/README.md +0 -0
  651. /data/{vendor → ext/zstd_native}/zstd/tests/regression/config.c +0 -0
  652. /data/{vendor → ext/zstd_native}/zstd/tests/regression/config.h +0 -0
  653. /data/{vendor → ext/zstd_native}/zstd/tests/regression/data.c +0 -0
  654. /data/{vendor → ext/zstd_native}/zstd/tests/regression/data.h +0 -0
  655. /data/{vendor → ext/zstd_native}/zstd/tests/regression/levels.h +0 -0
  656. /data/{vendor → ext/zstd_native}/zstd/tests/regression/method.h +0 -0
  657. /data/{vendor → ext/zstd_native}/zstd/tests/regression/result.c +0 -0
  658. /data/{vendor → ext/zstd_native}/zstd/tests/regression/result.h +0 -0
  659. /data/{vendor → ext/zstd_native}/zstd/tests/regression/results.csv +0 -0
  660. /data/{vendor → ext/zstd_native}/zstd/tests/regression/test.c +0 -0
  661. /data/{vendor → ext/zstd_native}/zstd/tests/roundTripCrash.c +0 -0
  662. /data/{vendor → ext/zstd_native}/zstd/tests/seqgen.c +0 -0
  663. /data/{vendor → ext/zstd_native}/zstd/tests/seqgen.h +0 -0
  664. /data/{vendor → ext/zstd_native}/zstd/tests/test-license.py +0 -0
  665. /data/{vendor → ext/zstd_native}/zstd/tests/test-variants.sh +0 -0
  666. /data/{vendor → ext/zstd_native}/zstd/tests/test-zstd-versions.py +0 -0
  667. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/BUCK +0 -0
  668. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/Makefile +0 -0
  669. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/README.md +0 -0
  670. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/example.c +0 -0
  671. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/example_original.c +0 -0
  672. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/fitblk.c +0 -0
  673. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/fitblk_original.c +0 -0
  674. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/minigzip.c +0 -0
  675. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/zwrapbench.c +0 -0
  676. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzclose.c +0 -0
  677. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzcompatibility.h +0 -0
  678. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzguts.h +0 -0
  679. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzlib.c +0 -0
  680. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzread.c +0 -0
  681. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzwrite.c +0 -0
  682. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/zstd_zlibwrapper.c +0 -0
  683. /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/zstd_zlibwrapper.h +0 -0
@@ -0,0 +1,852 @@
1
+ #include <ruby.h>
2
+ #include "zstd.h"
3
+
4
+ static VALUE mZstdNative;
5
+ static VALUE eZstdError;
6
+ static VALUE cCCtx;
7
+ static VALUE cDCtx;
8
+ static VALUE cCStream;
9
+ static VALUE cDStream;
10
+ static VALUE cCDict;
11
+ static VALUE cDDict;
12
+
13
+ /* Forward declarations of data types */
14
+ static const rb_data_type_t cctx_type;
15
+ static const rb_data_type_t dctx_type;
16
+ static const rb_data_type_t cstream_type;
17
+ static const rb_data_type_t dstream_type;
18
+ static const rb_data_type_t cdict_type;
19
+ static const rb_data_type_t ddict_type;
20
+
21
+ /* Helper function to check for errors */
22
+ static void check_zstd_error(size_t code, const char *msg) {
23
+ if (ZSTD_isError(code)) {
24
+ rb_raise(eZstdError, "%s: %s", msg, ZSTD_getErrorName(code));
25
+ }
26
+ }
27
+
28
+ /* Module methods */
29
+
30
+ static VALUE zstd_version_number(VALUE self) {
31
+ return UINT2NUM(ZSTD_versionNumber());
32
+ }
33
+
34
+ static VALUE zstd_version_string(VALUE self) {
35
+ return rb_str_new_cstr(ZSTD_versionString());
36
+ }
37
+
38
+ static VALUE zstd_compress(int argc, VALUE *argv, VALUE self) {
39
+ VALUE data, level_val;
40
+ rb_scan_args(argc, argv, "11", &data, &level_val);
41
+
42
+ Check_Type(data, T_STRING);
43
+ int level = NIL_P(level_val) ? ZSTD_CLEVEL_DEFAULT : NUM2INT(level_val);
44
+
45
+ const char *src = RSTRING_PTR(data);
46
+ size_t src_size = RSTRING_LEN(data);
47
+
48
+ size_t dst_capacity = ZSTD_compressBound(src_size);
49
+ VALUE result = rb_str_buf_new(dst_capacity);
50
+ char *dst = RSTRING_PTR(result);
51
+
52
+ size_t compressed_size = ZSTD_compress(dst, dst_capacity, src, src_size, level);
53
+ check_zstd_error(compressed_size, "Compression failed");
54
+
55
+ rb_str_set_len(result, compressed_size);
56
+ return result;
57
+ }
58
+
59
+ static VALUE zstd_decompress(VALUE self, VALUE data) {
60
+ Check_Type(data, T_STRING);
61
+
62
+ const char *src = RSTRING_PTR(data);
63
+ size_t src_size = RSTRING_LEN(data);
64
+
65
+ unsigned long long const dst_capacity = ZSTD_getFrameContentSize(src, src_size);
66
+
67
+ if (dst_capacity == ZSTD_CONTENTSIZE_ERROR) {
68
+ rb_raise(eZstdError, "Invalid compressed data");
69
+ }
70
+ if (dst_capacity == ZSTD_CONTENTSIZE_UNKNOWN) {
71
+ rb_raise(eZstdError, "Content size unknown");
72
+ }
73
+
74
+ VALUE result = rb_str_buf_new(dst_capacity);
75
+ char *dst = RSTRING_PTR(result);
76
+
77
+ size_t decompressed_size = ZSTD_decompress(dst, dst_capacity, src, src_size);
78
+ check_zstd_error(decompressed_size, "Decompression failed");
79
+
80
+ rb_str_set_len(result, decompressed_size);
81
+ return result;
82
+ }
83
+
84
+ static VALUE zstd_compress_bound(VALUE self, VALUE size_val) {
85
+ size_t src_size = NUM2SIZET(size_val);
86
+ return SIZET2NUM(ZSTD_compressBound(src_size));
87
+ }
88
+
89
+ static VALUE zstd_frame_content_size(VALUE self, VALUE data) {
90
+ Check_Type(data, T_STRING);
91
+ const char *src = RSTRING_PTR(data);
92
+ size_t src_size = RSTRING_LEN(data);
93
+
94
+ unsigned long long size = ZSTD_getFrameContentSize(src, src_size);
95
+ if (size == ZSTD_CONTENTSIZE_ERROR) {
96
+ rb_raise(eZstdError, "Invalid frame");
97
+ }
98
+ if (size == ZSTD_CONTENTSIZE_UNKNOWN) {
99
+ return Qnil;
100
+ }
101
+ return ULL2NUM(size);
102
+ }
103
+
104
+ static VALUE zstd_find_frame_compressed_size(VALUE self, VALUE data) {
105
+ Check_Type(data, T_STRING);
106
+ const char *src = RSTRING_PTR(data);
107
+ size_t src_size = RSTRING_LEN(data);
108
+
109
+ size_t size = ZSTD_findFrameCompressedSize(src, src_size);
110
+ check_zstd_error(size, "Failed to find frame size");
111
+ return SIZET2NUM(size);
112
+ }
113
+
114
+ static VALUE zstd_min_clevel(VALUE self) {
115
+ return INT2NUM(ZSTD_minCLevel());
116
+ }
117
+
118
+ static VALUE zstd_max_clevel(VALUE self) {
119
+ return INT2NUM(ZSTD_maxCLevel());
120
+ }
121
+
122
+ static VALUE zstd_default_clevel(VALUE self) {
123
+ return INT2NUM(ZSTD_defaultCLevel());
124
+ }
125
+
126
+ /* CCtx class */
127
+
128
+ static void cctx_free(void *ptr) {
129
+ if (ptr) {
130
+ ZSTD_freeCCtx((ZSTD_CCtx*)ptr);
131
+ }
132
+ }
133
+
134
+ static const rb_data_type_t cctx_type = {
135
+ "ZstdNative::CCtx",
136
+ {NULL, cctx_free, NULL},
137
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
138
+ };
139
+
140
+ static VALUE cctx_alloc(VALUE klass) {
141
+ ZSTD_CCtx *ctx = ZSTD_createCCtx();
142
+ if (!ctx) {
143
+ rb_raise(eZstdError, "Failed to create compression context");
144
+ }
145
+ return TypedData_Wrap_Struct(klass, &cctx_type, ctx);
146
+ }
147
+
148
+ static VALUE cctx_compress(VALUE self, VALUE data, VALUE level_val) {
149
+ Check_Type(data, T_STRING);
150
+ int level = NUM2INT(level_val);
151
+
152
+ ZSTD_CCtx *ctx;
153
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
154
+
155
+ const char *src = RSTRING_PTR(data);
156
+ size_t src_size = RSTRING_LEN(data);
157
+
158
+ size_t dst_capacity = ZSTD_compressBound(src_size);
159
+ VALUE result = rb_str_buf_new(dst_capacity);
160
+ char *dst = RSTRING_PTR(result);
161
+
162
+ size_t compressed_size = ZSTD_compressCCtx(ctx, dst, dst_capacity, src, src_size, level);
163
+ check_zstd_error(compressed_size, "CCtx compression failed");
164
+
165
+ rb_str_set_len(result, compressed_size);
166
+ return result;
167
+ }
168
+
169
+ static VALUE cctx_reset(VALUE self) {
170
+ ZSTD_CCtx *ctx;
171
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
172
+
173
+ size_t result = ZSTD_CCtx_reset(ctx, ZSTD_reset_session_only);
174
+ check_zstd_error(result, "CCtx reset failed");
175
+ return Qnil;
176
+ }
177
+
178
+ static VALUE cctx_load_dictionary(VALUE self, VALUE dict) {
179
+ Check_Type(dict, T_STRING);
180
+
181
+ ZSTD_CCtx *ctx;
182
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
183
+
184
+ const char *dict_data = RSTRING_PTR(dict);
185
+ size_t dict_size = RSTRING_LEN(dict);
186
+
187
+ size_t result = ZSTD_CCtx_loadDictionary(ctx, dict_data, dict_size);
188
+ check_zstd_error(result, "Failed to load dictionary");
189
+ return Qnil;
190
+ }
191
+
192
+ static VALUE cctx_ref_cdict(VALUE self, VALUE cdict_val) {
193
+ ZSTD_CCtx *ctx;
194
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
195
+
196
+ ZSTD_CDict *cdict;
197
+ TypedData_Get_Struct(cdict_val, ZSTD_CDict, &cdict_type, cdict);
198
+
199
+ size_t result = ZSTD_CCtx_refCDict(ctx, cdict);
200
+ check_zstd_error(result, "Failed to reference CDict");
201
+ return Qnil;
202
+ }
203
+
204
+ static VALUE cctx_ref_prefix(VALUE self, VALUE prefix) {
205
+ Check_Type(prefix, T_STRING);
206
+
207
+ ZSTD_CCtx *ctx;
208
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
209
+
210
+ const char *prefix_data = RSTRING_PTR(prefix);
211
+ size_t prefix_size = RSTRING_LEN(prefix);
212
+
213
+ size_t result = ZSTD_CCtx_refPrefix(ctx, prefix_data, prefix_size);
214
+ check_zstd_error(result, "Failed to reference prefix");
215
+ return Qnil;
216
+ }
217
+
218
+ static VALUE cctx_sizeof(VALUE self) {
219
+ ZSTD_CCtx *ctx;
220
+ TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx);
221
+ return SIZET2NUM(ZSTD_sizeof_CCtx(ctx));
222
+ }
223
+
224
+ /* DCtx class */
225
+
226
+ static void dctx_free(void *ptr) {
227
+ if (ptr) {
228
+ ZSTD_freeDCtx((ZSTD_DCtx*)ptr);
229
+ }
230
+ }
231
+
232
+ static const rb_data_type_t dctx_type = {
233
+ "ZstdNative::DCtx",
234
+ {NULL, dctx_free, NULL},
235
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
236
+ };
237
+
238
+ static VALUE dctx_alloc(VALUE klass) {
239
+ ZSTD_DCtx *ctx = ZSTD_createDCtx();
240
+ if (!ctx) {
241
+ rb_raise(eZstdError, "Failed to create decompression context");
242
+ }
243
+ return TypedData_Wrap_Struct(klass, &dctx_type, ctx);
244
+ }
245
+
246
+ static VALUE dctx_decompress(VALUE self, VALUE data) {
247
+ Check_Type(data, T_STRING);
248
+
249
+ ZSTD_DCtx *ctx;
250
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
251
+
252
+ const char *src = RSTRING_PTR(data);
253
+ size_t src_size = RSTRING_LEN(data);
254
+
255
+ unsigned long long const dst_capacity = ZSTD_getFrameContentSize(src, src_size);
256
+
257
+ if (dst_capacity == ZSTD_CONTENTSIZE_ERROR) {
258
+ rb_raise(eZstdError, "Invalid compressed data");
259
+ }
260
+ if (dst_capacity == ZSTD_CONTENTSIZE_UNKNOWN) {
261
+ rb_raise(eZstdError, "Content size unknown");
262
+ }
263
+
264
+ VALUE result = rb_str_buf_new(dst_capacity);
265
+ char *dst = RSTRING_PTR(result);
266
+
267
+ size_t decompressed_size = ZSTD_decompressDCtx(ctx, dst, dst_capacity, src, src_size);
268
+ check_zstd_error(decompressed_size, "DCtx decompression failed");
269
+
270
+ rb_str_set_len(result, decompressed_size);
271
+ return result;
272
+ }
273
+
274
+ static VALUE dctx_reset(VALUE self) {
275
+ ZSTD_DCtx *ctx;
276
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
277
+
278
+ size_t result = ZSTD_DCtx_reset(ctx, ZSTD_reset_session_only);
279
+ check_zstd_error(result, "DCtx reset failed");
280
+ return Qnil;
281
+ }
282
+
283
+ static VALUE dctx_load_dictionary(VALUE self, VALUE dict) {
284
+ Check_Type(dict, T_STRING);
285
+
286
+ ZSTD_DCtx *ctx;
287
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
288
+
289
+ const char *dict_data = RSTRING_PTR(dict);
290
+ size_t dict_size = RSTRING_LEN(dict);
291
+
292
+ size_t result = ZSTD_DCtx_loadDictionary(ctx, dict_data, dict_size);
293
+ check_zstd_error(result, "Failed to load dictionary");
294
+ return Qnil;
295
+ }
296
+
297
+ static VALUE dctx_ref_ddict(VALUE self, VALUE ddict_val) {
298
+ ZSTD_DCtx *ctx;
299
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
300
+
301
+ ZSTD_DDict *ddict;
302
+ TypedData_Get_Struct(ddict_val, ZSTD_DDict, &ddict_type, ddict);
303
+
304
+ size_t result = ZSTD_DCtx_refDDict(ctx, ddict);
305
+ check_zstd_error(result, "Failed to reference DDict");
306
+ return Qnil;
307
+ }
308
+
309
+ static VALUE dctx_ref_prefix(VALUE self, VALUE prefix) {
310
+ Check_Type(prefix, T_STRING);
311
+
312
+ ZSTD_DCtx *ctx;
313
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
314
+
315
+ const char *prefix_data = RSTRING_PTR(prefix);
316
+ size_t prefix_size = RSTRING_LEN(prefix);
317
+
318
+ size_t result = ZSTD_DCtx_refPrefix(ctx, prefix_data, prefix_size);
319
+ check_zstd_error(result, "Failed to reference prefix");
320
+ return Qnil;
321
+ }
322
+
323
+ static VALUE dctx_sizeof(VALUE self) {
324
+ ZSTD_DCtx *ctx;
325
+ TypedData_Get_Struct(self, ZSTD_DCtx, &dctx_type, ctx);
326
+ return SIZET2NUM(ZSTD_sizeof_DCtx(ctx));
327
+ }
328
+
329
+ /* CStream class */
330
+
331
+ static void cstream_free(void *ptr) {
332
+ if (ptr) {
333
+ ZSTD_freeCStream((ZSTD_CStream*)ptr);
334
+ }
335
+ }
336
+
337
+ static const rb_data_type_t cstream_type = {
338
+ "ZstdNative::CStream",
339
+ {NULL, cstream_free, NULL},
340
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
341
+ };
342
+
343
+ static VALUE cstream_initialize(int argc, VALUE *argv, VALUE self) {
344
+ VALUE opts;
345
+ rb_scan_args(argc, argv, "01", &opts);
346
+
347
+ int level = ZSTD_CLEVEL_DEFAULT;
348
+ if (!NIL_P(opts)) {
349
+ Check_Type(opts, T_HASH);
350
+ VALUE level_val = rb_hash_aref(opts, ID2SYM(rb_intern("level")));
351
+ if (!NIL_P(level_val)) {
352
+ level = NUM2INT(level_val);
353
+ }
354
+ }
355
+
356
+ ZSTD_CStream *stream = ZSTD_createCStream();
357
+ if (!stream) {
358
+ rb_raise(eZstdError, "Failed to create compression stream");
359
+ }
360
+
361
+ size_t result = ZSTD_initCStream(stream, level);
362
+ if (ZSTD_isError(result)) {
363
+ ZSTD_freeCStream(stream);
364
+ rb_raise(eZstdError, "Failed to initialize compression stream: %s", ZSTD_getErrorName(result));
365
+ }
366
+
367
+ DATA_PTR(self) = stream;
368
+ return self;
369
+ }
370
+
371
+ static VALUE cstream_alloc(VALUE klass) {
372
+ return TypedData_Wrap_Struct(klass, &cstream_type, NULL);
373
+ }
374
+
375
+ static VALUE cstream_compress(VALUE self, VALUE data) {
376
+ Check_Type(data, T_STRING);
377
+
378
+ ZSTD_CStream *stream;
379
+ TypedData_Get_Struct(self, ZSTD_CStream, &cstream_type, stream);
380
+
381
+ const char *src = RSTRING_PTR(data);
382
+ size_t src_size = RSTRING_LEN(data);
383
+
384
+ ZSTD_inBuffer input = {src, src_size, 0};
385
+
386
+ size_t out_capacity = ZSTD_CStreamOutSize();
387
+ VALUE result = rb_str_buf_new(out_capacity);
388
+ char *dst = RSTRING_PTR(result);
389
+ size_t total_written = 0;
390
+
391
+ while (input.pos < input.size) {
392
+ ZSTD_outBuffer output = {dst + total_written, out_capacity - total_written, 0};
393
+ size_t remaining = ZSTD_compressStream(stream, &output, &input);
394
+ check_zstd_error(remaining, "Stream compression failed");
395
+ total_written += output.pos;
396
+
397
+ if (total_written >= out_capacity) {
398
+ out_capacity *= 2;
399
+ rb_str_resize(result, out_capacity);
400
+ dst = RSTRING_PTR(result);
401
+ }
402
+ }
403
+
404
+ rb_str_set_len(result, total_written);
405
+ return result;
406
+ }
407
+
408
+ static VALUE cstream_flush(VALUE self) {
409
+ ZSTD_CStream *stream;
410
+ TypedData_Get_Struct(self, ZSTD_CStream, &cstream_type, stream);
411
+
412
+ size_t out_capacity = ZSTD_CStreamOutSize();
413
+ VALUE result = rb_str_buf_new(out_capacity);
414
+ char *dst = RSTRING_PTR(result);
415
+ size_t total_written = 0;
416
+
417
+ size_t remaining;
418
+ do {
419
+ ZSTD_outBuffer output = {dst + total_written, out_capacity - total_written, 0};
420
+ remaining = ZSTD_flushStream(stream, &output);
421
+ check_zstd_error(remaining, "Stream flush failed");
422
+ total_written += output.pos;
423
+
424
+ if (remaining > 0 && total_written >= out_capacity) {
425
+ out_capacity *= 2;
426
+ rb_str_resize(result, out_capacity);
427
+ dst = RSTRING_PTR(result);
428
+ }
429
+ } while (remaining > 0);
430
+
431
+ rb_str_set_len(result, total_written);
432
+ return result;
433
+ }
434
+
435
+ static VALUE cstream_finish(VALUE self) {
436
+ ZSTD_CStream *stream;
437
+ TypedData_Get_Struct(self, ZSTD_CStream, &cstream_type, stream);
438
+
439
+ size_t out_capacity = ZSTD_CStreamOutSize();
440
+ VALUE result = rb_str_buf_new(out_capacity);
441
+ char *dst = RSTRING_PTR(result);
442
+ size_t total_written = 0;
443
+
444
+ size_t remaining;
445
+ do {
446
+ ZSTD_outBuffer output = {dst + total_written, out_capacity - total_written, 0};
447
+ remaining = ZSTD_endStream(stream, &output);
448
+ check_zstd_error(remaining, "Stream end failed");
449
+ total_written += output.pos;
450
+
451
+ if (remaining > 0 && total_written >= out_capacity) {
452
+ out_capacity *= 2;
453
+ rb_str_resize(result, out_capacity);
454
+ dst = RSTRING_PTR(result);
455
+ }
456
+ } while (remaining > 0);
457
+
458
+ rb_str_set_len(result, total_written);
459
+ return result;
460
+ }
461
+
462
+ static VALUE cstream_in_size(VALUE self) {
463
+ return SIZET2NUM(ZSTD_CStreamInSize());
464
+ }
465
+
466
+ static VALUE cstream_out_size(VALUE self) {
467
+ return SIZET2NUM(ZSTD_CStreamOutSize());
468
+ }
469
+
470
+ /* DStream class */
471
+
472
+ static void dstream_free(void *ptr) {
473
+ if (ptr) {
474
+ ZSTD_freeDStream((ZSTD_DStream*)ptr);
475
+ }
476
+ }
477
+
478
+ static const rb_data_type_t dstream_type = {
479
+ "ZstdNative::DStream",
480
+ {NULL, dstream_free, NULL},
481
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
482
+ };
483
+
484
+ static VALUE dstream_initialize(VALUE self) {
485
+ ZSTD_DStream *stream = ZSTD_createDStream();
486
+ if (!stream) {
487
+ rb_raise(eZstdError, "Failed to create decompression stream");
488
+ }
489
+
490
+ size_t result = ZSTD_initDStream(stream);
491
+ if (ZSTD_isError(result)) {
492
+ ZSTD_freeDStream(stream);
493
+ rb_raise(eZstdError, "Failed to initialize decompression stream: %s", ZSTD_getErrorName(result));
494
+ }
495
+
496
+ DATA_PTR(self) = stream;
497
+ return self;
498
+ }
499
+
500
+ static VALUE dstream_alloc(VALUE klass) {
501
+ return TypedData_Wrap_Struct(klass, &dstream_type, NULL);
502
+ }
503
+
504
+ static VALUE dstream_decompress(VALUE self, VALUE data) {
505
+ Check_Type(data, T_STRING);
506
+
507
+ ZSTD_DStream *stream;
508
+ TypedData_Get_Struct(self, ZSTD_DStream, &dstream_type, stream);
509
+
510
+ const char *src = RSTRING_PTR(data);
511
+ size_t src_size = RSTRING_LEN(data);
512
+
513
+ ZSTD_inBuffer input = {src, src_size, 0};
514
+
515
+ size_t out_capacity = ZSTD_DStreamOutSize();
516
+ VALUE result = rb_str_buf_new(out_capacity);
517
+ char *dst = RSTRING_PTR(result);
518
+ size_t total_written = 0;
519
+
520
+ while (input.pos < input.size) {
521
+ ZSTD_outBuffer output = {dst + total_written, out_capacity - total_written, 0};
522
+ size_t remaining = ZSTD_decompressStream(stream, &output, &input);
523
+ check_zstd_error(remaining, "Stream decompression failed");
524
+ total_written += output.pos;
525
+
526
+ if (total_written >= out_capacity && input.pos < input.size) {
527
+ out_capacity *= 2;
528
+ rb_str_resize(result, out_capacity);
529
+ dst = RSTRING_PTR(result);
530
+ }
531
+ }
532
+
533
+ rb_str_set_len(result, total_written);
534
+ return result;
535
+ }
536
+
537
+ static VALUE dstream_in_size(VALUE self) {
538
+ return SIZET2NUM(ZSTD_DStreamInSize());
539
+ }
540
+
541
+ static VALUE dstream_out_size(VALUE self) {
542
+ return SIZET2NUM(ZSTD_DStreamOutSize());
543
+ }
544
+
545
+ /* CDict class */
546
+
547
+ static void cdict_free(void *ptr) {
548
+ if (ptr) {
549
+ ZSTD_freeCDict((ZSTD_CDict*)ptr);
550
+ }
551
+ }
552
+
553
+ static const rb_data_type_t cdict_type = {
554
+ "ZstdNative::CDict",
555
+ {NULL, cdict_free, NULL},
556
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
557
+ };
558
+
559
+ static VALUE cdict_initialize(int argc, VALUE *argv, VALUE self) {
560
+ VALUE dict, level_val;
561
+ rb_scan_args(argc, argv, "11", &dict, &level_val);
562
+
563
+ Check_Type(dict, T_STRING);
564
+ int level = NIL_P(level_val) ? ZSTD_CLEVEL_DEFAULT : NUM2INT(level_val);
565
+
566
+ const char *dict_data = RSTRING_PTR(dict);
567
+ size_t dict_size = RSTRING_LEN(dict);
568
+
569
+ ZSTD_CDict *cdict = ZSTD_createCDict(dict_data, dict_size, level);
570
+ if (!cdict) {
571
+ rb_raise(eZstdError, "Failed to create compression dictionary");
572
+ }
573
+
574
+ DATA_PTR(self) = cdict;
575
+ return self;
576
+ }
577
+
578
+ static VALUE cdict_alloc(VALUE klass) {
579
+ return TypedData_Wrap_Struct(klass, &cdict_type, NULL);
580
+ }
581
+
582
+ static VALUE cdict_sizeof(VALUE self) {
583
+ ZSTD_CDict *cdict;
584
+ TypedData_Get_Struct(self, ZSTD_CDict, &cdict_type, cdict);
585
+ return SIZET2NUM(ZSTD_sizeof_CDict(cdict));
586
+ }
587
+
588
+ /* DDict class */
589
+
590
+ static void ddict_free(void *ptr) {
591
+ if (ptr) {
592
+ ZSTD_freeDDict((ZSTD_DDict*)ptr);
593
+ }
594
+ }
595
+
596
+ static const rb_data_type_t ddict_type = {
597
+ "ZstdNative::DDict",
598
+ {NULL, ddict_free, NULL},
599
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
600
+ };
601
+
602
+ static VALUE ddict_initialize(VALUE self, VALUE dict) {
603
+ Check_Type(dict, T_STRING);
604
+
605
+ const char *dict_data = RSTRING_PTR(dict);
606
+ size_t dict_size = RSTRING_LEN(dict);
607
+
608
+ ZSTD_DDict *ddict = ZSTD_createDDict(dict_data, dict_size);
609
+ if (!ddict) {
610
+ rb_raise(eZstdError, "Failed to create decompression dictionary");
611
+ }
612
+
613
+ DATA_PTR(self) = ddict;
614
+ return self;
615
+ }
616
+
617
+ static VALUE ddict_alloc(VALUE klass) {
618
+ return TypedData_Wrap_Struct(klass, &ddict_type, NULL);
619
+ }
620
+
621
+ static VALUE ddict_sizeof(VALUE self) {
622
+ ZSTD_DDict *ddict;
623
+ TypedData_Get_Struct(self, ZSTD_DDict, &ddict_type, ddict);
624
+ return SIZET2NUM(ZSTD_sizeof_DDict(ddict));
625
+ }
626
+
627
+ /* Dictionary helper functions */
628
+
629
+ static VALUE zstd_compress_using_dict(int argc, VALUE *argv, VALUE self) {
630
+ VALUE data, dict, level_val;
631
+ rb_scan_args(argc, argv, "21", &data, &dict, &level_val);
632
+
633
+ Check_Type(data, T_STRING);
634
+ Check_Type(dict, T_STRING);
635
+ int level = NIL_P(level_val) ? ZSTD_CLEVEL_DEFAULT : NUM2INT(level_val);
636
+
637
+ ZSTD_CCtx *ctx = ZSTD_createCCtx();
638
+ if (!ctx) {
639
+ rb_raise(eZstdError, "Failed to create compression context");
640
+ }
641
+
642
+ const char *src = RSTRING_PTR(data);
643
+ size_t src_size = RSTRING_LEN(data);
644
+ const char *dict_data = RSTRING_PTR(dict);
645
+ size_t dict_size = RSTRING_LEN(dict);
646
+
647
+ size_t dst_capacity = ZSTD_compressBound(src_size);
648
+ VALUE result = rb_str_buf_new(dst_capacity);
649
+ char *dst = RSTRING_PTR(result);
650
+
651
+ size_t compressed_size = ZSTD_compress_usingDict(ctx, dst, dst_capacity, src, src_size, dict_data, dict_size, level);
652
+ ZSTD_freeCCtx(ctx);
653
+ check_zstd_error(compressed_size, "Dictionary compression failed");
654
+
655
+ rb_str_set_len(result, compressed_size);
656
+ return result;
657
+ }
658
+
659
+ static VALUE zstd_decompress_using_dict(VALUE self, VALUE data, VALUE dict) {
660
+ Check_Type(data, T_STRING);
661
+ Check_Type(dict, T_STRING);
662
+
663
+ ZSTD_DCtx *ctx = ZSTD_createDCtx();
664
+ if (!ctx) {
665
+ rb_raise(eZstdError, "Failed to create decompression context");
666
+ }
667
+
668
+ const char *src = RSTRING_PTR(data);
669
+ size_t src_size = RSTRING_LEN(data);
670
+ const char *dict_data = RSTRING_PTR(dict);
671
+ size_t dict_size = RSTRING_LEN(dict);
672
+
673
+ unsigned long long const dst_capacity = ZSTD_getFrameContentSize(src, src_size);
674
+
675
+ if (dst_capacity == ZSTD_CONTENTSIZE_ERROR) {
676
+ ZSTD_freeDCtx(ctx);
677
+ rb_raise(eZstdError, "Invalid compressed data");
678
+ }
679
+ if (dst_capacity == ZSTD_CONTENTSIZE_UNKNOWN) {
680
+ ZSTD_freeDCtx(ctx);
681
+ rb_raise(eZstdError, "Content size unknown");
682
+ }
683
+
684
+ VALUE result = rb_str_buf_new(dst_capacity);
685
+ char *dst = RSTRING_PTR(result);
686
+
687
+ size_t decompressed_size = ZSTD_decompress_usingDict(ctx, dst, dst_capacity, src, src_size, dict_data, dict_size);
688
+ ZSTD_freeDCtx(ctx);
689
+ check_zstd_error(decompressed_size, "Dictionary decompression failed");
690
+
691
+ rb_str_set_len(result, decompressed_size);
692
+ return result;
693
+ }
694
+
695
+ static VALUE zstd_compress_using_cdict(VALUE self, VALUE data, VALUE cdict_val) {
696
+ Check_Type(data, T_STRING);
697
+
698
+ ZSTD_CDict *cdict;
699
+ TypedData_Get_Struct(cdict_val, ZSTD_CDict, &cdict_type, cdict);
700
+
701
+ ZSTD_CCtx *ctx = ZSTD_createCCtx();
702
+ if (!ctx) {
703
+ rb_raise(eZstdError, "Failed to create compression context");
704
+ }
705
+
706
+ const char *src = RSTRING_PTR(data);
707
+ size_t src_size = RSTRING_LEN(data);
708
+
709
+ size_t dst_capacity = ZSTD_compressBound(src_size);
710
+ VALUE result = rb_str_buf_new(dst_capacity);
711
+ char *dst = RSTRING_PTR(result);
712
+
713
+ size_t compressed_size = ZSTD_compress_usingCDict(ctx, dst, dst_capacity, src, src_size, cdict);
714
+ ZSTD_freeCCtx(ctx);
715
+ check_zstd_error(compressed_size, "CDict compression failed");
716
+
717
+ rb_str_set_len(result, compressed_size);
718
+ return result;
719
+ }
720
+
721
+ static VALUE zstd_decompress_using_ddict(VALUE self, VALUE data, VALUE ddict_val) {
722
+ Check_Type(data, T_STRING);
723
+
724
+ ZSTD_DDict *ddict;
725
+ TypedData_Get_Struct(ddict_val, ZSTD_DDict, &ddict_type, ddict);
726
+
727
+ ZSTD_DCtx *ctx = ZSTD_createDCtx();
728
+ if (!ctx) {
729
+ rb_raise(eZstdError, "Failed to create decompression context");
730
+ }
731
+
732
+ const char *src = RSTRING_PTR(data);
733
+ size_t src_size = RSTRING_LEN(data);
734
+
735
+ unsigned long long const dst_capacity = ZSTD_getFrameContentSize(src, src_size);
736
+
737
+ if (dst_capacity == ZSTD_CONTENTSIZE_ERROR) {
738
+ ZSTD_freeDCtx(ctx);
739
+ rb_raise(eZstdError, "Invalid compressed data");
740
+ }
741
+ if (dst_capacity == ZSTD_CONTENTSIZE_UNKNOWN) {
742
+ ZSTD_freeDCtx(ctx);
743
+ rb_raise(eZstdError, "Content size unknown");
744
+ }
745
+
746
+ VALUE result = rb_str_buf_new(dst_capacity);
747
+ char *dst = RSTRING_PTR(result);
748
+
749
+ size_t decompressed_size = ZSTD_decompress_usingDDict(ctx, dst, dst_capacity, src, src_size, ddict);
750
+ ZSTD_freeDCtx(ctx);
751
+ check_zstd_error(decompressed_size, "DDict decompression failed");
752
+
753
+ rb_str_set_len(result, decompressed_size);
754
+ return result;
755
+ }
756
+
757
+ static VALUE zstd_dict_id_from_cdict(VALUE self, VALUE cdict_val) {
758
+ ZSTD_CDict *cdict;
759
+ TypedData_Get_Struct(cdict_val, ZSTD_CDict, &cdict_type, cdict);
760
+ return UINT2NUM(ZSTD_getDictID_fromCDict(cdict));
761
+ }
762
+
763
+ static VALUE zstd_dict_id_from_ddict(VALUE self, VALUE ddict_val) {
764
+ ZSTD_DDict *ddict;
765
+ TypedData_Get_Struct(ddict_val, ZSTD_DDict, &ddict_type, ddict);
766
+ return UINT2NUM(ZSTD_getDictID_fromDDict(ddict));
767
+ }
768
+
769
+ static VALUE zstd_dict_id_from_frame(VALUE self, VALUE data) {
770
+ Check_Type(data, T_STRING);
771
+ const char *src = RSTRING_PTR(data);
772
+ size_t src_size = RSTRING_LEN(data);
773
+ return UINT2NUM(ZSTD_getDictID_fromFrame(src, src_size));
774
+ }
775
+
776
+ /* Module initialization */
777
+
778
+ void Init_zstd_native(void) {
779
+ mZstdNative = rb_define_module("ZstdNative");
780
+ eZstdError = rb_define_class_under(mZstdNative, "Error", rb_eStandardError);
781
+
782
+ /* Module methods */
783
+ rb_define_module_function(mZstdNative, "version_number", zstd_version_number, 0);
784
+ rb_define_module_function(mZstdNative, "version_string", zstd_version_string, 0);
785
+ rb_define_module_function(mZstdNative, "compress", zstd_compress, -1);
786
+ rb_define_module_function(mZstdNative, "decompress", zstd_decompress, 1);
787
+ rb_define_module_function(mZstdNative, "compress_bound", zstd_compress_bound, 1);
788
+ rb_define_module_function(mZstdNative, "frame_content_size", zstd_frame_content_size, 1);
789
+ rb_define_module_function(mZstdNative, "find_frame_compressed_size", zstd_find_frame_compressed_size, 1);
790
+ rb_define_module_function(mZstdNative, "min_clevel", zstd_min_clevel, 0);
791
+ rb_define_module_function(mZstdNative, "max_clevel", zstd_max_clevel, 0);
792
+ rb_define_module_function(mZstdNative, "default_clevel", zstd_default_clevel, 0);
793
+
794
+ /* Dictionary functions */
795
+ rb_define_module_function(mZstdNative, "compress_using_dict", zstd_compress_using_dict, -1);
796
+ rb_define_module_function(mZstdNative, "decompress_using_dict", zstd_decompress_using_dict, 2);
797
+ rb_define_module_function(mZstdNative, "compress_using_cdict", zstd_compress_using_cdict, 2);
798
+ rb_define_module_function(mZstdNative, "decompress_using_ddict", zstd_decompress_using_ddict, 2);
799
+ rb_define_module_function(mZstdNative, "dict_id_from_cdict", zstd_dict_id_from_cdict, 1);
800
+ rb_define_module_function(mZstdNative, "dict_id_from_ddict", zstd_dict_id_from_ddict, 1);
801
+ rb_define_module_function(mZstdNative, "dict_id_from_frame", zstd_dict_id_from_frame, 1);
802
+
803
+ /* CCtx class */
804
+ cCCtx = rb_define_class_under(mZstdNative, "CCtx", rb_cObject);
805
+ rb_define_alloc_func(cCCtx, cctx_alloc);
806
+ rb_define_method(cCCtx, "compress", cctx_compress, 2);
807
+ rb_define_method(cCCtx, "reset", cctx_reset, 0);
808
+ rb_define_method(cCCtx, "load_dictionary", cctx_load_dictionary, 1);
809
+ rb_define_method(cCCtx, "ref_cdict", cctx_ref_cdict, 1);
810
+ rb_define_method(cCCtx, "ref_prefix", cctx_ref_prefix, 1);
811
+ rb_define_method(cCCtx, "sizeof", cctx_sizeof, 0);
812
+
813
+ /* DCtx class */
814
+ cDCtx = rb_define_class_under(mZstdNative, "DCtx", rb_cObject);
815
+ rb_define_alloc_func(cDCtx, dctx_alloc);
816
+ rb_define_method(cDCtx, "decompress", dctx_decompress, 1);
817
+ rb_define_method(cDCtx, "reset", dctx_reset, 0);
818
+ rb_define_method(cDCtx, "load_dictionary", dctx_load_dictionary, 1);
819
+ rb_define_method(cDCtx, "ref_ddict", dctx_ref_ddict, 1);
820
+ rb_define_method(cDCtx, "ref_prefix", dctx_ref_prefix, 1);
821
+ rb_define_method(cDCtx, "sizeof", dctx_sizeof, 0);
822
+
823
+ /* CStream class */
824
+ cCStream = rb_define_class_under(mZstdNative, "CStream", rb_cObject);
825
+ rb_define_alloc_func(cCStream, cstream_alloc);
826
+ rb_define_method(cCStream, "initialize", cstream_initialize, -1);
827
+ rb_define_method(cCStream, "compress", cstream_compress, 1);
828
+ rb_define_method(cCStream, "flush", cstream_flush, 0);
829
+ rb_define_method(cCStream, "finish", cstream_finish, 0);
830
+ rb_define_singleton_method(cCStream, "in_size", cstream_in_size, 0);
831
+ rb_define_singleton_method(cCStream, "out_size", cstream_out_size, 0);
832
+
833
+ /* DStream class */
834
+ cDStream = rb_define_class_under(mZstdNative, "DStream", rb_cObject);
835
+ rb_define_alloc_func(cDStream, dstream_alloc);
836
+ rb_define_method(cDStream, "initialize", dstream_initialize, 0);
837
+ rb_define_method(cDStream, "decompress", dstream_decompress, 1);
838
+ rb_define_singleton_method(cDStream, "in_size", dstream_in_size, 0);
839
+ rb_define_singleton_method(cDStream, "out_size", dstream_out_size, 0);
840
+
841
+ /* CDict class */
842
+ cCDict = rb_define_class_under(mZstdNative, "CDict", rb_cObject);
843
+ rb_define_alloc_func(cCDict, cdict_alloc);
844
+ rb_define_method(cCDict, "initialize", cdict_initialize, -1);
845
+ rb_define_method(cCDict, "sizeof", cdict_sizeof, 0);
846
+
847
+ /* DDict class */
848
+ cDDict = rb_define_class_under(mZstdNative, "DDict", rb_cObject);
849
+ rb_define_alloc_func(cDDict, ddict_alloc);
850
+ rb_define_method(cDDict, "initialize", ddict_initialize, 1);
851
+ rb_define_method(cDDict, "sizeof", ddict_sizeof, 0);
852
+ }