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
Timofey Solomko
19eca839d9
Add LZ4-related references to README
2021-10-17 15:45:06 +03:00
Timofey Solomko
b64c5b81e9
[LZ4] Fix more potential issues with indices when resetting dictionary in compression
2021-10-16 21:59:18 +03:00
Timofey Solomko
088ec34ca6
[Tests] Add a test for 7-Zip with LZ4
2021-10-16 21:58:02 +03:00
Timofey Solomko
6cdfc14f54
[7-Zip] Add support for LZ4
2021-10-16 21:57:46 +03:00
Timofey Solomko
c44901547c
Add a subspec for LZ4
2021-10-16 21:57:26 +03:00
Timofey Solomko
68f1428355
[swcomp] Add various compression options for LZ4
...
Also add a check that dict id is not present without a dictionary.
2021-10-16 21:33:03 +03:00
Timofey Solomko
212e1808e7
[swcomp] Add benchmark command for LZ4 compression with dependent blocks
2021-10-16 20:31:32 +03:00
Timofey Solomko
2a1b250061
[Tests] Print compression ratio only after successful redecompression
2021-10-16 20:25:17 +03:00
Timofey Solomko
2491d77bfc
[LZ4] Fix incorrect usage of dictionaries in compression
...
Previously, the dictionary was effectively ignored, since it was never used to populate the table of matches. Additionally, we fixed another issue with dictionaries, which was hidden, because we never really used them.
2021-10-16 20:21:59 +03:00
Timofey Solomko
abed04acf9
[Tests] Add dictionary tests for LZ4 compression
2021-10-16 19:32:24 +03:00
Timofey Solomko
9915e8a1d7
[LZ4] Account for the min match length when checking for end-of-block condition
2021-10-16 19:31:58 +03:00
Timofey Solomko
dac1814c8d
[LZ4] Simplify last sequence creation
2021-10-16 16:26:41 +03:00
Timofey Solomko
20544178a0
[LZ4] Fix potential index issues when setting dictionary for block decoding
2021-10-16 16:25:58 +03:00
Timofey Solomko
be899bc355
[LZ4] Fix incorrect block checksums in case of incompressible blocks
2021-10-16 16:25:15 +03:00
Timofey Solomko
254fe0c848
[LZ4] Strictly check that the block is compressible
2021-10-16 16:24:36 +03:00
Timofey Solomko
2c36a886be
[Tests] Add a randomized test for LZ4 compression options
2021-10-16 15:50:42 +03:00
Timofey Solomko
f15270fc98
[Tests] Add a test for LZ4 decompression with small sized dictionary
2021-10-16 15:50:24 +03:00
Timofey Solomko
1a49f0543d
[swcomp] Add benchmark command for LZ4 compression with independent blocks
...
LZ4 compression with block dependency will be added in the future (after SWCompression is fixed with regards to dependent blocks).
2021-10-15 22:44:55 +03:00
Timofey Solomko
377344197b
[swcomp] Implement --compress option for the lz4 command
2021-10-15 22:40:55 +03:00
Timofey Solomko
9176d2fa35
[LZ4] Implement block encoding
2021-10-15 22:28:10 +03:00
Timofey Solomko
f6c23987c4
[LZ4] Fix incorrect truncation checks in block decoding
2021-10-15 20:39:28 +03:00
Timofey Solomko
cac1d635b9
[BZip2] Change BurrowsWheeler and SuffixArray from classes to enums
2021-10-15 20:14:21 +03:00
Timofey Solomko
6c063cd522
[LZ4] Fix compilation issues on Swift 5.1-5.3
2021-10-02 18:23:26 +03:00
Timofey Solomko
134ba8fe9d
[Tests] Add a number of basic tests for LZ4 compression
2021-10-02 15:24:39 +03:00
Timofey Solomko
d5d0abeff2
[LZ4] Implement a no-compression version of LZ4 compression
...
Basically, the frame format with all features has been implemented.
2021-10-02 15:24:11 +03:00
Timofey Solomko
68e46728af
[LZ4] Slightly optimize xxHash32
2021-10-02 13:49:29 +03:00
Timofey Solomko
932153541d
Add xcode test plan
2021-10-02 12:55:26 +03:00
Timofey Solomko
fc0dfdf43a
[LZ4] Add an empty implementation for compression
2021-10-02 11:22:45 +03:00
Timofey Solomko
f0f4e133d8
Upgrade xcode project compatiblity version to 11.0
...
We can do this since we are no longer going to support Swift 5.0.
2021-10-02 11:22:16 +03:00
Timofey Solomko
7afec17967
Update README instructions about tests
2021-10-02 11:17:27 +03:00
Timofey Solomko
c0574c96e3
CI: reenable macos jobs
...
Let's cross our fingers, that the caching works...
2021-10-01 18:40:41 +03:00
Timofey Solomko
149190eda5
CI: temporarily disable all but one macos jobs
2021-10-01 18:37:58 +03:00
Timofey Solomko
ddbbab37e1
CI: rework macos config to cache test files froms git lfs
...
This should help with git lfs github quota issues.
2021-10-01 18:37:30 +03:00
Timofey Solomko
54863ccd87
utils.py: replace prepare-workspace command with download-bbd-macos, rename install-macos to install-git-lfs-macos
2021-10-01 18:36:56 +03:00
Timofey Solomko
39999257b2
CI changes: remove swift 5.0
2021-10-01 14:42:36 +03:00
Timofey Solomko
17bd85ba5d
[Tests] Add a test for multiple concatenated LZ4 frames
2021-10-01 14:41:16 +03:00
Timofey Solomko
ba15f96312
[LZ4] Implement decompression of multiple concatenated frames
2021-10-01 14:41:16 +03:00
Timofey Solomko
86c31f7462
[swcomp] Add options to lz4 command to support dictionary decompression
2021-09-27 14:29:30 +03:00
Timofey Solomko
8e31f60b10
[LZ4] Check that dictionary is supplied if dictID is present in the frame
2021-09-27 10:46:27 +03:00
Timofey Solomko
2603ca98ec
[Tests] Add a test for LZ4 which has dictID
2021-09-27 10:45:54 +03:00
Timofey Solomko
4df0d5feb2
[LZ4] Change dictionaryID type to UInt32?
...
This allows us to verify the value on type level, instead of by using the precondition. It is also okay to use UInt32 instead of Int ("currency type"), since this API is supposed to be used by advanced users only.
2021-09-27 10:43:26 +03:00
Timofey Solomko
725a3b58bb
[Tests] Add a test for LZ4 dictionary decompression
2021-09-26 19:52:01 +03:00
Timofey Solomko
4bc7d37d7d
[LZ4] Implement dictionary decompression
2021-09-26 19:49:35 +03:00
Timofey Solomko
d8f7b8a8f5
[swcomp] Add benchmark command for LZ4 decompression
2021-09-26 16:06:09 +03:00
Timofey Solomko
8b0715b5a2
[swcomp] Add lz4 command
2021-09-26 16:03:56 +03:00
Timofey Solomko
8f1a1e0517
[Tests] Add tests for LZ4 frames with various block sizes
2021-09-26 15:55:36 +03:00