Commit Graph
70 Commits
Author SHA1 Message Date
Timofey Solomko 52fd141015 Added parsing magic number of bzip2 archives. 2016-11-14 23:17:42 +03:00
Timofey Solomko 5e03f210e1 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 d221ecf71d Copyright updates. 2016-11-13 21:16:04 +03:00
Timofey Solomko b933e936c0 Completed implementation of BZip2. 2016-11-13 21:06:57 +03:00
Timofey Solomko 729d9e222f Implementation of BZip2 reached bwt_reverse. 2016-11-13 20:30:45 +03:00
Timofey Solomko 8228ffb56d Added reversed argument back to findNextSymbol function. 2016-11-13 20:30:13 +03:00
Timofey Solomko 4bc6fb22d7 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 6edcaf4183 More progress on BZip2. 2016-11-13 19:11:13 +03:00
Timofey Solomko 500da09e23 A small cleanup in HuffmanTable initializer. 2016-11-13 19:10:55 +03:00
Timofey Solomko 74913015cf Comment change in deflate. 2016-11-12 19:16:49 +03:00
Timofey Solomko b6d02b01d6 Initial progress on bzip2 support. 2016-11-12 19:16:39 +03:00
Timofey Solomko f6c8829f14 Added a lot of comments. 2016-11-12 12:33:02 +03:00
Timofey Solomko d58ed7a276 Preparations for 1.0.3. 2016-11-05 12:18:27 +03:00
Timofey Solomko 828685c806 Removed unused symbols. 2016-11-05 12:06:52 +03:00
Timofey Solomko 4916452bb9 New findNextSymbol function now knows about correct bit-order of bit arrays. 2016-11-05 12:03:20 +03:00
Timofey Solomko 8c6ba843d0 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 1d30ff2dd8 Fixed problems with rewind function. 2016-11-05 12:01:01 +03:00
Timofey Solomko b8d609ae39 Redid implementation of bits function because we need right-to-left bit order. 2016-11-05 12:00:20 +03:00
Timofey Solomko 6bf72804d0 Deflate is rewritten with the use of DataWithPointer and new findNextSymbol function. 2016-11-05 00:29:46 +03:00
Timofey Solomko 3a94ae57a2 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 654c9bbaa3 Completed implementation of DataWithPointer (kinda). 2016-11-05 00:26:44 +03:00
Timofey Solomko fdbbb72c65 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 24ca09f9c3 ExtraLength and extraDistance calculations are now done inside decompress function. 2016-11-01 23:49:26 +03:00
Timofey Solomko c295a5fc2d Preparation for 1.0.2. 2016-10-31 19:30:12 +03:00
Timofey Solomko 2fcadd29f6 In Deflate.decompress Data object is used now instead of string for storing results. 2016-10-31 19:18:26 +03:00
Timofey Solomko 0cbb556431 In findNextSymbol new bits are loaded only if new length is encountered. 2016-10-31 19:17:40 +03:00
Timofey Solomko 773c32dd44 Sometimes two bytes are not enough for finding next symbol. 2016-10-31 00:43:12 +03:00
Timofey Solomko 18b1a8c168 Fixed another problem with 'overflowing' shift. 2016-10-31 00:32:10 +03:00
Timofey Solomko 8f7418719f 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 385bd2fbfc Fixed incorrect calculation of mainLiterals table in case of dynamic Huffman coding. 2016-10-31 00:01:29 +03:00
Timofey Solomko 472efcbdff Fixed incorrect calculation of extraLengthBits. 2016-10-31 00:00:45 +03:00
Timofey Solomko 338b40a55a Added support for other platforms. 2016-10-30 20:07:04 +03:00
Timofey Solomko 26e515a68c Added documentation for protocols. 2016-10-30 16:35:11 +03:00
Timofey Solomko 32f90ab62c Added documentation comments. 2016-10-30 16:29:42 +03:00
Timofey Solomko 9ead9b1243 Added two new convert... functions with straight bit order in array argument. 2016-10-30 14:45:56 +03:00
Timofey Solomko 5c00605852 convertToInt/convertToUInt8 functions' argument renamed to reversedUint8Array. 2016-10-30 14:45:12 +03:00
Timofey Solomko d624f9f018 Added ZlibArchive. 2016-10-30 14:26:50 +03:00
Timofey Solomko 2fb0cb1559 Check if reserved flags are zero in gzip (specification compliance). 2016-10-30 13:42:32 +03:00
Timofey Solomko edfd49e3bf Fixed copyright notice. 2016-10-29 22:32:01 +03:00
Timofey Solomko bcaa85e0e8 Gzip related code moved into separate file; added two protocols; extended serviceInfo structure. 2016-10-29 22:27:11 +03:00
Timofey Solomko e557cce7ed Swiftlinted. 2016-10-29 21:24:40 +03:00
Timofey Solomko 3981159f7e Fixed a few swift warnings. 2016-10-29 21:17:20 +03:00
Timofey Solomko be43928774 bits function of Data extension now checks if start is the same as the end. 2016-10-29 17:55:47 +03:00
Timofey Solomko 7bab0020ff Fixed a problem with repeated strings in data. 2016-10-29 17:46:46 +03:00
Timofey Solomko 6d435e7a5e findNextSymbol now returns shift and this calculation is now correct and used everywhere. 2016-10-28 21:04:16 +03:00
Timofey Solomko c7a66d58ea Apparently, I've missed extraDistanceBits array and was reading a value from wrong array. This was fixed. 2016-10-28 21:02:31 +03:00
Timofey Solomko cdb3384740 Completed implementation of Deflate. 2016-10-28 20:00:34 +03:00
Timofey Solomko 4fff569544 Implemented dynamic coding. 2016-10-27 19:35:48 +03:00
Timofey Solomko 3fed92ffe6 Added new extension for getting an array of bits from ambigious places in Data objects; convert array to number functions moved to Extensions file. 2016-10-27 14:47:27 +03:00
Timofey Solomko 9f9ad78eab Added extensions, findNextSymbol; HuffmanLength moved to a separate file. 2016-10-26 21:03:19 +03:00