Minor variable renaming & formatting.

Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
This commit is contained in:
Adam Rocska 2020-05-02 10:36:58 +02:00
parent bac7cedd36
commit 24b54ec8cb
1 changed files with 6 additions and 8 deletions

View File

@ -3,22 +3,20 @@ import Foundation
extension Data { extension Data {
fileprivate func boyerMoore(data: Data, from: Index) -> Index? { fileprivate func boyerMoore(data: Data, from: Index) -> Index? {
let patternLength = data.count let patternCount = data.count
precondition(patternLength > 0, "Pattern can't be empty.") precondition(patternCount > 0, "Pattern can't be empty.")
precondition(count >= patternLength, "Pattern can't be >= than the Data to search in.") precondition(count >= patternCount, "Pattern can't be >= than the Data to search in.")
precondition(indices.contains(from), "Index from which to start the lookup must be contained in the Data.") precondition(indices.contains(from), "Index from which to start the lookup must be contained in the Data.")
var skipTable = [UInt8: Int]() var skipTable = [UInt8: Int]()
for (i, byte) in data.enumerated() { for (i, byte) in data.enumerated() { skipTable[byte] = patternCount - i - 1 }
skipTable[byte] = patternLength - i - 1
}
let lastIndexOfSelf = endIndex let lastIndexOfSelf = endIndex
let lastIndexOfData = data.index(before: data.endIndex) let lastIndexOfData = data.index(before: data.endIndex)
let lastByteOfData = data.last let lastByteOfData = data.last
var i = index( var i = index(
from, from,
offsetBy: patternLength - 1, offsetBy: patternCount - 1,
limitedBy: lastIndexOfSelf limitedBy: lastIndexOfSelf
) ?? lastIndexOfSelf ) ?? lastIndexOfSelf
@ -44,7 +42,7 @@ extension Data {
} else { } else {
i = index( i = index(
i, i,
offsetBy: skipTable[byte] ?? patternLength, offsetBy: skipTable[byte] ?? patternCount,
limitedBy: lastIndexOfSelf limitedBy: lastIndexOfSelf
) ?? lastIndexOfSelf ) ?? lastIndexOfSelf
} }