Timofey Solomko
25f6d4f5ac
Make bzip2 lengths creation algorithm slightly more space efficient
2017-09-27 22:04:26 +03:00
Timofey Solomko
d3839a70ad
Rename files with compress extensions
2017-09-27 22:02:42 +03:00
Timofey Solomko
49b7de06a3
Create multiple bzip2 blocks
2017-09-27 22:01:57 +03:00
Timofey Solomko
401d3cf26b
Extract code for BW transformation
2017-09-27 20:04:01 +03:00
Timofey Solomko
70b02066fc
Fix potential crash with index out of range in selectorList in BZip2
...
Both compression and decompression.
2017-09-17 20:23:47 +03:00
Timofey Solomko
f8d4451c18
Remove recursive procedure for huffman lengths generation
2017-09-17 13:03:59 +03:00
Timofey Solomko
3a0335d5f5
Use new lengths creation function in BZip2 compression
2017-09-17 13:03:03 +03:00
Timofey Solomko
e5d2b78781
Add new procedure for huffman code length generation
2017-09-17 13:02:09 +03:00
Timofey Solomko
34f718e152
Add BZip2 compression implementation
2017-09-10 13:10:36 +03:00
Timofey Solomko
26d7e7e1b4
Add SuffixArray implementation
2017-09-10 13:09:40 +03:00
Timofey Solomko
70411024d1
Slightly updated bitSize function of EncodingHuffmanTree
2017-09-03 23:20:22 +03:00
Timofey Solomko
59237d3790
Add RecursiveHuffmanTree enum
...
It will be used in HuffmanTree construction in BZip2 compression.
2017-09-03 23:18:49 +03:00
Timofey Solomko
a70e557f38
Extract HuffmanLength array creation code into Deflate specific file
2017-09-03 22:46:00 +03:00
Timofey Solomko
cebf0555e5
Make HuffmanLength Comparable and use this in their sorting in HuffmanTree
2017-09-03 20:04:44 +03:00
Timofey Solomko
f96f446827
More elegant solution for zero code lengths problem
2017-09-03 19:59:46 +03:00
Timofey Solomko
69fa9a2646
Remove unused inits from HuffmanTrees
2017-09-03 14:18:23 +03:00
Timofey Solomko
49228a049f
Fix HuffmanTree init crash when zero codeLength is encountered
2017-09-03 14:16:59 +03:00
Timofey Solomko
a357837065
Use new HuffmanLengths in deflate compression huffmantree construction
2017-09-03 14:16:30 +03:00
Timofey Solomko
818e387028
Use new HuffmanLengths in dynamic deflate huffman tree construction
2017-09-03 14:16:10 +03:00
Timofey Solomko
4addd8098e
Use new HuffmanLengths in construction of static huffman trees in deflate
2017-09-03 14:05:12 +03:00
Timofey Solomko
fc63053899
Use new HuffmanLengths in BZip2 decompression (in huffman tables creation)
2017-09-03 14:01:50 +03:00
Timofey Solomko
5d19120b63
Add inits from new HuffmanLengths to HuffmanTrees
2017-09-03 14:00:26 +03:00
Timofey Solomko
97c767abf5
Add HuffmanLength class
...
This class represents (symbol, codeLength) pairs used in construction of HuffmanTrees. It also includes useful functions for generating HuffmanLengths from other structures.
2017-09-03 13:58:11 +03:00
Timofey Solomko
94545c06a9
Another batch of small changes to bzip2
2017-09-03 13:49:18 +03:00
Timofey Solomko
6e9248fcd5
Remove try and throws where possible
...
This is because of the replacement of symbolNotFound throws with fatalErrors in compression related functions.
2017-09-02 23:24:55 +03:00
Timofey Solomko
af38fa1717
Fix problems with write(number:...) function of BitWriter
2017-09-02 23:12:55 +03:00
Timofey Solomko
8b6b9b9478
Add bitSize function to EncodingHuffmanTree
...
This function calculates expected size (in bits) of data based on data's stats.
2017-09-02 23:01:01 +03:00
Timofey Solomko
baad3196dc
Add variant of bzip2 crc32 function with Data argument
...
Will be used in BZip2 compression
2017-09-02 23:00:10 +03:00
Timofey Solomko
78fb8cb07b
Small changes to bzip2 code
2017-09-02 22:59:31 +03:00
Timofey Solomko
cc77cfaad6
Use fatalError instead of symbolNotFound error throw in EncodingHuffmanTree
...
It is a programming error if symbol is not found during encoding, thus, we should use fatalError.
2017-09-02 20:07:19 +03:00
Timofey Solomko
cb54a5fa02
Use tuples in inits of huffman trees
2017-09-02 20:03:21 +03:00
Timofey Solomko
5b3e4e72d3
Extract Deflate huffman trees' bootstraps as constants
2017-09-02 20:02:55 +03:00
Timofey Solomko
12da128ddd
Change EncodingHuffmanTree API to be more consistent with decoding tree and cleanup usage
2017-08-29 00:10:04 +03:00
Timofey Solomko
2aca494757
Rename HuffmanTree into DecodingHuffmanTree
2017-08-29 00:03:56 +03:00
Timofey Solomko
9827e32bdd
Extract code for huffman encoding into separate class
2017-08-29 00:01:03 +03:00
Timofey Solomko
43f7dd6c50
Remove FIXME in 7zContainer
2017-08-22 15:01:13 +03:00
Timofey Solomko
c32cd538d6
Prepare for 3.3.0
2017-08-20 10:49:42 +03:00
Timofey Solomko
82b4da8789
Add and update docs for other classes.
2017-08-19 16:23:55 +03:00
Timofey Solomko
33c347c131
Add documentation for 7z
2017-08-19 16:23:26 +03:00
Timofey Solomko
0ff3e2f5e3
Significantly reduce number of error cases in 7zError
...
Also some of them were renamed.
2017-08-19 15:46:43 +03:00
Timofey Solomko
14e77ee616
Fix compile issues with renamed variable
2017-08-18 09:48:36 +03:00
Timofey Solomko
745368e50d
Small fixes here and there
2017-08-16 22:47:24 +03:00
Timofey Solomko
c8be30a942
Prepare for second test release
2017-08-16 22:17:59 +03:00
Timofey Solomko
a1daa622a5
Swiftlinted
2017-08-16 22:16:22 +03:00
Timofey Solomko
87c35fcc24
Add build time configuration of used compression methods in 7z in cocoapods configurations
2017-08-16 22:07:09 +03:00
Timofey Solomko
5ae920edb3
Rename build flags used in cocoapods configurations
2017-08-16 21:55:29 +03:00
Timofey Solomko
b7d5b3c997
Store unknown properties of 7z file info
2017-08-16 21:52:37 +03:00
Timofey Solomko
c155b3910d
Remove rawUnpackSize from 7z.open()
2017-08-16 21:51:53 +03:00
Timofey Solomko
3bfce7fe7f
Move Date extension into Extensions file
2017-08-16 21:36:51 +03:00
Timofey Solomko
ce4e12ac18
Rework XZ so multiByteDecode doesn't return tuples
2017-08-16 21:36:12 +03:00