diff --git a/Sources/SwiftNLP/0. SNLP Internal Protocols/SNLPCorpus.swift b/Sources/SwiftNLP/0. SNLP Internal Protocols/SNLPCorpus.swift index 3d922641a17e638a5c5d451d38542ad7e62b7013..9e37ca666b501a76542c818a17ef0976571b62e5 100644 --- a/Sources/SwiftNLP/0. SNLP Internal Protocols/SNLPCorpus.swift +++ b/Sources/SwiftNLP/0. SNLP Internal Protocols/SNLPCorpus.swift @@ -42,8 +42,8 @@ protocol SNLPCorpus<Item> { var dimensions: UInt { get } var count: Int { get } - func addUntokenizedDocument(_ document: Item) - func addUntokenizedDocuments(_ documents: [Item]) + mutating func addUntokenizedDocument(_ document: Item) + mutating func addUntokenizedDocuments(_ documents: [Item]) func searchFor(_ query: String) -> [Item] } @@ -59,7 +59,7 @@ extension SNLPCorpus { /** Adds a series of untokenized documents to the corpus, using default tokenization and text processing */ - func addUntokenizedDocuments(_ documents: [Item]) { + mutating func addUntokenizedDocuments(_ documents: [Item]) { for d in documents { addUntokenizedDocument(d) } diff --git a/Sources/SwiftNLP/1. Data Collection/InMemoryCorpus.swift b/Sources/SwiftNLP/1. Data Collection/InMemoryCorpus.swift index fdb6ea4702e31fed56e570d90608fd18ac97994c..bdca399d04003716c42601e1b1e172e1dce6f66c 100644 --- a/Sources/SwiftNLP/1. Data Collection/InMemoryCorpus.swift +++ b/Sources/SwiftNLP/1. Data Collection/InMemoryCorpus.swift @@ -23,7 +23,7 @@ import Foundation -final class InMemoryCorpus<Scalar: BinaryFloatingPoint, Encoder: SNLPEncoder, Item: SNLPDataItem>: SNLPCorpus where Encoder.Scalar == Scalar { +struct InMemoryCorpus<Scalar: BinaryFloatingPoint, Encoder: SNLPEncoder, Item: SNLPDataItem>: SNLPCorpus where Encoder.Scalar == Scalar { internal var documentEncoder: Encoder @@ -41,14 +41,14 @@ final class InMemoryCorpus<Scalar: BinaryFloatingPoint, Encoder: SNLPEncoder, It documentEncoder = encoder } - func addUntokenizedDocument(_ document: Item) { + mutating func addUntokenizedDocument(_ document: Item) { documents.append(document) encodedDocuments.append(documentEncoder.encodeSentence(document.fullText)) assert( documents.count == encodedDocuments.count ) } - func addUntokenizedDocuments(_ documents: [Item]) { + mutating func addUntokenizedDocuments(_ documents: [Item]) { for document in documents { addUntokenizedDocument(document) } diff --git a/Tests/SwiftNLPTests/2. Encoding/NaturalLanguageEncoderTests.swift b/Tests/SwiftNLPTests/2. Encoding/NaturalLanguageEncoderTests.swift index 6c49181ce68aa4bb0e5f2652379a14c9500f2bf8..0f22e071158d0bc68c80f0cbc5d26d38484c0c02 100644 --- a/Tests/SwiftNLPTests/2. Encoding/NaturalLanguageEncoderTests.swift +++ b/Tests/SwiftNLPTests/2. Encoding/NaturalLanguageEncoderTests.swift @@ -77,7 +77,7 @@ final class NaturalLanguageEncoderTests: XCTestCase { let (submissions, _ ): ([Submission],[Data]) = try await loadFromRedditArchive(submissionsData) let encoder = NaturalLanguageEncoder<Double>() - let corpus = InMemoryCorpus<Double,NaturalLanguageEncoder,String>(encoder: encoder) + var corpus = InMemoryCorpus<Double,NaturalLanguageEncoder,String>(encoder: encoder) for submission in submissions { if let text = submission.selftext {