2252 Commits
Author SHA1 Message Date
Timofey Solomko 0ff80e30b6 Merge branch 'release-4.7.0' 4.7.0 2021-11-04 12:12:34 +03:00
Timofey Solomko 1e8ad0e2a5 Prepare for 4.7.0 release 2021-11-04 12:12:10 +03:00
Timofey Solomko 6971656b63 Two minor changes: make Checksums a caseless enum, fix a grammar mistake in a code comment 2021-11-04 12:10:39 +03:00
Timofey Solomko df9c3fc0e2 Update README for 4.7.0
This includes adding LZ4 to the table of supported algorithms, mentioning LZ4 in the cocoapods section, and changing mentions of 4.6.0 to 4.7.0.
2021-11-03 20:45:10 +03:00
Timofey Solomko fbff12c435 [docs] Add new types to jazzy categories 2021-11-03 20:44:26 +03:00
Timofey Solomko 10905dc588 [docs] Minor fixes to LZ4 documentation 2021-11-03 20:41:48 +03:00
Timofey Solomko 9f7efc9276 [docs] Add documentation for LZ4 compression functions 2021-11-03 20:31:08 +03:00
Timofey Solomko d73fc791b1 [docs] Add documentation for DataError 2021-11-03 20:19:41 +03:00
Timofey Solomko e3ffb812b9 [docs] Add documentation for LZ4 decompression functions 2021-11-03 20:13:42 +03:00
Timofey Solomko 498d679062 Update Results.md for 4.7.0 2021-11-01 23:49:31 +03:00
Timofey Solomko 5d63df36cf Prepare for the test release of 4.7.0 4.7.0-test 2021-10-30 13:06:45 +03:00
Timofey Solomko 87a94f17a8 Upgrade xcode project 2021-10-30 13:03:16 +03:00
Timofey Solomko a3332364a7 [Tests] Add many tests that check that checksum errors are thrown correctly 2021-10-29 19:26:33 +03:00
Timofey Solomko 20e8db701f [Tests] Add a test for correct usage of CP437 in ZIP 2021-10-28 19:54:25 +03:00
Timofey Solomko 4fa84e0546 [Tests] Add small string tests for Deflate 2021-10-27 07:53:30 +03:00
Timofey Solomko 06adf522d3 CI: update to swift 5.5.1 2021-10-27 07:53:09 +03:00
Timofey Solomko 088d63ac03 [swcomp] Add --use-format option to tar command
This option allows to specify which TAR format to use when creating a container.
2021-10-25 20:01:00 +03:00
Timofey Solomko 01c106228b [swcomp] Replace ConvertibleFromString extension for BZip2.BlockSize with an empty conformance
SwiftCLI provides a default implementation for enums with Int raw values.
2021-10-25 20:00:22 +03:00
Timofey Solomko 68fd0e8f49 [swcomp] Compress after creating a tar container 2021-10-24 19:07:56 +03:00
Timofey Solomko 4443fd1339 [Tests] Add a test for correct match index behavior in Deflate compression 2021-10-24 15:05:04 +03:00
Timofey Solomko a47431f86d [Deflate] Don't use match index as a cycling index
This was the cause of incorrect results in some rare cases.
2021-10-24 15:03:53 +03:00
Timofey Solomko dc93436269 [swcomp] Update to use SwiftCLI's property wrappers
This should fix all deprecation warnings.
2021-10-24 12:47:22 +03:00
Timofey Solomko f7a3d289cc Drop support for Swift 5.0 2021-10-23 21:51:28 +03:00
Timofey Solomko 29eb6f346c [swcomp] Upgrade SwiftCLI to 6.0 2021-10-23 21:45:22 +03:00
Timofey Solomko deeb02fb5c [LZ4] Remove remaining TODOs 2021-10-23 21:14:44 +03:00
Timofey Solomko 04aa3bd034 [LZ4] Add comments about implementation 2021-10-23 21:04:21 +03:00
Timofey Solomko 6e920a4ecc [LZ4] Fix compilation issues with swift pre-5.5 2021-10-22 23:56:54 +03:00
Timofey Solomko f64c5264f8 [LZ4] Remove extra TODOs 2021-10-22 22:43:50 +03:00
Timofey Solomko 7a43328b8e [BZip2] Rename crc32 function for bzip2 2021-10-22 21:55:33 +03:00
Timofey Solomko 33fd3001a0 [LZ4] Don't use optionals for storing dictionary in encoder 2021-10-22 21:51:58 +03:00
Timofey Solomko 8398f25b2b [swcomp] Don't accept block sizes larger than 4MB in LZ4 compression 2021-10-22 21:01:13 +03:00
Timofey Solomko c1496428d5 [LZ4] Don't accept block sizes larger than 4MB in compression
This matches the behavior of the reference implementation and allows to remove a couple of additional checks.
2021-10-22 20:53:56 +03:00
Timofey Solomko c2465fcd75 [LZ4] Verify in decoder that block size is not larger than max block size 2021-10-22 20:52:34 +03:00
Timofey Solomko 6d6a32b7ae [LZ4] Produce output as an arrary when decoding blocks
This change significantly improves performance.
2021-10-22 19:40:17 +03:00
Timofey Solomko e860b9d4a9 [LZ4] Slightly optimize match calculation in compression 2021-10-22 19:27:23 +03:00
Timofey Solomko 100002cf8f [LZ4] Simplify removing dictionary from the output in decompression 2021-10-21 22:31:34 +03:00
Timofey Solomko 9e7faebf90 [LZ4] Don't use crc32 for matches identification 2021-10-21 22:31:00 +03:00
Timofey Solomko de7864c6db [Deflate] Replace crc32 of a match with bytes contacenated into UInt32
Previously, we were using crc32 to identify matches when doing compression. This not only was an overkill computationally (the new version has boosted the compression speed), but it could also lead to incorrect results in some rare cases (potentially, only theoretical situtations) due to collisions of crc32 algorithm.
2021-10-21 22:30:23 +03:00
Timofey Solomko aa9377b5f5 [Tests] Print compression ratios only with 3 figures after the dot 2021-10-20 15:02:52 +03:00
Timofey Solomko 7877ad9e35 [Tests] Add lz4 test for even smaller input 2021-10-20 15:02:26 +03:00
Timofey Solomko c1315b5727 [swcomp] Rename the --no-content-checksums option of lz4 command to --no-content-checksum
There can be at most one content checksum in a frame.
2021-10-20 15:01:56 +03:00
Timofey Solomko acb041cbf4 [LZ4] Fix incorrect encoding of small inputs 2021-10-20 15:00:57 +03:00
Timofey Solomko bb9574cefd [LZ4] Fix incorrect checks for the location of the last match 2021-10-20 14:48:43 +03:00
Timofey Solomko 1324744785 [swcomp] Print compression ratio in appropriate benchmarks 2021-10-18 21:38:31 +03:00
Timofey Solomko da8f4f7f5c [Deflate] Rename some variables in lengthEncode 2021-10-18 18:35:06 +03:00
Timofey Solomko 268aaaa356 [Deflate] Use start/endIndex instead of count property of data input 2021-10-18 18:31:40 +03:00
Timofey Solomko 113972bcce [Deflate] Reduce nesting in lengthEncode
This should be a purely refactoring change with no effect on performance or functionality.
2021-10-18 18:30:15 +03:00
Timofey Solomko f2be0db44f [Tests] Add a small test for fixed incorrect matching in LZ4 compression 2021-10-17 15:45:11 +03:00
Timofey Solomko 3a54c54ecc [LZ4] Fix incorrect matching
We erroneously used match index as a cyclical index which was producing non well-formed/incorrect results in some rare cases.
2021-10-17 15:45:11 +03:00
Timofey Solomko 743b83e4cb [LZ4] Add default values for dictionary and blockSize arguments of LZ4.compress 2021-10-17 15:45:11 +03:00