summaryrefslogtreecommitdiff
path: root/examples/batched.swift/Sources
diff options
context:
space:
mode:
authorMiwa / Ensan <63481257+ensan-hcl@users.noreply.github.com>2023-12-02 03:19:45 +0900
committerGitHub <noreply@github.com>2023-12-01 20:19:45 +0200
commitb220222a64ce760bfbec9c770f11db3ec6a6abb6 (patch)
treeb320c9bde0fbaed89e98e124143269a4e585477a /examples/batched.swift/Sources
parent511f52c334e37033f9c9de07b98fca4abc9470bd (diff)
swift : fix token_to_piece implementation (#4278)
* Fix token_to_piece implementation in Swift * Fix errors
Diffstat (limited to 'examples/batched.swift/Sources')
-rw-r--r--examples/batched.swift/Sources/main.swift10
1 files changed, 3 insertions, 7 deletions
diff --git a/examples/batched.swift/Sources/main.swift b/examples/batched.swift/Sources/main.swift
index ba15197a..ce9d80d9 100644
--- a/examples/batched.swift/Sources/main.swift
+++ b/examples/batched.swift/Sources/main.swift
@@ -230,18 +230,15 @@ private func token_to_piece(token: llama_token, buffer: inout [CChar]) -> String
var result = [CChar](repeating: 0, count: 8)
let nTokens = llama_token_to_piece(model, token, &result, Int32(result.count))
if nTokens < 0 {
- if result.count >= -Int(nTokens) {
- result.removeLast(-Int(nTokens))
- } else {
- result.removeAll()
- }
+ let actualTokensCount = -Int(nTokens)
+ result = .init(repeating: 0, count: actualTokensCount)
let check = llama_token_to_piece(
model,
token,
&result,
Int32(result.count)
)
- assert(check == nTokens)
+ assert(check == actualTokensCount)
} else {
result.removeLast(result.count - Int(nTokens))
}
@@ -259,5 +256,4 @@ private func token_to_piece(token: llama_token, buffer: inout [CChar]) -> String
buffer = []
return bufferString
}
- return nil
}