From 18e6221ade0fe62ac4c5fd1e27ed995a9813aba0 Mon Sep 17 00:00:00 2001 From: Evan Jones Date: Sat, 17 Jun 2023 21:58:17 -0400 Subject: [PATCH] rewrite ternary expressions Co-authored-by: Henri Vasserman --- llama.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/llama.cpp b/llama.cpp index 8cd2209d6..37d19ea91 100644 --- a/llama.cpp +++ b/llama.cpp @@ -2293,11 +2293,14 @@ void llama_sample_grammar(struct llama_context * ctx, llama_token_data_array * c // prune tokens based on first char only - in `llama_grammar_accept_token` we will find the // full matching prefix of the selected token - const bool valid = str[0] == ' ' - ? llama_grammar_peek(stacks_after_space, str[1]) - : str[0] || id == eos - ? llama_grammar_peek(grammar->stacks, id == eos ? 0 : str[0]) - : false; + bool valid = false; + if (id == eos) { + valid = llama_grammar_peek(grammar->stacks, 0); + } else if (str[0] == ' ') { + valid = llama_grammar_peek(stacks_after_space, str[1]); + } else if (str[0] != 0) { + valid = llama_grammar_peek(grammar->stacks, str[0]); + } if (!valid) { candidates->data[i].logit = -INFINITY;