58 Commits
Author SHA1 Message Date
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
Timofey Solomko 013350ec86 Implemented OrderedHuffmanTable and combined all auxiliary functions into HuffmanTable's initializer. 2016-10-26 11:33:07 +03:00
Timofey Solomko 851d2d7e0d Rearrangement of code (also symbols are populated and maximums are computed at initialization). 2016-10-26 01:00:00 +03:00
Timofey Solomko f807768e52 Implemented minMaxBits for HuffmanTable. 2016-10-26 00:49:55 +03:00
Timofey Solomko c06d34fb23 Data type actually has built-in subscripts, so home-made subscripts were replaced by them. 2016-10-25 23:25:35 +03:00
Timofey Solomko 78c53e6d06 Cleanuped code. 2016-10-25 23:07:13 +03:00
Timofey Solomko 47e42c4334 Added a lot of comments and rewrote some bad code. 2016-10-24 23:22:36 +03:00
Timofey Solomko ad37c5a918 Added reversedSymbol for HuffmanLength and code to populate symbols of HuffmanTable. 2016-10-24 21:55:05 +03:00
Timofey Solomko cc26d2ff4c Added code for processing static Huffman block. 2016-10-24 21:31:12 +03:00
Timofey Solomko 0a4b6a3474 Fixed problem with recognizing block type. 2016-10-24 21:30:51 +03:00
Timofey Solomko a1745142eb Added HuffmanLength and initializer from bootstrap for HuffmanTable. 2016-10-24 21:29:06 +03:00
Timofey Solomko a0500b84c3 Actually, if you read specifications carefully you will find out that the remaining bits should be dropped. 2016-10-24 20:31:18 +03:00
Timofey Solomko 987a3608c2 Now while-loop actually breaks. 2016-10-24 20:23:50 +03:00