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
ac31a349ac
Reorder groups in XCode project
2018-01-16 22:28:51 +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
2f8aef356c
Clarify installation instructions and add development-related notes in README
2018-01-08 13:48:02 +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
c12a5a89d8
Fix tables in Results.md
2018-01-07 20:14:12 +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
1929250dc1
Update Results.md with new results and clarifications about BBD's version and amount of iterations
2018-01-07 15:17:04 +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
ed01cd142f
Fix build warnings about deprecated settings
2018-01-03 23:42:33 +03:00
Timofey Solomko
9f4884adc8
Refactor bzip2 block size parsing
2018-01-03 23:41:20 +03:00
Timofey Solomko
e714dc308b
Updated copyright year to 2018
2018-01-03 19:44:18 +03:00
Timofey Solomko
0b922ba64c
Fixes for deployment stage in CI
...
Use osx and run before-deploy only once; don't carthage archive bcsymbolmap files from BitByteData; prepare-workspace before before_deploy script.
2018-01-03 19:44:05 +03:00
Timofey Solomko
73a23a013f
Merge branch 'feature-use-bitbytedata' into develop
2018-01-03 19:22:53 +03:00
Timofey Solomko
b556bbeaf2
Use final release version of BitByteData
2018-01-03 19:22:15 +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
d06741f424
Update BitByteData to 1.0.0-test.3
2018-01-03 19:22:15 +03:00
Timofey Solomko
9d709568e1
Rework integration with BitByteData framework provided through Carthage
...
SWCompression is now linked against appropriate platform-version of framework using linker flags and framework search path; added custom shell script phase to TestSWCompression target, which copies appropriate platform-version of framework into test bundle (its presence is necessary to make it run).
2018-01-03 19:22:15 +03:00
Timofey Solomko
af26a11d4c
Add carthage bootstrap step to prepare workspace script
2018-01-03 19:22:14 +03:00
Timofey Solomko
a80d981b0f
Add linking to BitByteData framework provided through Carthage
2018-01-03 19:22:14 +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
6bc3cbb2eb
Add BitByteData as a dependency to podspec
2018-01-03 19:22:14 +03:00
Timofey Solomko
c3a1982e2a
Ignore Carthage.resolved
2018-01-03 19:22:14 +03:00
Timofey Solomko
91e6ffa81e
Add cartfile with BitByteData dependency
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