United write and writeReversed.

This commit is contained in:
Timofey Solomko
2017-02-18 19:44:27 +03:00
parent 7908c270a8
commit 5e895dfec7
+7 -14
View File
@@ -78,27 +78,20 @@ final class BitToByteWriter {
}
}
func write(number: Int, bitsCount: Int) {
var mask = 1
func write(number: Int, bitsCount: Int, bitOrder: BitOrder = .straight) {
var mask = bitOrder == .straight ? 1 : 1 << bitsCount
for _ in 0..<bitsCount {
if number & mask > 0 {
self.write(bit: 1)
} else {
self.write(bit: 0)
}
mask <<= 1
}
}
func writeReversed(number: Int, bitsCount: Int) {
var mask = 1 << bitsCount
for _ in 0..<bitsCount {
if number & mask > 0 {
self.write(bit: 1)
} else {
self.write(bit: 0)
switch bitOrder {
case .straight:
mask <<= 1
case .reversed:
mask >>= 1
}
mask >>= 1
}
}