92 Commits
Author SHA1 Message Date
Timofey Solomko cb8a6738a0 [Common] Change DeltaFilter from final class to enum 2021-07-21 19:47:30 +03:00
Timofey Solomko c19694aa12 Merge branch 'hotfix-4.5.10' into develop 2021-05-23 00:10:17 +03:00
Timofey Solomko 5f7141fd78 Replace Int arrays in EncodingTree with a new CodingIndex struct
The hope is that this will improve memory layout/management, and, consequently, improve performance (slightly).
2021-05-22 23:34:31 +03:00
Timofey Solomko 03d47628a1 Merge branch 'hotfix-4.5.9' into develop 2021-05-01 16:14:33 +03:00
Timofey Solomko f808a8b9b3 [BZip2] Fix a crash on non-standard run length greater than 255 2021-05-01 13:45:02 +03:00
Timofey Solomko 1fca632c2d Update copyright year to 2021 2021-03-26 13:50:20 +02:00
Timofey Solomko e83f23effa Update copyright year to 2021 2021-01-11 11:20:57 +02:00
Timofey Solomko a844b34436 Update copyright year to 2020 2020-03-20 09:43:42 +03:00
Timofey Solomko f6949a8f66 Replace the usage of the deprecated Data(bytes:) initializer 2020-03-20 09:40:48 +03:00
Timofey Solomko 31ec1f1553 Update copyright year to 2020 2020-01-01 19:06:33 +03:00
Timofey Solomko 04b87f9e95 Mark @inline(__always) functions as @inlinable 2019-05-01 19:36:51 +03:00
Timofey Solomko 75b21ae107 Replace usage of ByteReader with LittleEndianByteReader 2019-05-01 19:34:30 +03:00
Timofey Solomko db82490ed8 Replace the usage of the deprecated Data(bytes:) initializer 2019-05-01 19:30:48 +03:00
Timofey Solomko c93a783d21 [docs] Fix grammar issues with regards to a/the/null articles, while/during, and extra commas 2019-03-13 12:27:08 +03:00
Timofey Solomko 04f64bcb72 Rename Encoding/DecodingHuffmanTree to just Encoding/DecodingTree 2019-03-12 22:31:35 +03:00
Timofey Solomko 142fd44dd2 Remove old CodeLength initializer from Encoding(Huffman)Tree 2019-03-12 22:31:24 +03:00
Timofey Solomko 250c9fbd4c Remove old CodeLength initializer from Decoding(Huffman)Tree 2019-03-12 22:31:13 +03:00
Timofey Solomko 5e51968ca6 Add a func which generates Huffman codes based on their lengths 2019-03-12 22:31:02 +03:00
Timofey Solomko 6889f58461 Add new initiliaziers to huffman trees which init from codes instead of lengths 2019-03-12 22:30:50 +03:00
Timofey Solomko 7ae5cfa1a2 Add a new struct which represents an abstract code from coding tree 2019-03-12 22:30:35 +03:00
Timofey Solomko 9f138f86a6 Move Huffman tree related code into the CodingTree sub-group/directory 2019-03-12 22:30:21 +03:00
Timofey Solomko 1df768c09f Move the lengths bootstrapping function into the namespace of the CodeLength 2019-03-12 22:29:53 +03:00
Timofey Solomko 7f25dbf6e7 Rename HuffmanLength to CodeLength 2019-03-12 22:28:01 +03:00
Timofey Solomko 08bea5ad53 Make Huffman tree classes final 2019-01-04 20:22:09 +03:00
Timofey Solomko ce47019097 Update copyright year to 2019 2019-01-02 23:15:43 +03:00
Timofey Solomko 8457f85c75 Add implementation for decoding Delta filter 2018-08-29 10:30:05 +03:00
Timofey Solomko 3790b3acac [docs] Clarify in docs for ContainerEntry.data that data is assumed to be uncompressed 2018-08-07 21:05:36 +03:00
Timofey Solomko 3d3d4a2c0e Move Comparable extension of HuffmanLength into its main file 2018-04-13 22:56:15 +03:00
Timofey Solomko 7929e58022 Synthesize Equatable conformance for HuffmanLength 2018-04-13 22:55:12 +03:00
Timofey Solomko 05268bd44e [docs] Add "missing" docs for Container.Entry and and ContainerEntry.Info
Apparently, something changed in Swift 4.1 and sourcekitten/jazzy now detects associated types and produces documentation for them.
2018-04-13 18:53:58 +03:00
Timofey Solomko 9293210d35 All properties in huffman trees are now constant 2018-03-31 13:50:50 +03:00
Timofey Solomko 112fa8bbb0 Date init from ntfs timestamp is no longer failable
The only reason for it to be was to propagate optionality of UInt64 argument. Instead we can if-let ntfs timestamp and call this initializer with non-optional argument. We also now force-unwrap ntfsReferenceDate, since it is likely to be a system problem if we cannot create definetely correct date from its components.
2018-03-25 23:42:53 +03:00
Timofey Solomko a34e272f97 [docs] Fix typo in Container protocol 2018-03-17 15:38:46 +03:00
Timofey Solomko b9f325f91b Small text/comments-related changes 2018-02-07 23:59:42 +03:00
Timofey Solomko 32d3cc6279 Extract ntfs timestamps reference date as static property 2018-01-28 19:17:52 +03:00
Timofey Solomko 8fa195d560 [TAR] Replace Int.roundTo512() function with bitwise inlinable version in common Extensions file 2018-01-17 12:12:29 +03:00
Timofey Solomko 536b5dcb49 Extract reverse local function of HuffmanTrees' inits as Int extension 2018-01-07 15:12:59 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko d2d74d52b9 Remove unused extensions 2018-01-03 19:22:15 +03:00
Timofey Solomko c8d92e56d3 Replace BitReader and ByteReader with BitByteData's implementations 2018-01-03 19:22:15 +03:00
Timofey Solomko bb39c4016c Replace SWCompression.BitWriter with BitByteData's one 2018-01-03 19:22:15 +03:00
Timofey Solomko 1293cf15a0 Make BitReader.bitMask completely private 2018-01-03 19:22:14 +03:00
Timofey Solomko 22bd529b3c Change return type of BitReader.bit() to UInt8 2018-01-03 19:22:13 +03:00
Timofey Solomko dcf18c73d6 Rename ByteReader.isAtTheEnd to isFinished 2018-01-03 19:22:13 +03:00
Timofey Solomko cef8ab12a2 Rename BitWriter.finish() to align 2018-01-03 19:22:13 +03:00
Timofey Solomko 15c06843b1 Replace BitWriter.buffer with Data 2018-01-03 19:22:13 +03:00
Timofey Solomko b9eeb1bc7c Rename ByteReader.index to offset 2018-01-03 19:22:13 +03:00
Timofey Solomko 3751e25c4f Rename DataWithPointer to ByteReader
This and following commits should ease switch to BitByteData usage.
2018-01-03 19:22:13 +03:00
Timofey Solomko e05f917210 Improve compile time 2017-12-24 14:57:35 +03:00
Timofey Solomko cce4d35ab7 Remove bitOrder argument from BitWriter.write(number:bitCount:) 2017-12-21 15:26:00 +03:00