Timofey Solomko
ea9aaccfb9
Update copyright year to 2026
2026-01-31 15:30:24 +08:00
Timofey Solomko
ed66991cbd
Update copyright year to 2024
2024-01-11 16:57:04 +03:00
Timofey Solomko
43132fc39d
Update copyright year to 2023
2023-02-07 15:31:45 +02:00
Timofey Solomko
b1fe47fdbb
[BZip2] Fix incorrect BWT pointer in compression
2022-12-15 23:25:21 +03:00
Timofey Solomko
0c5cd4a9b5
[BZip2] Rework a part of BZip2.decompress for clarity
2022-01-15 20:21:26 +03:00
Timofey Solomko
79295db930
Update copyright year to 2022
2022-01-08 15:02:59 +03:00
Timofey Solomko
7a43328b8e
[BZip2] Rename crc32 function for bzip2
2021-10-22 21:55:33 +03:00
Timofey Solomko
cac1d635b9
[BZip2] Change BurrowsWheeler and SuffixArray from classes to enums
2021-10-15 20:14:21 +03:00
Timofey Solomko
73dec6720e
[BZip2] Combine MTF and RLE steps in compression
2021-05-22 23:35:03 +03:00
Timofey Solomko
b5e98b66cd
[BZip2] Explain zero RLE in the comments
...
(cherry picked from commit 1f7a5352a7 )
2021-05-13 23:51:52 +03:00
Timofey Solomko
f808a8b9b3
[BZip2] Fix a crash on non-standard run length greater than 255
2021-05-01 13:45:02 +03:00
Timofey Solomko
1fca632c2d
Update copyright year to 2021
2021-03-26 13:50:20 +02:00
Timofey Solomko
00af5a9319
[BZip2][GZip][LZMA][XZ][Zlib] Fix crashes when opening very small files
...
Instead errors are now thrown.
2020-10-15 23:35:34 +03:00
Timofey Solomko
ab75e0944f
[BZip2] Fix compilation warning
2020-10-14 23:45:46 +03:00
Timofey Solomko
a844b34436
Update copyright year to 2020
2020-03-20 09:43:42 +03:00
Timofey Solomko
94ab3ba1f5
Replace usage of deprecated index(...) functions with the new ones
2020-03-20 09:41:52 +03:00
Timofey Solomko
fafb9cde87
Move public identifier from extension to enum itself (BZip2.BlockSize)
2020-03-20 09:41:38 +03:00
Timofey Solomko
f6949a8f66
Replace the usage of the deprecated Data(bytes:) initializer
2020-03-20 09:40:48 +03:00
Timofey Solomko
c93a783d21
[docs] Fix grammar issues with regards to a/the/null articles, while/during, and extra commas
2019-03-13 12:27:08 +03:00
Timofey Solomko
04f64bcb72
Rename Encoding/DecodingHuffmanTree to just Encoding/DecodingTree
2019-03-12 22:31:35 +03:00
Timofey Solomko
142fd44dd2
Remove old CodeLength initializer from Encoding(Huffman)Tree
2019-03-12 22:31:24 +03:00
Timofey Solomko
250c9fbd4c
Remove old CodeLength initializer from Decoding(Huffman)Tree
2019-03-12 22:31:13 +03:00
Timofey Solomko
7f25dbf6e7
Rename HuffmanLength to CodeLength
2019-03-12 22:28:01 +03:00
Timofey Solomko
c4c4063923
[docs] Small improvements to various BZip2 documentation
2019-01-04 14:59:13 +03:00
Timofey Solomko
ce47019097
Update copyright year to 2019
2019-01-02 23:15:43 +03:00
Timofey Solomko
1c5ca3bbe5
Swiflinted before 4.4.0
2018-08-07 21:18:39 +03:00
Timofey Solomko
d187bd2937
Use new uint64(fromBits) function
2018-04-10 22:37:20 +03:00
Timofey Solomko
1d838c1d7e
Slightly simplify and improve certain code
2018-04-07 13:38:00 +03:00
Timofey Solomko
cb9d181754
[BZip2] Don't create new Huffman trees if maximum amount of trees possible is already reached
2018-03-03 20:30:49 +03:00
Timofey Solomko
4888f37f0f
Revert addition of BBD-related public APIs to Zlib, LZMA and BZip2
2018-03-02 23:32:39 +03:00
Timofey Solomko
ba037786b4
[LZMA] Add public decompress(from:) function which uses BBD's ByteReader as its argument
2018-02-23 12:58:24 +03:00
Timofey Solomko
8b4ff5c040
[BZip2] Make decompress(_ bitReader:) function public and add "from" label to its argument
2018-02-23 12:58:24 +03:00
Timofey Solomko
e710e37233
[BZip2] Add comments about smaller block size for compression
2018-01-29 19:55:42 +03:00
Timofey Solomko
7d99ab176a
[BZip2] Use not-reduced block size for decompression
2018-01-17 12:01:00 +03:00
Timofey Solomko
ca41cc3b5f
[BZip2] Additionally reduce block sizes by 1.25
...
This is required, because, apparently, original bzip2 implementation doesn't account for the fact that the initial RLE can cause expansion of the data.
2018-01-16 22:28:35 +03:00
Timofey Solomko
d8a47efd44
[BZip2] Slightly optimise initial RLE in compress
2018-01-14 23:07:09 +03:00
Timofey Solomko
02fb0c2886
[BZip2] Fix incorrect block sizes in compression
...
I previously thought that 1KB = 1024 bytes, but apparently in this case it is just 1000 bytes.
2018-01-14 18:17:44 +03:00
Timofey Solomko
81a6cba5ff
Swiftlinted with two new rules
2018-01-14 11:12:27 +03:00
Timofey Solomko
44f33bf02a
Make bit reader and writer functions' parameters concrete classes
...
Previously, it was almost always protocols, which in some cases didn't make sense.
2018-01-07 22:27:36 +03:00
Timofey Solomko
bb45735132
Merge BurrowsWheeler.reverse and transofrm functions
...
The latter was used only for reverse transformation despite its name.
2018-01-07 20:09:34 +03:00
Timofey Solomko
b9440aac9f
Rework inverse BWT by removing sorting stage
...
This change has a significant impact on performance in a good way.
2018-01-07 15:16:18 +03:00
Timofey Solomko
1dbc64a615
Remove switch from BZip2.BlockSize.headerByte
2018-01-07 15:12:59 +03:00
Timofey Solomko
7a09d5fde8
Preallocate bytes arrays in BZip2
2018-01-07 15:12:54 +03:00
Timofey Solomko
b035d910a0
Rewrite BZip2.BlockSize.headerByte() as computed properties
2018-01-05 15:03:47 +03:00
Timofey Solomko
9f4884adc8
Refactor bzip2 block size parsing
2018-01-03 23:41:20 +03:00
Timofey Solomko
e714dc308b
Updated copyright year to 2018
2018-01-03 19:44:18 +03:00
Timofey Solomko
c8d92e56d3
Replace BitReader and ByteReader with BitByteData's implementations
2018-01-03 19:22:15 +03:00
Timofey Solomko
bb39c4016c
Replace SWCompression.BitWriter with BitByteData's one
2018-01-03 19:22:15 +03:00
Timofey Solomko
22bd529b3c
Change return type of BitReader.bit() to UInt8
2018-01-03 19:22:13 +03:00
Timofey Solomko
cef8ab12a2
Rename BitWriter.finish() to align
2018-01-03 19:22:13 +03:00