Commit Graph
1108 Commits
Author SHA1 Message Date
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 60b1499be8 Enable some new swiftlint rules 2017-09-02 20:03:48 +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 89dfa410fe Rename file with BZip2 tests for consistency 2017-09-02 19:56:40 +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 9ac826ff74 Merge branch 'release-3.3.0' into develop 2017-08-20 10:51:04 +03:00
Timofey Solomko c32cd538d6 Prepare for 3.3.0 2017-08-20 10:49:42 +03:00
Timofey Solomko 2446350bf0 Small fixes to README 2017-08-20 10:44:31 +03:00
Timofey Solomko 7aae6255f9 Update Readme 2017-08-20 10:41:50 +03:00
Timofey Solomko 617c86fe92 Rebuild jazzy docs 2017-08-19 16:28:01 +03:00
Timofey Solomko a012413000 Update jazzy categories 2017-08-19 16:27:50 +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 31aa347842 Update test results 2017-08-18 09:49:12 +03:00
Timofey Solomko f78eef000d Fix compile issues for performance tests 2017-08-18 09:48:55 +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 v3.3.0-test.2 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 e365dd3617 Add build flag for deflate subspec 2017-08-16 22:06:44 +03:00
Timofey Solomko df223ebde5 Add 7z subspec 2017-08-16 22:06:32 +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
Timofey Solomko 626c1f7b62 Change utf8 detection alogrithm in zip to favor more cp437 2017-08-16 20:26:33 +03:00
Timofey Solomko e40ddacd07 Fix incorrect posixPermissions in tar in some cases
Sometimes "mode" fields also includes unix type which we haven't accounted for.
2017-08-16 18:36:18 +03:00