947 Commits

Author SHA1 Message Date
Timofey Solomko 7319e26922 Prepare for 4.1.0 release 2018-01-31 20:30:09 +03:00
Timofey Solomko c1c54add88 Prepare for second test release of 4.1.0 2018-01-29 21:14:43 +03:00
Timofey Solomko e7511130a9 Merge branch 'develop' into release-4.1.0 2018-01-29 19:56:24 +03:00
Timofey Solomko e710e37233 [BZip2] Add comments about smaller block size for compression 2018-01-29 19:55:42 +03:00
Timofey Solomko d7390ec44f [ZIP] Native time and date are now relative to current timezone and calendar used by system 2018-01-28 19:58:40 +03:00
Timofey Solomko 32d3cc6279 Extract ntfs timestamps reference date as static property 2018-01-28 19:17:52 +03:00
Timofey Solomko e7a2707508 [swcomp] Fix 7zCommand using Zip's functions 2018-01-28 19:13:05 +03:00
Timofey Solomko 4adc62192f [swcomp] Extract most of global printInfo function as an extension to ContainerEntryInfo 2018-01-17 13:13:57 +03:00
Timofey Solomko 67c906840d [swcomp] Add commands for performance testing deflate and bzip2 compression 2018-01-17 12:57:45 +03:00
Timofey Solomko baa16b00b5 [swcomp] Add block size options to bzip2 command 2018-01-17 12:54:33 +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 7d99ab176a [BZip2] Use not-reduced block size for decompression 2018-01-17 12:01:00 +03:00
Timofey Solomko 6781ff5e96 [swcomp] Implement ZipCommand and SevenZipCommand using ContainerCommand 2018-01-16 22:52:27 +03:00
Timofey Solomko ab7c65249d [swcomp] Add ContainerCommand protocol
This protocol represents common functionality for container-related commands (7z and zip). Extension to this protocol implements execute() function which is the same for both 7z and Zip commands.
2018-01-16 22:52:20 +03:00
Timofey Solomko ca41cc3b5f [BZip2] Additionally reduce block sizes by 1.25
This is required, because, apparently, original bzip2 implementation doesn't account for the fact that the initial RLE can cause expansion of the data.
2018-01-16 22:28:35 +03:00
Timofey Solomko 6b6ece5b6e [swcomp] Protect against non-set (set to 0) permissions in containers
Such permissions made files unaccessable by everyone except root.
2018-01-15 22:37:04 +03:00
Timofey Solomko 726cc8a828 [swcomp] Update description of extract option of 7z, tar and zip commands 2018-01-15 22:35:59 +03:00
Timofey Solomko 344421f49c Exclude SPM's .build directory from swiftlint and swiftlint 2018-01-15 21:49:54 +03:00
Timofey Solomko d8a47efd44 [BZip2] Slightly optimise initial RLE in compress 2018-01-14 23:07:09 +03:00
Timofey Solomko 02fb0c2886 [BZip2] Fix incorrect block sizes in compression
I previously thought that 1KB = 1024 bytes, but apparently in this case it is just 1000 bytes.
2018-01-14 18:17:44 +03:00
Timofey Solomko 955ab734c8 [swcomp] Add info option to GZipCommand, which prints GZip header 2018-01-14 13:12:03 +03:00
Timofey Solomko 714de31f5d [swcomp] Add CustomStringConvertible extensions for several SWCompression's types 2018-01-14 13:11:35 +03:00
Timofey Solomko 6fafd9d729 [swcomp] Remove redundant checks covered by exactlyOne OptionGroups 2018-01-14 12:53:57 +03:00
Timofey Solomko 81a6cba5ff Swiftlinted with two new rules 2018-01-14 11:12:27 +03:00
Timofey Solomko fe3f1df588 [TAR] Remove Int.octalToDecimal() extension function, since it isn't used anymore 2018-01-12 21:41:19 +03:00
Timofey Solomko ac2f097049 [TAR] Use stdlib's Int from String initializer with radix parameter where possible 2018-01-12 21:40:43 +03:00
Timofey Solomko 44f33bf02a Make bit reader and writer functions' parameters concrete classes
Previously, it was almost always protocols, which in some cases didn't make sense.
2018-01-07 22:27:36 +03:00
Timofey Solomko bb45735132 Merge BurrowsWheeler.reverse and transofrm functions
The latter was used only for reverse transformation despite its name.
2018-01-07 20:09:34 +03:00
Timofey Solomko b9440aac9f Rework inverse BWT by removing sorting stage
This change has a significant impact on performance in a good way.
2018-01-07 15:16:18 +03:00
Timofey Solomko 2be06c8c0a Use ByteReader in all ZIP-related code
We can do this since we don't have asynchronous concerns anymore.
2018-01-07 15:12:59 +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 1dbc64a615 Remove switch from BZip2.BlockSize.headerByte 2018-01-07 15:12:59 +03:00
Timofey Solomko 7a09d5fde8 Preallocate bytes arrays in BZip2 2018-01-07 15:12:54 +03:00
Timofey Solomko b035d910a0 Rewrite BZip2.BlockSize.headerByte() as computed properties 2018-01-05 15:03:47 +03:00
Timofey Solomko 9f4884adc8 Refactor bzip2 block size parsing 2018-01-03 23:41:20 +03:00
Timofey Solomko 22372cb6e9 Prepare for first test release of 4.1.0 2018-01-03 19:44:38 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko e986561487 Replace Int() conversions with toInt() functions 2018-01-03 19:22:15 +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 20ab480737 Complete renaming of DataWithPointer to ByteReader
This includes renaming pointerData variables to byteReader as well as renaming of files with extensions to ByteReader.
2018-01-03 19:22:14 +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 6b0dd666ce Several modifications to xcode projects
Organization name set to "Timofey Solomko"; reset some settings to its default values; remove separate test project and workspace by merging them into main project; move plist files inside xcode project; use project-wide settings as much as possible; set project version 50 (total amount of releases on github) and CFBundleShortVersion to 4.0.1; versions in xcode project are now managed by agvtool: project version is increased by 1 whenever there is a new release, CFBundleShortVersion will continue to be semantically versioned; remove some unused settings; remove header file and empty build phases.
2018-01-03 19:21:14 +03:00