1539 Commits
Author SHA1 Message Date
Timofey Solomko 438fbca27d Fixed a problem with unnecessary skipping of bits (causing nlength and length problem). 2016-11-20 23:27:22 +03:00
Timofey Solomko 3c24004b5e Preparations for 1.1.1. 2016-11-20 19:10:52 +03:00
Timofey Solomko def0ce590c Moved common swift files so swift package manager won’t complain. 2016-11-20 17:56:09 +03:00
Timofey Solomko fb65c84141 Preparations for 1.1.0. 2016-11-19 20:44:27 +03:00
Timofey Solomko 0d928f7998 Added docs for Bzip2. 2016-11-19 20:24:14 +03:00
Timofey Solomko 0ccb813b54 Small performance improvement in DataWithPointer.bits. Also disabled bzip2_test7. 2016-11-19 20:11:57 +03:00
Timofey Solomko 8ee82ae51d Increased performance of deflate when compressed file had a lot of repeated bytes. 2016-11-19 18:29:42 +03:00
Timofey Solomko 662ad5b74b Fixed compilation-overflow error on some architectures. 2016-11-19 15:22:28 +03:00
Timofey Solomko 58d49afc35 Reorganized project structure. 2016-11-19 15:21:44 +03:00
Timofey Solomko b79781807d Removed unnecessary bitShift aligning. 2016-11-19 13:50:57 +03:00
Timofey Solomko 05ddfa50b8 Added more extension functions for integer type conversions. 2016-11-19 13:47:02 +03:00
Timofey Solomko 79bede022b Swiftlinted. 2016-11-19 13:39:04 +03:00
Timofey Solomko acbaf3300d During decoding only uint8 arrays are now used for storing intermediate results (no Data — no memory problems). 2016-11-16 20:12:37 +03:00
Timofey Solomko 73eb0a9a9b Fixed memory problems in BZip2. 2016-11-15 23:45:38 +03:00
Timofey Solomko 6c9f65e8c5 DataWithPointer no longer stores input data. 2016-11-15 23:45:04 +03:00
Timofey Solomko c158f895bf Added new enum for specifying bit order. United DataWithPointer and DataWithStraightPointer. 2016-11-15 22:32:36 +03:00
Timofey Solomko 5960c4965e Fixed several mistakes in bzip2. Now it passes all tests. 2016-11-15 00:01:03 +03:00
Timofey Solomko f9d1baecfc Added support for optional specification of straight bit order to findNextSymbol and convertToInt. 2016-11-14 23:59:02 +03:00
Timofey Solomko ac8fb7508a Bzip2 now uses new DataWithStraightPointer. 2016-11-14 23:18:22 +03:00
Timofey Solomko 0c46733b8b Added parsing magic number of bzip2 archives. 2016-11-14 23:17:42 +03:00
Timofey Solomko 19ec6380cb Added new DataWithPointer subclass (DataWithStraightPointer) which supports right-to-left bit order (used in bzip2). 2016-11-14 23:17:12 +03:00
Timofey Solomko 39b68958c8 Copyright updates. 2016-11-13 21:16:04 +03:00
Timofey Solomko 7bffe501de Completed implementation of BZip2. 2016-11-13 21:06:57 +03:00
Timofey Solomko 00b04ba312 Implementation of BZip2 reached bwt_reverse. 2016-11-13 20:30:45 +03:00
Timofey Solomko eceab09ed6 Added reversed argument back to findNextSymbol function. 2016-11-13 20:30:13 +03:00
Timofey Solomko 55b0243c46 Added new convenience function to DataWithPointer which returns int number directly without conversion of uint8 array. 2016-11-13 19:30:36 +03:00
Timofey Solomko ac00cf580b More progress on BZip2. 2016-11-13 19:11:13 +03:00
Timofey Solomko d321856339 A small cleanup in HuffmanTable initializer. 2016-11-13 19:10:55 +03:00
Timofey Solomko 480e7dfebc Comment change in deflate. 2016-11-12 19:16:49 +03:00
Timofey Solomko e889850e77 Initial progress on bzip2 support. 2016-11-12 19:16:39 +03:00
Timofey Solomko cfcc869d87 Added a lot of comments. 2016-11-12 12:33:02 +03:00
Timofey Solomko 1b20cfe3a8 Preparations for 1.0.3. 2016-11-05 12:18:27 +03:00
Timofey Solomko 8bccf79dfb Removed unused symbols. 2016-11-05 12:06:52 +03:00
Timofey Solomko e1cf61e0e8 New findNextSymbol function now knows about correct bit-order of bit arrays. 2016-11-05 12:03:20 +03:00
Timofey Solomko 74fb8ca9ad Usage reversedUInt8 convert functions replaced with straight counterparts because now we get bits in reversed order. 2016-11-05 12:02:28 +03:00
Timofey Solomko c3b9c81571 Fixed problems with rewind function. 2016-11-05 12:01:01 +03:00
Timofey Solomko 2dcb960646 Redid implementation of bits function because we need right-to-left bit order. 2016-11-05 12:00:20 +03:00
Timofey Solomko 5a93e76b4a Deflate is rewritten with the use of DataWithPointer and new findNextSymbol function. 2016-11-05 00:29:46 +03:00
Timofey Solomko 484f46b5da New findNextSymbol function for finding HuffmanLength in uint8 array of bits. Also min and max bits are internally exposed as constants. 2016-11-05 00:29:17 +03:00
Timofey Solomko c8b138aef6 Completed implementation of DataWithPointer (kinda). 2016-11-05 00:26:44 +03:00
Timofey Solomko b64c3d81fe Added new class for getting bits from data in efficient way. And performance tests for it. 2016-11-04 23:11:42 +03:00
Timofey Solomko 9e88447bb6 ExtraLength and extraDistance calculations are now done inside decompress function. 2016-11-01 23:49:26 +03:00
Timofey Solomko 9f6de9fce4 Preparation for 1.0.2. 2016-10-31 19:30:12 +03:00
Timofey Solomko e32403ee8a In Deflate.decompress Data object is used now instead of string for storing results. 2016-10-31 19:18:26 +03:00
Timofey Solomko b0c72f9e98 In findNextSymbol new bits are loaded only if new length is encountered. 2016-10-31 19:17:40 +03:00
Timofey Solomko 5296e281e4 Sometimes two bytes are not enough for finding next symbol. 2016-10-31 00:43:12 +03:00
Timofey Solomko f2e46103b2 Fixed another problem with 'overflowing' shift. 2016-10-31 00:32:10 +03:00
Timofey Solomko 4cef5d9c58 Since shift+extraDistance could be greater than 16, it could cause errors. This was fixed. 2016-10-31 00:02:20 +03:00
Timofey Solomko 3fc9620276 Fixed incorrect calculation of mainLiterals table in case of dynamic Huffman coding. 2016-10-31 00:01:29 +03:00
Timofey Solomko b486949442 Fixed incorrect calculation of extraLengthBits. 2016-10-31 00:00:45 +03:00