From 38f1ea9b8021ee6e0378e438950770992030d39e Mon Sep 17 00:00:00 2001 From: Paul Chang Date: Thu, 18 Apr 2024 11:31:24 -0700 Subject: [PATCH] Eliminate redundant copies of TokenString() Move this function outside of HWY_NAMESPACE since it doesn't need to be optimized for any particular architecture. PiperOrigin-RevId: 626098641 --- gemma/gemma.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gemma/gemma.cc b/gemma/gemma.cc index 7aaf912..99c4d53 100644 --- a/gemma/gemma.cc +++ b/gemma/gemma.cc @@ -548,6 +548,13 @@ struct GemmaImpl : public GemmaInterface { hwy::AlignedUniquePtr> state; }; +template +std::string TokenString(GemmaImpl& gemma, int token) { + std::string token_str; + gemma.Tokenizer()->Decode({token}, &token_str); + return "'" + std::regex_replace(token_str, std::regex("\n"), "\\n") + "'"; +} + } // namespace gcpp #endif // GEMMA_ONCE @@ -1121,13 +1128,6 @@ void GenerateImpl(GemmaImpl& gemma, size_t max_tokens, } } -template -std::string TokenString(GemmaImpl& gemma, int token) { - std::string token_str; - gemma.Tokenizer()->Decode({token}, &token_str); - return "'" + std::regex_replace(token_str, std::regex("\n"), "\\n") + "'"; -} - #define TOKEN(token_id) TokenString(gemma, token_id).c_str() template