111 Commits
Author SHA1 Message Date
Timofey Solomko 4ee5c8e3c3 Updated copyright headers in source files (made them a bit shorter). 2017-07-01 00:03:10 +03:00
Timofey Solomko 719d4c08d4 Data with size less than 3 can now also be processed by lengthEncode. 2017-06-14 21:37:57 +03:00
Timofey Solomko 0d85a0b7c3 Reduced memory usage of BLDCodes. 2017-06-02 20:59:58 +03:00
Timofey Solomko 83ca330934 Removed description from BLDCode. 2017-06-02 20:59:32 +03:00
Timofey Solomko 2de562be95 Added and edited documentation. 2017-05-31 18:36:03 +03:00
Timofey Solomko f7cac81ef8 Renamed several argument labels. 2017-05-31 14:39:49 +03:00
Timofey Solomko 7d501191c1 Removed a couple of TODOs. 2017-05-30 21:21:57 +03:00
Timofey Solomko 19b09c08fc Replaced fatalErrors in HuffmanTree with SymbolNotFound errors. 2017-05-27 20:40:35 +03:00
Timofey Solomko 8b3cc5620a A lot of small little changes here and there. 2017-05-27 20:38:20 +03:00
Timofey Solomko f343919366 All classes are now longer final (because it is not needed to prevent subclassing given public access level). 2017-05-27 20:37:41 +03:00
Timofey Solomko 7c4d326984 Renamed errors’ cases to conform to naming conventions. 2017-05-09 20:26:26 +03:00
Timofey Solomko 645d98f368 Removed wrong bitWriter finishing which was adding extra wrong byte to output. 2017-04-15 21:11:09 +03:00
Timofey Solomko 85a4c2e733 HuffmanTree now writes to BitToByteWriter during coding. 2017-03-05 22:17:30 +03:00
Timofey Solomko b99d8bf55a Merge branch 'hotfix-2.2.2' into develop 2017-02-26 15:03:18 +03:00
Timofey Solomko 1ab2748a00 Fixed zero-length problem for big uncompressed blocks. 2017-02-26 14:51:20 +03:00
Timofey Solomko 7a99a7972f Added option to HuffmanTree which enables/disables coding. 2017-02-25 14:58:12 +03:00
Timofey Solomko a8645ff296 Swiftlinted. 2017-02-25 14:55:55 +03:00
Timofey Solomko 861b51ba56 Moved constants from HuffmanTree to Deflate. 2017-02-24 22:49:28 +03:00
Timofey Solomko 636b75dce9 Added new structure (LengthDistance) to reduce code repetition. 2017-02-24 22:47:28 +03:00
Timofey Solomko 743eead3ea Added fallback to uncompressed block in cases if it will be more size-efficient (according to size calculations). 2017-02-24 19:55:55 +03:00
Timofey Solomko 7b89374b12 Another fix for stats. 2017-02-24 19:51:26 +03:00
Timofey Solomko 84b7e9c4da Fixed some stats calculation problem. 2017-02-24 19:48:41 +03:00
Timofey Solomko 25d7459105 Added calculations of estimated sizes. 2017-02-24 19:48:24 +03:00
Timofey Solomko 394166443c Added stats counting. 2017-02-24 18:41:44 +03:00
Timofey Solomko c7d982c19b Added a check for HuffmanTree.code(…) returning empty array. 2017-02-18 22:20:47 +03:00
Timofey Solomko 9b33b81353 Added a lot of docs strings. 2017-02-18 22:16:37 +03:00
Timofey Solomko 19ef15119f Removed print statements. 2017-02-12 10:52:52 +03:00
Timofey Solomko 8f5f7f6b63 Fixed problem with not limiting max distance. 2017-02-11 20:48:17 +03:00
Timofey Solomko 01dd368e0e BLDCode.description is no longer public. 2017-02-09 08:15:38 +03:00
Timofey Solomko ee11cd7722 Added performance testing for deflate compression. 2017-02-08 23:24:21 +03:00
Timofey Solomko 24576d892a Added function which allows creation of uncompressed deflate blocks, which in its turn allows us to enable test5 for deflation. 2017-02-08 19:41:02 +03:00
Timofey Solomko b1100a7594 Added new function to BitToByteWriter which writes a number with specified amount of bits. 2017-02-08 19:34:07 +03:00
Timofey Solomko 0db34d6820 Added dictionary-tech with three-byte hashes, which also allows to enable deflate6 test (better speed). 2017-02-08 19:26:11 +03:00
Timofey Solomko cafa8422da One more fix for distance encoding. 2017-02-07 23:00:10 +03:00
Timofey Solomko d1343e4c35 Fixed a problem with last distance symbol. 2017-02-07 22:45:23 +03:00
Timofey Solomko f7b75188fa lengthEncode code replaced with modified old version. 2017-02-07 22:36:04 +03:00
Timofey Solomko 8241d945bc Corrected errors with writing extra bits for HuffmanCodes. 2017-02-07 22:35:19 +03:00
Timofey Solomko eb81146e2a lengthEncode replaced with version which doesn’t perform any compression, test now compares before and after comp/decomp. 2017-02-05 20:47:42 +03:00
Timofey Solomko ae61d2ba91 Added appropriate public API for deflate compression. 2017-02-05 19:16:06 +03:00
Timofey Solomko b2c7f64cfe Text fixes. 2017-02-04 15:07:38 +03:00
Timofey Solomko af0281d19f Completed static huffman encoding. 2017-02-04 00:00:15 +03:00
Timofey Solomko b57049cbb1 Added huffmanEncode function with first steps in huffman encoding (only literals for now). 2017-02-03 21:55:26 +03:00
Timofey Solomko 06527bb7f9 Fixed some edge cases. 2017-02-03 20:32:08 +03:00
Timofey Solomko a4610c7aea Added max distance check. 2017-02-03 20:08:40 +03:00
Timofey Solomko 249adf87f3 Fixed distance value. More readable output in test. 2017-02-03 20:06:10 +03:00
Timofey Solomko a5cd5e51fb Redone lengthEncode with the use on new enum (which is CustomStringConvertible). 2017-02-03 19:49:06 +03:00
Timofey Solomko a5601037b6 Final attempt to fix several problems in current implementation of lengthEncode. 2017-02-02 23:45:06 +03:00
Timofey Solomko 642e07614e Small refactor in deflate. 2017-01-31 22:56:33 +03:00
Timofey Solomko f57b1d5682 Added test for lengthEncode and some additional remarks for testing purposes. 2017-01-31 22:14:12 +03:00
Timofey Solomko 3285181c6a Added new function to Deflate which provides length-distance encoding. 2017-01-31 22:13:37 +03:00