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.
- checksums.yaml +4 -4
- data/LICENSE +4 -2
- data/README.md +50 -23
- data/ext/zstd_native/Makefile +269 -0
- data/ext/zstd_native/extconf.rb +37 -0
- data/{vendor → ext/zstd_native}/zstd/CONTRIBUTING.md +1 -6
- data/{vendor → ext/zstd_native}/zstd/Makefile +6 -5
- data/{vendor → ext/zstd_native}/zstd/README.md +35 -42
- data/ext/zstd_native/zstd/build/cmake/CMakeLists.txt +228 -0
- data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +19 -21
- data/{vendor → ext/zstd_native}/zstd/build/cmake/README.md +0 -9
- data/{vendor → ext/zstd_native}/zstd/build/cmake/lib/CMakeLists.txt +6 -9
- data/{vendor → ext/zstd_native}/zstd/build/meson/lib/meson.build +0 -4
- data/{vendor → ext/zstd_native}/zstd/build/meson/meson.build +2 -1
- data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/main.c +2 -3
- data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/largeNbDicts.c +0 -2
- data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/linux_zstd.h +0 -166
- data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_compress_module.c +0 -49
- data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_decompress_module.c +0 -36
- data/{vendor → ext/zstd_native}/zstd/contrib/premake/zstd.lua +0 -1
- data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Logging.h +0 -1
- data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/Makefile +1 -3
- data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/parallel_compression.c +84 -124
- data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/parallel_processing.c +5 -2
- data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/tests/Makefile +2 -22
- data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/tests/seekable_tests.c +0 -12
- data/{vendor → ext/zstd_native}/zstd/doc/zstd_compression_format.md +2 -3
- data/{vendor → ext/zstd_native}/zstd/doc/zstd_manual.html +24 -31
- data/{vendor → ext/zstd_native}/zstd/lib/Makefile +9 -9
- data/{vendor → ext/zstd_native}/zstd/lib/README.md +4 -23
- data/{vendor → ext/zstd_native}/zstd/lib/common/bits.h +1 -1
- data/{vendor → ext/zstd_native}/zstd/lib/common/compiler.h +6 -24
- data/ext/zstd_native/zstd/lib/common/debug.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/entropy_common.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/fse_decompress.o +0 -0
- data/ext/zstd_native/zstd/lib/common/pool.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/portability_macros.h +0 -19
- data/{vendor → ext/zstd_native}/zstd/lib/common/threading.c +2 -16
- data/ext/zstd_native/zstd/lib/common/threading.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_common.c +0 -9
- data/ext/zstd_native/zstd/lib/common/zstd_common.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_internal.h +2 -4
- data/{vendor → ext/zstd_native}/zstd/lib/compress/fse_compress.o +0 -0
- data/ext/zstd_native/zstd/lib/compress/hist.c +191 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/hist.h +0 -4
- data/ext/zstd_native/zstd/lib/compress/hist.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/huf_compress.c +0 -1
- data/{vendor → ext/zstd_native}/zstd/lib/compress/huf_compress.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress.c +16 -535
- data/ext/zstd_native/zstd/lib/compress/zstd_compress.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_internal.h +3 -3
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.o +0 -0
- data/ext/zstd_native/zstd/lib/compress/zstd_compress_superblock.o +0 -0
- data/ext/zstd_native/zstd/lib/compress/zstd_double_fast.o +0 -0
- data/ext/zstd_native/zstd/lib/compress/zstd_fast.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_lazy.c +3 -47
- data/ext/zstd_native/zstd/lib/compress/zstd_lazy.o +0 -0
- data/ext/zstd_native/zstd/lib/compress/zstd_ldm.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_opt.c +10 -2
- data/ext/zstd_native/zstd/lib/compress/zstd_opt.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/compress/zstdmt_compress.c +14 -15
- data/ext/zstd_native/zstd/lib/compress/zstdmt_compress.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/decompress/huf_decompress.c +48 -57
- data/ext/zstd_native/zstd/lib/decompress/huf_decompress.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/decompress/huf_decompress_amd64.S +18 -182
- data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_block.c +65 -167
- data/ext/zstd_native/zstd/lib/decompress/zstd_decompress_block.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/cover.c +67 -98
- data/ext/zstd_native/zstd/lib/dictBuilder/cover.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/divsufsort.c +4 -4
- data/ext/zstd_native/zstd/lib/dictBuilder/divsufsort.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/fastcover.c +40 -39
- data/ext/zstd_native/zstd/lib/dictBuilder/fastcover.o +0 -0
- data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/zdict.c +14 -18
- data/ext/zstd_native/zstd/lib/dictBuilder/zdict.o +0 -0
- data/ext/zstd_native/zstd/lib/dll/example/build_package.bat +20 -0
- data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v01.c +5 -6
- data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v03.c +1 -1
- data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v04.c +1 -1
- data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v05.c +1 -1
- data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v06.c +1 -1
- data/{vendor → ext/zstd_native}/zstd/lib/libzstd.mk +1 -4
- data/{vendor → ext/zstd_native}/zstd/lib/libzstd.pc.in +0 -1
- data/{vendor → ext/zstd_native}/zstd/lib/zstd.h +30 -41
- data/{vendor → ext/zstd_native}/zstd/programs/Makefile +8 -8
- data/{vendor → ext/zstd_native}/zstd/programs/README.md +1 -1
- data/{vendor → ext/zstd_native}/zstd/programs/benchzstd.c +62 -51
- data/{vendor → ext/zstd_native}/zstd/programs/benchzstd.h +2 -2
- data/{vendor → ext/zstd_native}/zstd/programs/dibio.c +5 -12
- data/{vendor → ext/zstd_native}/zstd/programs/fileio.c +152 -405
- data/{vendor → ext/zstd_native}/zstd/programs/fileio.h +1 -1
- data/{vendor → ext/zstd_native}/zstd/programs/fileio_types.h +1 -1
- data/{vendor → ext/zstd_native}/zstd/programs/timefn.c +1 -3
- data/{vendor → ext/zstd_native}/zstd/programs/util.c +65 -153
- data/{vendor → ext/zstd_native}/zstd/programs/util.h +2 -4
- data/{vendor → ext/zstd_native}/zstd/programs/zstd.1 +37 -225
- data/{vendor → ext/zstd_native}/zstd/programs/zstd.1.md +14 -14
- data/{vendor → ext/zstd_native}/zstd/programs/zstdcli.c +65 -82
- data/{vendor → ext/zstd_native}/zstd/programs/zstdcli_trace.c +1 -2
- data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep.1 +1 -1
- data/{vendor → ext/zstd_native}/zstd/programs/zstdless.1 +1 -1
- data/{vendor → ext/zstd_native}/zstd/tests/Makefile +4 -8
- data/{vendor → ext/zstd_native}/zstd/tests/automated_benchmarking.py +2 -2
- data/{vendor/zstd/tests/largeDictionary.c → ext/zstd_native/zstd/tests/bigdict.c} +18 -16
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/help.sh.stdout.glob +1 -1
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/platform.sh +0 -11
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multi-threaded.sh +0 -7
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +0 -10
- data/ext/zstd_native/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +5 -0
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +0 -4
- 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
- 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
- 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
- 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
- data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/run.py +1 -2
- data/{vendor → ext/zstd_native}/zstd/tests/fullbench.c +0 -1
- data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_helpers.c +3 -2
- data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_helpers.h +0 -1
- data/{vendor → ext/zstd_native}/zstd/tests/fuzzer.c +0 -335
- data/ext/zstd_native/zstd/tests/largeDictionary.c +128 -0
- data/{vendor → ext/zstd_native}/zstd/tests/legacy.c +0 -2
- data/{vendor → ext/zstd_native}/zstd/tests/longmatch.c +17 -38
- data/{vendor → ext/zstd_native}/zstd/tests/paramgrill.c +3 -3
- data/{vendor → ext/zstd_native}/zstd/tests/playTests.sh +34 -35
- data/{vendor → ext/zstd_native}/zstd/tests/regression/method.c +3 -3
- data/{vendor → ext/zstd_native}/zstd/tests/zstreamtest.c +1 -1
- data/ext/zstd_native/zstd_native.c +852 -0
- data/ext/zstd_native/zstd_native.o +0 -0
- data/ext/zstd_native/zstd_native.so +0 -0
- data/lib/zstd_native/version.rb +3 -0
- data/lib/zstd_native/zstd_native.so +0 -0
- data/lib/zstd_native.rb +6 -0
- metadata +647 -657
- data/CLAUDE.md +0 -101
- data/ext/zstd_ruby/extconf.rb +0 -35
- data/ext/zstd_ruby/zstd_ruby.c +0 -221
- data/lib/zstd_ruby.rb +0 -68
- data/vendor/zstd/CMakeLists.txt +0 -11
- data/vendor/zstd/build/cmake/CMakeLists.txt +0 -81
- data/vendor/zstd/build/cmake/CMakeModules/ZstdBuild.cmake +0 -42
- data/vendor/zstd/build/cmake/CMakeModules/ZstdDependencies.cmake +0 -30
- data/vendor/zstd/build/cmake/CMakeModules/ZstdOptions.cmake +0 -68
- data/vendor/zstd/build/cmake/CMakeModules/ZstdPackage.cmake +0 -42
- data/vendor/zstd/build/cmake/CMakeModules/ZstdVersion.cmake +0 -31
- data/vendor/zstd/lib/common/debug.o +0 -0
- data/vendor/zstd/lib/common/pool.o +0 -0
- data/vendor/zstd/lib/common/threading.o +0 -0
- data/vendor/zstd/lib/common/zstd_common.o +0 -0
- data/vendor/zstd/lib/compress/hist.c +0 -446
- data/vendor/zstd/lib/compress/hist.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress_superblock.o +0 -0
- data/vendor/zstd/lib/compress/zstd_double_fast.o +0 -0
- data/vendor/zstd/lib/compress/zstd_fast.o +0 -0
- data/vendor/zstd/lib/compress/zstd_lazy.o +0 -0
- data/vendor/zstd/lib/compress/zstd_ldm.o +0 -0
- data/vendor/zstd/lib/compress/zstd_opt.o +0 -0
- data/vendor/zstd/lib/compress/zstdmt_compress.o +0 -0
- data/vendor/zstd/lib/decompress/huf_decompress.o +0 -0
- data/vendor/zstd/lib/decompress/zstd_decompress_block.o +0 -0
- data/vendor/zstd/lib/dll/example/build_package.bat +0 -55
- data/vendor/zstd/lib/install_oses.mk +0 -17
- data/vendor/zstd/tests/cli-tests/bin/unzstd +0 -1
- data/vendor/zstd/tests/cli-tests/bin/zstdcat +0 -1
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh +0 -36
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stdout.exact +0 -880
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh +0 -45
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stdout.exact +0 -260
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh +0 -44
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stdout.exact +0 -19
- data/vendor/zstd/tests/cli-tests/determinism/setup +0 -5
- data/vendor/zstd/tests/cli-tests/determinism/setup_once +0 -30
- data/vendor/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +0 -5
- data/vendor/zstd/tests/test_process_substitution.bash +0 -92
- /data/{vendor → ext/zstd_native}/zstd/CHANGELOG +0 -0
- /data/{vendor → ext/zstd_native}/zstd/CODE_OF_CONDUCT.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/COPYING +0 -0
- /data/{vendor → ext/zstd_native}/zstd/LICENSE +0 -0
- /data/{vendor → ext/zstd_native}/zstd/Package.swift +0 -0
- /data/{vendor → ext/zstd_native}/zstd/SECURITY.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/TESTING.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/LICENSE +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2008/fullbench/fullbench.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2008/fuzzer/fuzzer.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstd/zstd.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstd.sln +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2008/zstdlib/zstdlib.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/CompileAsCpp.props +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/datagen/datagen.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/fullbench/fullbench.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd/libzstd.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd/zstd.rc +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd/zstd.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS2010/zstd.sln +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2010.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2012.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2013.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2015.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Community.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VS2017Professional.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.VSPreview.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/VS_scripts/build.generic.cmd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/CMakeModules/JoinPaths.cmake +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/CMakeLists.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/lib/cmake_uninstall.cmake.in +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/programs/CMakeLists.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/tests/CMakeLists.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/cmake/zstdConfig.cmake.in +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/GetZstdLibraryVersion.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/InstallSymlink.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/gen_html/meson.build +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/meson.build +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/contrib/pzstd/meson.build +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/meson_options.txt +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/programs/meson.build +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/tests/meson.build +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/meson/tests/valgrindTest.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/build_decoder_test.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/build_library_test.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/combine.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/combine.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/create_single_file_decoder.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/create_single_file_library.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/emscripten.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/roundtrip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/shell.html +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/simple.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard-dxt1.inl +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard-zstd.inl +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/examples/testcard.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/zstd-in.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/build/single_file_libs/zstddeclib-in.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/fullbench/fullbench.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstd/zstd.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstd.sln +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/cleanTabs +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/diagnose_corruption/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/diagnose_corruption/check_flipped_bits.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/docker/Dockerfile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/docker/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/sequence_producer.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/externalSequenceProducer/sequence_producer.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/freestanding_lib/freestanding.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/gen-zstd-manual.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/gen_html/gen_html.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/largeNbDicts/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/btrfs-benchmark.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/decompress_sources.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/linux.mk +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/mem.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/squashfs-benchmark.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/compiler.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/errno.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/kernel.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/limits.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/math64.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/module.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/printk.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/stddef.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/swab.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/types.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/unaligned.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/macro-test.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/static_test.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/test/test.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_common_module.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/linux-kernel/zstd_deps.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/zstd_edist.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/match_finders/zstd_edist.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/premake/premake4.lua +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/ErrorHolder.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Options.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Options.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Pzstd.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/Pzstd.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/SkippableFrame.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/SkippableFrame.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/images/Cspeed.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/images/Dspeed.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/main.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/OptionsTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/PzstdTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/RoundTrip.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/test/RoundTripTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Buffer.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/FileSystem.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Likely.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Portability.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/Range.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ResourcePool.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ScopeGuard.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/ThreadPool.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/WorkQueue.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/BufferTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/RangeTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/recovery/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/recovery/recover_directory.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_decompression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstd_seekable.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstdseek_compress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seekable_format/zstdseek_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seqBench/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/seqBench/seqBench.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/contrib/snap/snapcraft.yaml +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/decompressor_errata.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/decompressor_permissive.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/harness.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/zstd_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/educational_decoder/zstd_decompress.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/CSpeed2.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/DCspeed5.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/DSpeed3.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/cdict_v136.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-cr.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-cs.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/dict-ds.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/doc/images/zstd_logo86.png +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/common.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/dictionary_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/dictionary_decompression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/multiple_simple_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/multiple_streaming_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/simple_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/simple_decompression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/streaming_compression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/streaming_compression_thread_pool.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/streaming_decompression.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/examples/streaming_memory_usage.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/allocations.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/bitstream.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/cpu.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/debug.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/debug.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/entropy_common.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/error_private.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/fse.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/fse_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/huf.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/mem.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/pool.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/pool.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/threading.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/xxhash.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_deps.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/common/zstd_trace.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/clevels.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/fse_compress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_literals.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_sequences.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_superblock.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_compress_superblock.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_cwksp.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_double_fast.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_double_fast.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_fast.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_fast.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_lazy.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_ldm_geartab.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_opt.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstd_preSplit.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/compress/zstdmt_compress.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_ddict.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_block.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/decompress/zstd_decompress_internal.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_common.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_compress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/deprecated/zbuff_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/cover.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dictBuilder/divsufsort.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/fullbench-dll.sln +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/dll/example/fullbench-dll.vcxproj +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_legacy.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v01.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v02.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v02.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v03.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v04.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v05.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v06.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v07.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/legacy/zstd_v07.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/module.modulemap +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/zdict.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/lib/zstd_errors.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/benchfn.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/benchfn.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/datagen.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/datagen.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/dibio.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/fileio_asyncio.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/fileio_asyncio.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/fileio_common.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/lorem.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/lorem.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/platform.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/timefn.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/windres/verrsrc.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd.rc +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd32.res +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/windres/zstd64.res +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/zstdcli_trace.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/zstdgrep.1.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/zstdless +0 -0
- /data/{vendor → ext/zstd_native}/zstd/programs/zstdless.1.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/DEPRECATED-test-zstd-speed.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/checkTag.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/check_size.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh.exit +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/args.sh.stderr.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/help.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/version.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/basic/version.sh.stdout.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/cmp_size +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/datagen +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/die +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/println +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstd +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstdgrep +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/bin/zstdless +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/setup +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/format.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/mtime.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/common/permissions.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/adapt.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/basic.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/compress-literals.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/format.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/golden.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/gzip-compat.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/levels.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/long-distance-matcher.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multiple-files.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/row-match-finder.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/setup +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/stream-size.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/detectErrors.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/golden.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/empty-input.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/no-inputs.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/golden.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/setup +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/dictionaries/setup_once +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/no-progress.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/progress.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/setup +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/datagencli.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/decodecorpus.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/dict-files/zero-weight-dict +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/external_matchfinder.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/external_matchfinder.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/block_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/block_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/decompress_cross_format.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_loader.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/dictionary_stream_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fse_read_ncount.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_data_producer.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_data_producer.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/generate_sequences.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/huf_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/huf_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/raw_dictionary_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/regression_driver.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seekable_roundtrip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/sequence_compression_api.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_compress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/simple_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/stream_decompress.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/stream_round_trip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_frame_info.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_helpers.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/fuzz/zstd_helpers.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/http +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/block-128k.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/empty-block.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/truncated_huff_state.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/gzip-env.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/helin-segv.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/help-version.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/hufts-segv.gz +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/hufts.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/init.cfg +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/init.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/keep.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/list.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/memcpy-abuse.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/mixed.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/null-suffix-clobber.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/stdin.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/test-driver.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/trailing-nul.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/unpack-invalid.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/z-suffix.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zdiff.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-context.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-f.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/zgrep-signal.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/gzip/znew-k.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/invalidDictionaries.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/libzstd_builds.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/loremOut.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/loremOut.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/poolTests.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/rateLimiter.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/config.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/config.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/data.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/data.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/levels.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/method.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/result.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/result.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/results.csv +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/regression/test.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/roundTripCrash.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/seqgen.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/seqgen.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/test-license.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/test-variants.sh +0 -0
- /data/{vendor → ext/zstd_native}/zstd/tests/test-zstd-versions.py +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/BUCK +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/Makefile +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/README.md +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/example.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/example_original.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/fitblk.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/fitblk_original.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/minigzip.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/examples/zwrapbench.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzclose.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzcompatibility.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzguts.h +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzlib.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzread.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/gzwrite.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/zstd_zlibwrapper.c +0 -0
- /data/{vendor → ext/zstd_native}/zstd/zlibWrapper/zstd_zlibwrapper.h +0 -0
|
@@ -21,17 +21,13 @@
|
|
|
21
21
|
/*-*************************************
|
|
22
22
|
* Dependencies
|
|
23
23
|
***************************************/
|
|
24
|
-
/* qsort_r is an extension.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
# define _GNU_SOURCE
|
|
31
|
-
# endif
|
|
24
|
+
/* qsort_r is an extension. */
|
|
25
|
+
#if defined(__linux) || defined(__linux__) || defined(linux) || defined(__gnu_linux__) || \
|
|
26
|
+
defined(__CYGWIN__) || defined(__MSYS__)
|
|
27
|
+
#if !defined(_GNU_SOURCE) && !defined(__ANDROID__) /* NDK doesn't ship qsort_r(). */
|
|
28
|
+
#define _GNU_SOURCE
|
|
29
|
+
#endif
|
|
32
30
|
#endif
|
|
33
|
-
|
|
34
|
-
#define __STDC_WANT_LIB_EXT1__ 1 /* request C11 Annex K, which includes qsort_s() */
|
|
35
31
|
|
|
36
32
|
#include <stdio.h> /* fprintf */
|
|
37
33
|
#include <stdlib.h> /* malloc, free, qsort_r */
|
|
@@ -43,7 +39,6 @@
|
|
|
43
39
|
# define ZDICT_STATIC_LINKING_ONLY
|
|
44
40
|
#endif
|
|
45
41
|
|
|
46
|
-
#include "../common/debug.h" /* DEBUG_STATIC_ASSERT */
|
|
47
42
|
#include "../common/mem.h" /* read */
|
|
48
43
|
#include "../common/pool.h" /* POOL_ctx */
|
|
49
44
|
#include "../common/threading.h" /* ZSTD_pthread_mutex_t */
|
|
@@ -65,58 +60,40 @@
|
|
|
65
60
|
#define COVER_MAX_SAMPLES_SIZE (sizeof(size_t) == 8 ? ((unsigned)-1) : ((unsigned)1 GB))
|
|
66
61
|
#define COVER_DEFAULT_SPLITPOINT 1.0
|
|
67
62
|
|
|
68
|
-
/**
|
|
69
|
-
* Select the qsort() variant used by cover
|
|
70
|
-
*/
|
|
71
|
-
#define ZDICT_QSORT_MIN 0
|
|
72
|
-
#define ZDICT_QSORT_C90 ZDICT_QSORT_MIN
|
|
73
|
-
#define ZDICT_QSORT_GNU 1
|
|
74
|
-
#define ZDICT_QSORT_APPLE 2
|
|
75
|
-
#define ZDICT_QSORT_MSVC 3
|
|
76
|
-
#define ZDICT_QSORT_C11 ZDICT_QSORT_MAX
|
|
77
|
-
#define ZDICT_QSORT_MAX 4
|
|
78
|
-
|
|
79
|
-
#ifndef ZDICT_QSORT
|
|
80
|
-
# if defined(__APPLE__)
|
|
81
|
-
# define ZDICT_QSORT ZDICT_QSORT_APPLE /* uses qsort_r() with a different order for parameters */
|
|
82
|
-
# elif (defined(__linux__) && !defined(__ANDROID__)) || defined(__CYGWIN__) || defined(__MSYS__)
|
|
83
|
-
# define ZDICT_QSORT ZDICT_QSORT_GNU /* uses qsort_r() */
|
|
84
|
-
# elif defined(_WIN32) && defined(_MSC_VER)
|
|
85
|
-
# define ZDICT_QSORT ZDICT_QSORT_MSVC /* uses qsort_s() with a different order for parameters */
|
|
86
|
-
# elif defined(STDC_LIB_EXT1) && (STDC_LIB_EXT1 > 0) /* C11 Annex K */
|
|
87
|
-
# define ZDICT_QSORT ZDICT_QSORT_C11 /* uses qsort_s() */
|
|
88
|
-
# else
|
|
89
|
-
# define ZDICT_QSORT ZDICT_QSORT_C90 /* uses standard qsort() which is not re-entrant (requires global variable) */
|
|
90
|
-
# endif
|
|
91
|
-
#endif
|
|
92
|
-
|
|
93
|
-
|
|
94
63
|
/*-*************************************
|
|
95
64
|
* Console display
|
|
96
|
-
*
|
|
97
|
-
* Captures the `displayLevel` variable in the local scope.
|
|
98
65
|
***************************************/
|
|
66
|
+
#ifndef LOCALDISPLAYLEVEL
|
|
67
|
+
static int g_displayLevel = 0;
|
|
68
|
+
#endif
|
|
99
69
|
#undef DISPLAY
|
|
100
70
|
#define DISPLAY(...) \
|
|
101
71
|
{ \
|
|
102
72
|
fprintf(stderr, __VA_ARGS__); \
|
|
103
73
|
fflush(stderr); \
|
|
104
74
|
}
|
|
105
|
-
#undef
|
|
106
|
-
#define
|
|
75
|
+
#undef LOCALDISPLAYLEVEL
|
|
76
|
+
#define LOCALDISPLAYLEVEL(displayLevel, l, ...) \
|
|
107
77
|
if (displayLevel >= l) { \
|
|
108
78
|
DISPLAY(__VA_ARGS__); \
|
|
109
79
|
} /* 0 : no display; 1: errors; 2: default; 3: details; 4: debug */
|
|
80
|
+
#undef DISPLAYLEVEL
|
|
81
|
+
#define DISPLAYLEVEL(l, ...) LOCALDISPLAYLEVEL(g_displayLevel, l, __VA_ARGS__)
|
|
110
82
|
|
|
111
|
-
#
|
|
112
|
-
|
|
83
|
+
#ifndef LOCALDISPLAYUPDATE
|
|
84
|
+
static const clock_t g_refreshRate = CLOCKS_PER_SEC * 15 / 100;
|
|
85
|
+
static clock_t g_time = 0;
|
|
86
|
+
#endif
|
|
87
|
+
#undef LOCALDISPLAYUPDATE
|
|
88
|
+
#define LOCALDISPLAYUPDATE(displayLevel, l, ...) \
|
|
113
89
|
if (displayLevel >= l) { \
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
lastUpdateTime = clock(); \
|
|
90
|
+
if ((clock() - g_time > g_refreshRate) || (displayLevel >= 4)) { \
|
|
91
|
+
g_time = clock(); \
|
|
117
92
|
DISPLAY(__VA_ARGS__); \
|
|
118
93
|
} \
|
|
119
94
|
}
|
|
95
|
+
#undef DISPLAYUPDATE
|
|
96
|
+
#define DISPLAYUPDATE(l, ...) LOCALDISPLAYUPDATE(g_displayLevel, l, __VA_ARGS__)
|
|
120
97
|
|
|
121
98
|
/*-*************************************
|
|
122
99
|
* Hash table
|
|
@@ -211,7 +188,7 @@ static U32 *COVER_map_at(COVER_map_t *map, U32 key) {
|
|
|
211
188
|
*/
|
|
212
189
|
static void COVER_map_remove(COVER_map_t *map, U32 key) {
|
|
213
190
|
U32 i = COVER_map_index(map, key);
|
|
214
|
-
COVER_map_pair_t*
|
|
191
|
+
COVER_map_pair_t *del = &map->data[i];
|
|
215
192
|
U32 shift = 1;
|
|
216
193
|
if (del->value == MAP_EMPTY_VALUE) {
|
|
217
194
|
return;
|
|
@@ -262,11 +239,10 @@ typedef struct {
|
|
|
262
239
|
U32 *freqs;
|
|
263
240
|
U32 *dmerAt;
|
|
264
241
|
unsigned d;
|
|
265
|
-
int displayLevel;
|
|
266
242
|
} COVER_ctx_t;
|
|
267
243
|
|
|
268
|
-
#if
|
|
269
|
-
/*
|
|
244
|
+
#if !defined(_GNU_SOURCE) && !defined(__APPLE__) && !defined(_MSC_VER)
|
|
245
|
+
/* C90 only offers qsort() that needs a global context. */
|
|
270
246
|
static COVER_ctx_t *g_coverCtx = NULL;
|
|
271
247
|
#endif
|
|
272
248
|
|
|
@@ -312,9 +288,9 @@ static int COVER_cmp8(COVER_ctx_t *ctx, const void *lp, const void *rp) {
|
|
|
312
288
|
/**
|
|
313
289
|
* Same as COVER_cmp() except ties are broken by pointer value
|
|
314
290
|
*/
|
|
315
|
-
#if (
|
|
291
|
+
#if (defined(_WIN32) && defined(_MSC_VER)) || defined(__APPLE__)
|
|
316
292
|
static int WIN_CDECL COVER_strict_cmp(void* g_coverCtx, const void* lp, const void* rp) {
|
|
317
|
-
#elif (
|
|
293
|
+
#elif defined(_GNU_SOURCE)
|
|
318
294
|
static int COVER_strict_cmp(const void *lp, const void *rp, void *g_coverCtx) {
|
|
319
295
|
#else /* C90 fallback.*/
|
|
320
296
|
static int COVER_strict_cmp(const void *lp, const void *rp) {
|
|
@@ -328,9 +304,9 @@ static int COVER_strict_cmp(const void *lp, const void *rp) {
|
|
|
328
304
|
/**
|
|
329
305
|
* Faster version for d <= 8.
|
|
330
306
|
*/
|
|
331
|
-
#if (
|
|
307
|
+
#if (defined(_WIN32) && defined(_MSC_VER)) || defined(__APPLE__)
|
|
332
308
|
static int WIN_CDECL COVER_strict_cmp8(void* g_coverCtx, const void* lp, const void* rp) {
|
|
333
|
-
#elif (
|
|
309
|
+
#elif defined(_GNU_SOURCE)
|
|
334
310
|
static int COVER_strict_cmp8(const void *lp, const void *rp, void *g_coverCtx) {
|
|
335
311
|
#else /* C90 fallback.*/
|
|
336
312
|
static int COVER_strict_cmp8(const void *lp, const void *rp) {
|
|
@@ -347,28 +323,26 @@ static int COVER_strict_cmp8(const void *lp, const void *rp) {
|
|
|
347
323
|
* Hopefully when C11 become the norm, we will be able
|
|
348
324
|
* to clean it up.
|
|
349
325
|
*/
|
|
350
|
-
static void stableSort(COVER_ctx_t *ctx)
|
|
351
|
-
|
|
352
|
-
DEBUG_STATIC_ASSERT(ZDICT_QSORT_MIN <= ZDICT_QSORT && ZDICT_QSORT <= ZDICT_QSORT_MAX);
|
|
353
|
-
#if (ZDICT_QSORT == ZDICT_QSORT_APPLE)
|
|
326
|
+
static void stableSort(COVER_ctx_t *ctx) {
|
|
327
|
+
#if defined(__APPLE__)
|
|
354
328
|
qsort_r(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
355
329
|
ctx,
|
|
356
330
|
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
|
|
357
|
-
#elif (
|
|
331
|
+
#elif defined(_GNU_SOURCE)
|
|
358
332
|
qsort_r(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
359
333
|
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp),
|
|
360
334
|
ctx);
|
|
361
|
-
#elif (
|
|
362
|
-
qsort_s(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
363
|
-
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp),
|
|
364
|
-
ctx);
|
|
365
|
-
#elif (ZDICT_QSORT == ZDICT_QSORT_C11)
|
|
335
|
+
#elif defined(_WIN32) && defined(_MSC_VER)
|
|
366
336
|
qsort_s(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
367
337
|
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp),
|
|
368
338
|
ctx);
|
|
339
|
+
#elif defined(__OpenBSD__)
|
|
340
|
+
g_coverCtx = ctx;
|
|
341
|
+
mergesort(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
342
|
+
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
|
|
369
343
|
#else /* C90 fallback.*/
|
|
370
344
|
g_coverCtx = ctx;
|
|
371
|
-
/* TODO(cavalcanti): implement a reentrant qsort() when
|
|
345
|
+
/* TODO(cavalcanti): implement a reentrant qsort() when is not available. */
|
|
372
346
|
qsort(ctx->suffix, ctx->suffixSize, sizeof(U32),
|
|
373
347
|
(ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
|
|
374
348
|
#endif
|
|
@@ -627,7 +601,7 @@ static void COVER_ctx_destroy(COVER_ctx_t *ctx) {
|
|
|
627
601
|
*/
|
|
628
602
|
static size_t COVER_ctx_init(COVER_ctx_t *ctx, const void *samplesBuffer,
|
|
629
603
|
const size_t *samplesSizes, unsigned nbSamples,
|
|
630
|
-
unsigned d, double splitPoint
|
|
604
|
+
unsigned d, double splitPoint)
|
|
631
605
|
{
|
|
632
606
|
const BYTE *const samples = (const BYTE *)samplesBuffer;
|
|
633
607
|
const size_t totalSamplesSize = COVER_sum(samplesSizes, nbSamples);
|
|
@@ -636,7 +610,6 @@ static size_t COVER_ctx_init(COVER_ctx_t *ctx, const void *samplesBuffer,
|
|
|
636
610
|
const unsigned nbTestSamples = splitPoint < 1.0 ? nbSamples - nbTrainSamples : nbSamples;
|
|
637
611
|
const size_t trainingSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes, nbTrainSamples) : totalSamplesSize;
|
|
638
612
|
const size_t testSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes + nbTrainSamples, nbTestSamples) : totalSamplesSize;
|
|
639
|
-
ctx->displayLevel = displayLevel;
|
|
640
613
|
/* Checks */
|
|
641
614
|
if (totalSamplesSize < MAX(d, sizeof(U64)) ||
|
|
642
615
|
totalSamplesSize >= (size_t)COVER_MAX_SAMPLES_SIZE) {
|
|
@@ -721,14 +694,14 @@ void COVER_warnOnSmallCorpus(size_t maxDictSize, size_t nbDmers, int displayLeve
|
|
|
721
694
|
if (ratio >= 10) {
|
|
722
695
|
return;
|
|
723
696
|
}
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
697
|
+
LOCALDISPLAYLEVEL(displayLevel, 1,
|
|
698
|
+
"WARNING: The maximum dictionary size %u is too large "
|
|
699
|
+
"compared to the source size %u! "
|
|
700
|
+
"size(source)/size(dictionary) = %f, but it should be >= "
|
|
701
|
+
"10! This may lead to a subpar dictionary! We recommend "
|
|
702
|
+
"training on sources at least 10x, and preferably 100x "
|
|
703
|
+
"the size of the dictionary! \n", (U32)maxDictSize,
|
|
704
|
+
(U32)nbDmers, ratio);
|
|
732
705
|
}
|
|
733
706
|
|
|
734
707
|
COVER_epoch_info_t COVER_computeEpochs(U32 maxDictSize,
|
|
@@ -763,8 +736,6 @@ static size_t COVER_buildDictionary(const COVER_ctx_t *ctx, U32 *freqs,
|
|
|
763
736
|
const size_t maxZeroScoreRun = MAX(10, MIN(100, epochs.num >> 3));
|
|
764
737
|
size_t zeroScoreRun = 0;
|
|
765
738
|
size_t epoch;
|
|
766
|
-
clock_t lastUpdateTime = 0;
|
|
767
|
-
const int displayLevel = ctx->displayLevel;
|
|
768
739
|
DISPLAYLEVEL(2, "Breaking content into %u epochs of size %u\n",
|
|
769
740
|
(U32)epochs.num, (U32)epochs.size);
|
|
770
741
|
/* Loop through the epochs until there are no more segments or the dictionary
|
|
@@ -798,7 +769,6 @@ static size_t COVER_buildDictionary(const COVER_ctx_t *ctx, U32 *freqs,
|
|
|
798
769
|
tail -= segmentSize;
|
|
799
770
|
memcpy(dict + tail, ctx->samples + segment.begin, segmentSize);
|
|
800
771
|
DISPLAYUPDATE(
|
|
801
|
-
lastUpdateTime,
|
|
802
772
|
2, "\r%u%% ",
|
|
803
773
|
(unsigned)(((dictBufferCapacity - tail) * 100) / dictBufferCapacity));
|
|
804
774
|
}
|
|
@@ -814,8 +784,9 @@ ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_cover(
|
|
|
814
784
|
BYTE* const dict = (BYTE*)dictBuffer;
|
|
815
785
|
COVER_ctx_t ctx;
|
|
816
786
|
COVER_map_t activeDmers;
|
|
817
|
-
const int displayLevel = (int)parameters.zParams.notificationLevel;
|
|
818
787
|
parameters.splitPoint = 1.0;
|
|
788
|
+
/* Initialize global data */
|
|
789
|
+
g_displayLevel = (int)parameters.zParams.notificationLevel;
|
|
819
790
|
/* Checks */
|
|
820
791
|
if (!COVER_checkParameters(parameters, dictBufferCapacity)) {
|
|
821
792
|
DISPLAYLEVEL(1, "Cover parameters incorrect\n");
|
|
@@ -833,12 +804,12 @@ ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_cover(
|
|
|
833
804
|
/* Initialize context and activeDmers */
|
|
834
805
|
{
|
|
835
806
|
size_t const initVal = COVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples,
|
|
836
|
-
parameters.d, parameters.splitPoint
|
|
807
|
+
parameters.d, parameters.splitPoint);
|
|
837
808
|
if (ZSTD_isError(initVal)) {
|
|
838
809
|
return initVal;
|
|
839
810
|
}
|
|
840
811
|
}
|
|
841
|
-
COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.suffixSize,
|
|
812
|
+
COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.suffixSize, g_displayLevel);
|
|
842
813
|
if (!COVER_map_init(&activeDmers, parameters.k - parameters.d + 1)) {
|
|
843
814
|
DISPLAYLEVEL(1, "Failed to allocate dmer map: out of memory\n");
|
|
844
815
|
COVER_ctx_destroy(&ctx);
|
|
@@ -1161,7 +1132,6 @@ static void COVER_tryParameters(void *opaque)
|
|
|
1161
1132
|
BYTE* const dict = (BYTE*)malloc(dictBufferCapacity);
|
|
1162
1133
|
COVER_dictSelection_t selection = COVER_dictSelectionError(ERROR(GENERIC));
|
|
1163
1134
|
U32* const freqs = (U32*)malloc(ctx->suffixSize * sizeof(U32));
|
|
1164
|
-
const int displayLevel = ctx->displayLevel;
|
|
1165
1135
|
if (!COVER_map_init(&activeDmers, parameters.k - parameters.d + 1)) {
|
|
1166
1136
|
DISPLAYLEVEL(1, "Failed to allocate dmer map: out of memory\n");
|
|
1167
1137
|
goto _cleanup;
|
|
@@ -1213,22 +1183,21 @@ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
1213
1183
|
(1 + (kMaxD - kMinD) / 2) * (1 + (kMaxK - kMinK) / kStepSize);
|
|
1214
1184
|
const unsigned shrinkDict = 0;
|
|
1215
1185
|
/* Local variables */
|
|
1216
|
-
int displayLevel =
|
|
1186
|
+
const int displayLevel = parameters->zParams.notificationLevel;
|
|
1217
1187
|
unsigned iteration = 1;
|
|
1218
1188
|
unsigned d;
|
|
1219
1189
|
unsigned k;
|
|
1220
1190
|
COVER_best_t best;
|
|
1221
1191
|
POOL_ctx *pool = NULL;
|
|
1222
1192
|
int warned = 0;
|
|
1223
|
-
clock_t lastUpdateTime = 0;
|
|
1224
1193
|
|
|
1225
1194
|
/* Checks */
|
|
1226
1195
|
if (splitPoint <= 0 || splitPoint > 1) {
|
|
1227
|
-
|
|
1196
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect parameters\n");
|
|
1228
1197
|
return ERROR(parameter_outOfBound);
|
|
1229
1198
|
}
|
|
1230
1199
|
if (kMinK < kMaxD || kMaxK < kMinK) {
|
|
1231
|
-
|
|
1200
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect parameters\n");
|
|
1232
1201
|
return ERROR(parameter_outOfBound);
|
|
1233
1202
|
}
|
|
1234
1203
|
if (nbSamples == 0) {
|
|
@@ -1248,19 +1217,19 @@ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
1248
1217
|
}
|
|
1249
1218
|
/* Initialization */
|
|
1250
1219
|
COVER_best_init(&best);
|
|
1220
|
+
/* Turn down global display level to clean up display at level 2 and below */
|
|
1221
|
+
g_displayLevel = displayLevel == 0 ? 0 : displayLevel - 1;
|
|
1251
1222
|
/* Loop through d first because each new value needs a new context */
|
|
1252
|
-
|
|
1223
|
+
LOCALDISPLAYLEVEL(displayLevel, 2, "Trying %u different sets of parameters\n",
|
|
1253
1224
|
kIterations);
|
|
1254
1225
|
for (d = kMinD; d <= kMaxD; d += 2) {
|
|
1255
1226
|
/* Initialize the context for this value of d */
|
|
1256
1227
|
COVER_ctx_t ctx;
|
|
1257
|
-
|
|
1228
|
+
LOCALDISPLAYLEVEL(displayLevel, 3, "d=%u\n", d);
|
|
1258
1229
|
{
|
|
1259
|
-
|
|
1260
|
-
const int childDisplayLevel = (displayLevel == 0) ? 0 : displayLevel - 1;
|
|
1261
|
-
const size_t initVal = COVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples, d, splitPoint, childDisplayLevel);
|
|
1230
|
+
const size_t initVal = COVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples, d, splitPoint);
|
|
1262
1231
|
if (ZSTD_isError(initVal)) {
|
|
1263
|
-
|
|
1232
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to initialize context\n");
|
|
1264
1233
|
COVER_best_destroy(&best);
|
|
1265
1234
|
POOL_free(pool);
|
|
1266
1235
|
return initVal;
|
|
@@ -1275,9 +1244,9 @@ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
1275
1244
|
/* Prepare the arguments */
|
|
1276
1245
|
COVER_tryParameters_data_t *data = (COVER_tryParameters_data_t *)malloc(
|
|
1277
1246
|
sizeof(COVER_tryParameters_data_t));
|
|
1278
|
-
|
|
1247
|
+
LOCALDISPLAYLEVEL(displayLevel, 3, "k=%u\n", k);
|
|
1279
1248
|
if (!data) {
|
|
1280
|
-
|
|
1249
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to allocate parameters\n");
|
|
1281
1250
|
COVER_best_destroy(&best);
|
|
1282
1251
|
COVER_ctx_destroy(&ctx);
|
|
1283
1252
|
POOL_free(pool);
|
|
@@ -1292,7 +1261,7 @@ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
1292
1261
|
data->parameters.splitPoint = splitPoint;
|
|
1293
1262
|
data->parameters.steps = kSteps;
|
|
1294
1263
|
data->parameters.shrinkDict = shrinkDict;
|
|
1295
|
-
data->parameters.zParams.notificationLevel =
|
|
1264
|
+
data->parameters.zParams.notificationLevel = g_displayLevel;
|
|
1296
1265
|
/* Check the parameters */
|
|
1297
1266
|
if (!COVER_checkParameters(data->parameters, dictBufferCapacity)) {
|
|
1298
1267
|
DISPLAYLEVEL(1, "Cover parameters incorrect\n");
|
|
@@ -1307,14 +1276,14 @@ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
|
|
|
1307
1276
|
COVER_tryParameters(data);
|
|
1308
1277
|
}
|
|
1309
1278
|
/* Print status */
|
|
1310
|
-
|
|
1311
|
-
|
|
1279
|
+
LOCALDISPLAYUPDATE(displayLevel, 2, "\r%u%% ",
|
|
1280
|
+
(unsigned)((iteration * 100) / kIterations));
|
|
1312
1281
|
++iteration;
|
|
1313
1282
|
}
|
|
1314
1283
|
COVER_best_wait(&best);
|
|
1315
1284
|
COVER_ctx_destroy(&ctx);
|
|
1316
1285
|
}
|
|
1317
|
-
|
|
1286
|
+
LOCALDISPLAYLEVEL(displayLevel, 2, "\r%79s\r", "");
|
|
1318
1287
|
/* Fill the output buffer and parameters with output of the best parameters */
|
|
1319
1288
|
{
|
|
1320
1289
|
const size_t dictSize = best.dictSize;
|
|
Binary file
|
|
@@ -199,8 +199,8 @@ ss_isqrt(int x) {
|
|
|
199
199
|
int y, e;
|
|
200
200
|
|
|
201
201
|
if(x >= (SS_BLOCKSIZE * SS_BLOCKSIZE)) { return SS_BLOCKSIZE; }
|
|
202
|
-
e = (
|
|
203
|
-
((
|
|
202
|
+
e = (x & 0xffff0000) ?
|
|
203
|
+
((x & 0xff000000) ?
|
|
204
204
|
24 + lg_table[(x >> 24) & 0xff] :
|
|
205
205
|
16 + lg_table[(x >> 16) & 0xff]) :
|
|
206
206
|
((x & 0x0000ff00) ?
|
|
@@ -909,8 +909,8 @@ sssort(const unsigned char *T, const int *PA,
|
|
|
909
909
|
static INLINE
|
|
910
910
|
int
|
|
911
911
|
tr_ilg(int n) {
|
|
912
|
-
return (
|
|
913
|
-
((
|
|
912
|
+
return (n & 0xffff0000) ?
|
|
913
|
+
((n & 0xff000000) ?
|
|
914
914
|
24 + lg_table[(n >> 24) & 0xff] :
|
|
915
915
|
16 + lg_table[(n >> 16) & 0xff]) :
|
|
916
916
|
((n & 0x0000ff00) ?
|
|
Binary file
|
|
@@ -49,30 +49,38 @@
|
|
|
49
49
|
|
|
50
50
|
/*-*************************************
|
|
51
51
|
* Console display
|
|
52
|
-
*
|
|
53
|
-
* Captures the `displayLevel` variable in the local scope.
|
|
54
52
|
***************************************/
|
|
53
|
+
#ifndef LOCALDISPLAYLEVEL
|
|
54
|
+
static int g_displayLevel = 0;
|
|
55
|
+
#endif
|
|
55
56
|
#undef DISPLAY
|
|
56
57
|
#define DISPLAY(...) \
|
|
57
58
|
{ \
|
|
58
59
|
fprintf(stderr, __VA_ARGS__); \
|
|
59
60
|
fflush(stderr); \
|
|
60
61
|
}
|
|
61
|
-
#undef
|
|
62
|
-
#define
|
|
62
|
+
#undef LOCALDISPLAYLEVEL
|
|
63
|
+
#define LOCALDISPLAYLEVEL(displayLevel, l, ...) \
|
|
63
64
|
if (displayLevel >= l) { \
|
|
64
65
|
DISPLAY(__VA_ARGS__); \
|
|
65
66
|
} /* 0 : no display; 1: errors; 2: default; 3: details; 4: debug */
|
|
67
|
+
#undef DISPLAYLEVEL
|
|
68
|
+
#define DISPLAYLEVEL(l, ...) LOCALDISPLAYLEVEL(g_displayLevel, l, __VA_ARGS__)
|
|
66
69
|
|
|
67
|
-
#
|
|
68
|
-
|
|
70
|
+
#ifndef LOCALDISPLAYUPDATE
|
|
71
|
+
static const clock_t g_refreshRate = CLOCKS_PER_SEC * 15 / 100;
|
|
72
|
+
static clock_t g_time = 0;
|
|
73
|
+
#endif
|
|
74
|
+
#undef LOCALDISPLAYUPDATE
|
|
75
|
+
#define LOCALDISPLAYUPDATE(displayLevel, l, ...) \
|
|
69
76
|
if (displayLevel >= l) { \
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
lastUpdateTime = clock(); \
|
|
77
|
+
if ((clock() - g_time > g_refreshRate) || (displayLevel >= 4)) { \
|
|
78
|
+
g_time = clock(); \
|
|
73
79
|
DISPLAY(__VA_ARGS__); \
|
|
74
80
|
} \
|
|
75
81
|
}
|
|
82
|
+
#undef DISPLAYUPDATE
|
|
83
|
+
#define DISPLAYUPDATE(l, ...) LOCALDISPLAYUPDATE(g_displayLevel, l, __VA_ARGS__)
|
|
76
84
|
|
|
77
85
|
|
|
78
86
|
/*-*************************************
|
|
@@ -128,7 +136,6 @@ typedef struct {
|
|
|
128
136
|
unsigned d;
|
|
129
137
|
unsigned f;
|
|
130
138
|
FASTCOVER_accel_t accelParams;
|
|
131
|
-
int displayLevel;
|
|
132
139
|
} FASTCOVER_ctx_t;
|
|
133
140
|
|
|
134
141
|
|
|
@@ -307,8 +314,7 @@ FASTCOVER_ctx_init(FASTCOVER_ctx_t* ctx,
|
|
|
307
314
|
const void* samplesBuffer,
|
|
308
315
|
const size_t* samplesSizes, unsigned nbSamples,
|
|
309
316
|
unsigned d, double splitPoint, unsigned f,
|
|
310
|
-
FASTCOVER_accel_t accelParams
|
|
311
|
-
int displayLevel)
|
|
317
|
+
FASTCOVER_accel_t accelParams)
|
|
312
318
|
{
|
|
313
319
|
const BYTE* const samples = (const BYTE*)samplesBuffer;
|
|
314
320
|
const size_t totalSamplesSize = COVER_sum(samplesSizes, nbSamples);
|
|
@@ -317,7 +323,6 @@ FASTCOVER_ctx_init(FASTCOVER_ctx_t* ctx,
|
|
|
317
323
|
const unsigned nbTestSamples = splitPoint < 1.0 ? nbSamples - nbTrainSamples : nbSamples;
|
|
318
324
|
const size_t trainingSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes, nbTrainSamples) : totalSamplesSize;
|
|
319
325
|
const size_t testSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes + nbTrainSamples, nbTestSamples) : totalSamplesSize;
|
|
320
|
-
ctx->displayLevel = displayLevel;
|
|
321
326
|
|
|
322
327
|
/* Checks */
|
|
323
328
|
if (totalSamplesSize < MAX(d, sizeof(U64)) ||
|
|
@@ -404,9 +409,7 @@ FASTCOVER_buildDictionary(const FASTCOVER_ctx_t* ctx,
|
|
|
404
409
|
const COVER_epoch_info_t epochs = COVER_computeEpochs(
|
|
405
410
|
(U32)dictBufferCapacity, (U32)ctx->nbDmers, parameters.k, 1);
|
|
406
411
|
const size_t maxZeroScoreRun = 10;
|
|
407
|
-
const int displayLevel = ctx->displayLevel;
|
|
408
412
|
size_t zeroScoreRun = 0;
|
|
409
|
-
clock_t lastUpdateTime = 0;
|
|
410
413
|
size_t epoch;
|
|
411
414
|
DISPLAYLEVEL(2, "Breaking content into %u epochs of size %u\n",
|
|
412
415
|
(U32)epochs.num, (U32)epochs.size);
|
|
@@ -444,7 +447,6 @@ FASTCOVER_buildDictionary(const FASTCOVER_ctx_t* ctx,
|
|
|
444
447
|
tail -= segmentSize;
|
|
445
448
|
memcpy(dict + tail, ctx->samples + segment.begin, segmentSize);
|
|
446
449
|
DISPLAYUPDATE(
|
|
447
|
-
lastUpdateTime,
|
|
448
450
|
2, "\r%u%% ",
|
|
449
451
|
(unsigned)(((dictBufferCapacity - tail) * 100) / dictBufferCapacity));
|
|
450
452
|
}
|
|
@@ -482,7 +484,6 @@ static void FASTCOVER_tryParameters(void* opaque)
|
|
|
482
484
|
BYTE *const dict = (BYTE*)malloc(dictBufferCapacity);
|
|
483
485
|
COVER_dictSelection_t selection = COVER_dictSelectionError(ERROR(GENERIC));
|
|
484
486
|
U32* freqs = (U32*) malloc(((U64)1 << ctx->f) * sizeof(U32));
|
|
485
|
-
const int displayLevel = ctx->displayLevel;
|
|
486
487
|
if (!segmentFreqs || !dict || !freqs) {
|
|
487
488
|
DISPLAYLEVEL(1, "Failed to allocate buffers: out of memory\n");
|
|
488
489
|
goto _cleanup;
|
|
@@ -554,7 +555,8 @@ ZDICT_trainFromBuffer_fastCover(void* dictBuffer, size_t dictBufferCapacity,
|
|
|
554
555
|
FASTCOVER_ctx_t ctx;
|
|
555
556
|
ZDICT_cover_params_t coverParams;
|
|
556
557
|
FASTCOVER_accel_t accelParams;
|
|
557
|
-
|
|
558
|
+
/* Initialize global data */
|
|
559
|
+
g_displayLevel = (int)parameters.zParams.notificationLevel;
|
|
558
560
|
/* Assign splitPoint and f if not provided */
|
|
559
561
|
parameters.splitPoint = 1.0;
|
|
560
562
|
parameters.f = parameters.f == 0 ? DEFAULT_F : parameters.f;
|
|
@@ -583,13 +585,13 @@ ZDICT_trainFromBuffer_fastCover(void* dictBuffer, size_t dictBufferCapacity,
|
|
|
583
585
|
{
|
|
584
586
|
size_t const initVal = FASTCOVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples,
|
|
585
587
|
coverParams.d, parameters.splitPoint, parameters.f,
|
|
586
|
-
accelParams
|
|
588
|
+
accelParams);
|
|
587
589
|
if (ZSTD_isError(initVal)) {
|
|
588
590
|
DISPLAYLEVEL(1, "Failed to initialize context\n");
|
|
589
591
|
return initVal;
|
|
590
592
|
}
|
|
591
593
|
}
|
|
592
|
-
COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.nbDmers,
|
|
594
|
+
COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.nbDmers, g_displayLevel);
|
|
593
595
|
/* Build the dictionary */
|
|
594
596
|
DISPLAYLEVEL(2, "Building dictionary\n");
|
|
595
597
|
{
|
|
@@ -644,26 +646,25 @@ ZDICT_optimizeTrainFromBuffer_fastCover(
|
|
|
644
646
|
COVER_best_t best;
|
|
645
647
|
POOL_ctx *pool = NULL;
|
|
646
648
|
int warned = 0;
|
|
647
|
-
clock_t lastUpdateTime = 0;
|
|
648
649
|
/* Checks */
|
|
649
650
|
if (splitPoint <= 0 || splitPoint > 1) {
|
|
650
|
-
|
|
651
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect splitPoint\n");
|
|
651
652
|
return ERROR(parameter_outOfBound);
|
|
652
653
|
}
|
|
653
654
|
if (accel == 0 || accel > FASTCOVER_MAX_ACCEL) {
|
|
654
|
-
|
|
655
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect accel\n");
|
|
655
656
|
return ERROR(parameter_outOfBound);
|
|
656
657
|
}
|
|
657
658
|
if (kMinK < kMaxD || kMaxK < kMinK) {
|
|
658
|
-
|
|
659
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect k\n");
|
|
659
660
|
return ERROR(parameter_outOfBound);
|
|
660
661
|
}
|
|
661
662
|
if (nbSamples == 0) {
|
|
662
|
-
|
|
663
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "FASTCOVER must have at least one input file\n");
|
|
663
664
|
return ERROR(srcSize_wrong);
|
|
664
665
|
}
|
|
665
666
|
if (dictBufferCapacity < ZDICT_DICTSIZE_MIN) {
|
|
666
|
-
|
|
667
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "dictBufferCapacity must be at least %u\n",
|
|
667
668
|
ZDICT_DICTSIZE_MIN);
|
|
668
669
|
return ERROR(dstSize_tooSmall);
|
|
669
670
|
}
|
|
@@ -678,18 +679,19 @@ ZDICT_optimizeTrainFromBuffer_fastCover(
|
|
|
678
679
|
memset(&coverParams, 0 , sizeof(coverParams));
|
|
679
680
|
FASTCOVER_convertToCoverParams(*parameters, &coverParams);
|
|
680
681
|
accelParams = FASTCOVER_defaultAccelParameters[accel];
|
|
682
|
+
/* Turn down global display level to clean up display at level 2 and below */
|
|
683
|
+
g_displayLevel = displayLevel == 0 ? 0 : displayLevel - 1;
|
|
681
684
|
/* Loop through d first because each new value needs a new context */
|
|
682
|
-
|
|
685
|
+
LOCALDISPLAYLEVEL(displayLevel, 2, "Trying %u different sets of parameters\n",
|
|
686
|
+
kIterations);
|
|
683
687
|
for (d = kMinD; d <= kMaxD; d += 2) {
|
|
684
688
|
/* Initialize the context for this value of d */
|
|
685
689
|
FASTCOVER_ctx_t ctx;
|
|
686
|
-
|
|
690
|
+
LOCALDISPLAYLEVEL(displayLevel, 3, "d=%u\n", d);
|
|
687
691
|
{
|
|
688
|
-
|
|
689
|
-
const int childDisplayLevel = displayLevel == 0 ? 0 : displayLevel - 1;
|
|
690
|
-
size_t const initVal = FASTCOVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples, d, splitPoint, f, accelParams, childDisplayLevel);
|
|
692
|
+
size_t const initVal = FASTCOVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples, d, splitPoint, f, accelParams);
|
|
691
693
|
if (ZSTD_isError(initVal)) {
|
|
692
|
-
|
|
694
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to initialize context\n");
|
|
693
695
|
COVER_best_destroy(&best);
|
|
694
696
|
POOL_free(pool);
|
|
695
697
|
return initVal;
|
|
@@ -704,9 +706,9 @@ ZDICT_optimizeTrainFromBuffer_fastCover(
|
|
|
704
706
|
/* Prepare the arguments */
|
|
705
707
|
FASTCOVER_tryParameters_data_t *data = (FASTCOVER_tryParameters_data_t *)malloc(
|
|
706
708
|
sizeof(FASTCOVER_tryParameters_data_t));
|
|
707
|
-
|
|
709
|
+
LOCALDISPLAYLEVEL(displayLevel, 3, "k=%u\n", k);
|
|
708
710
|
if (!data) {
|
|
709
|
-
|
|
711
|
+
LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to allocate parameters\n");
|
|
710
712
|
COVER_best_destroy(&best);
|
|
711
713
|
FASTCOVER_ctx_destroy(&ctx);
|
|
712
714
|
POOL_free(pool);
|
|
@@ -721,7 +723,7 @@ ZDICT_optimizeTrainFromBuffer_fastCover(
|
|
|
721
723
|
data->parameters.splitPoint = splitPoint;
|
|
722
724
|
data->parameters.steps = kSteps;
|
|
723
725
|
data->parameters.shrinkDict = shrinkDict;
|
|
724
|
-
data->parameters.zParams.notificationLevel = (unsigned)
|
|
726
|
+
data->parameters.zParams.notificationLevel = (unsigned)g_displayLevel;
|
|
725
727
|
/* Check the parameters */
|
|
726
728
|
if (!FASTCOVER_checkParameters(data->parameters, dictBufferCapacity,
|
|
727
729
|
data->ctx->f, accel)) {
|
|
@@ -737,15 +739,14 @@ ZDICT_optimizeTrainFromBuffer_fastCover(
|
|
|
737
739
|
FASTCOVER_tryParameters(data);
|
|
738
740
|
}
|
|
739
741
|
/* Print status */
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
(unsigned)((iteration * 100) / kIterations));
|
|
742
|
+
LOCALDISPLAYUPDATE(displayLevel, 2, "\r%u%% ",
|
|
743
|
+
(unsigned)((iteration * 100) / kIterations));
|
|
743
744
|
++iteration;
|
|
744
745
|
}
|
|
745
746
|
COVER_best_wait(&best);
|
|
746
747
|
FASTCOVER_ctx_destroy(&ctx);
|
|
747
748
|
}
|
|
748
|
-
|
|
749
|
+
LOCALDISPLAYLEVEL(displayLevel, 2, "\r%79s\r", "");
|
|
749
750
|
/* Fill the output buffer and parameters with output of the best parameters */
|
|
750
751
|
{
|
|
751
752
|
const size_t dictSize = best.dictSize;
|
|
Binary file
|