Skip to content

Commit 98c0d55

Browse files
authored
Merge pull request kodecocodes#776 from Neifmetus/BoyerMooreHorspool-4.2-update
[Swift 4.2] Update Boyer-Moore-Horspool & HaversineDistance
2 parents 0e4bd5f + d3d382f commit 98c0d55

File tree

5 files changed

+18
-10
lines changed

5 files changed

+18
-10
lines changed

Boyer-Moore-Horspool/BoyerMooreHorspool.playground/Contents.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ extension String {
1616
func index(of pattern: String, usingHorspoolImprovement: Bool = false) -> Index? {
1717
// Cache the length of the search pattern because we're going to
1818
// use it a few times and it's expensive to calculate.
19-
let patternLength = pattern.characters.count
20-
guard patternLength > 0, patternLength <= characters.count else { return nil }
19+
let patternLength = pattern.count
20+
guard patternLength > 0, patternLength <= count else { return nil }
2121

2222
// Make the skip table. This table determines how far we skip ahead
2323
// when a character from the pattern is found.
2424
var skipTable = [Character: Int]()
25-
for (i, c) in pattern.characters.enumerated() {
25+
for (i, c) in pattern.enumerated() {
2626
skipTable[c] = patternLength - i - 1
2727
}
2828

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

Boyer-Moore-Horspool/BoyerMooreHorspool.playground/timeline.xctimeline

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
version = "3.0">
44
<TimelineItems>
55
<LoggerValueHistoryTimelineItem
6-
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=37&amp;EndingLineNumber=3&amp;StartingColumnNumber=9&amp;StartingLineNumber=3&amp;Timestamp=503226447.616217"
6+
documentLocation = "file:///Users/neifmetus/Documents/Projects/swift-algorithm-club/Boyer-Moore-Horspool/BoyerMooreHorspool.playground#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=21&amp;EndingLineNumber=2&amp;StartingColumnNumber=21&amp;StartingLineNumber=2&amp;Timestamp=560891520.806637"
77
selectedRepresentationIndex = "0"
88
shouldTrackSuperviewWidth = "NO">
99
</LoggerValueHistoryTimelineItem>
1010
<LoggerValueHistoryTimelineItem
11-
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=26&amp;EndingLineNumber=3&amp;StartingColumnNumber=9&amp;StartingLineNumber=3&amp;Timestamp=503226447.61657"
11+
documentLocation = "file:///Users/neifmetus/Documents/Projects/swift-algorithm-club/Boyer-Moore-Horspool/BoyerMooreHorspool.playground#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=21&amp;EndingLineNumber=2&amp;StartingColumnNumber=21&amp;StartingLineNumber=2&amp;Timestamp=560891520.806855"
1212
selectedRepresentationIndex = "0"
1313
shouldTrackSuperviewWidth = "NO">
1414
</LoggerValueHistoryTimelineItem>
1515
<LoggerValueHistoryTimelineItem
16-
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=25&amp;EndingLineNumber=3&amp;StartingColumnNumber=9&amp;StartingLineNumber=3&amp;Timestamp=503226447.616725"
16+
documentLocation = "file:///Users/neifmetus/Documents/Projects/swift-algorithm-club/Boyer-Moore-Horspool/BoyerMooreHorspool.playground#CharacterRangeLen=0&amp;CharacterRangeLoc=75&amp;EndingColumnNumber=21&amp;EndingLineNumber=2&amp;StartingColumnNumber=21&amp;StartingLineNumber=2&amp;Timestamp=560891520.807023"
1717
selectedRepresentationIndex = "0"
1818
shouldTrackSuperviewWidth = "NO">
1919
</LoggerValueHistoryTimelineItem>

Boyer-Moore-Horspool/BoyerMooreHorspool.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ extension String {
99
func index(of pattern: String, usingHorspoolImprovement: Bool = false) -> Index? {
1010
// Cache the length of the search pattern because we're going to
1111
// use it a few times and it's expensive to calculate.
12-
let patternLength = pattern.characters.count
13-
guard patternLength > 0, patternLength <= characters.count else { return nil }
12+
let patternLength = pattern.count
13+
guard patternLength > 0, patternLength <= count else { return nil }
1414

1515
// Make the skip table. This table determines how far we skip ahead
1616
// when a character from the pattern is found.
1717
var skipTable = [Character: Int]()
18-
for (i, c) in pattern.characters.enumerated() {
18+
for (i, c) in pattern.enumerated() {
1919
skipTable[c] = patternLength - i - 1
2020
}
2121

HaversineDistance/HaversineDistance.playground/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func haversineDinstance(la1: Double, lo1: Double, la2: Double, lo2: Double, radi
1616

1717
// Converts from degrees to radians
1818
let dToR = { (angle: Double) -> Double in
19-
return (angle / 360) * 2 * M_PI
19+
return (angle / 360) * 2 * .pi
2020
}
2121

2222
let lat1 = dToR(la1)

0 commit comments

Comments
 (0)