diff --git a/Sources/SwiftNLP/1. Data Collection/HNSWCorpus.swift b/Sources/SwiftNLP/1. Data Collection/HNSWCorpus.swift index a30c397e90f9ffd1a1eef543a8cf33b985e46dd0..ceda75a3bb1724c540f4e5150d13756852611eaa 100644 --- a/Sources/SwiftNLP/1. Data Collection/HNSWCorpus.swift +++ b/Sources/SwiftNLP/1. Data Collection/HNSWCorpus.swift @@ -46,7 +46,8 @@ class HNSWCorpus<Scalar: BinaryFloatingPoint & Codable>: SNLPCorpus { @inlinable func addUntokenizedDocument(_ document: String) { - encodedDocuments.insert((_documentEncoder.encodeSentence(document) as! [Scalar])) + // Forced cast to [Scalar] is unnecessary + encodedDocuments.insert((_documentEncoder.encodeSentence(document))) } } @@ -86,9 +87,10 @@ public struct DeterministicSampleVectorIndex<Vector: Collection & Codable> where public struct CartesianDistanceMetric<Vector: Collection & Codable>: SimilarityMetric where Vector.Element: BinaryFloatingPoint { public func similarity(between someItem: Vector, _ otherItem: Vector) -> Vector.Element { - let squaredSum = zip(someItem, otherItem) - .map { (x, y) in (x - y) * (x - y) } - .reduce(0, +) + + let squaredDifferences = zip(someItem, otherItem).map { (x, y) in (x - y) * (x - y) } + let squaredSum = squaredDifferences.reduce(0, +) + return sqrt(squaredSum) } }