mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-25 10:54:36 +00:00
grammar, json, llama: replace push on emplace if it possible (#7273)
This commit is contained in:
parent
ad52d5c259
commit
0350f58152
@ -26,7 +26,7 @@ namespace grammar_parser {
|
|||||||
|
|
||||||
static uint32_t get_symbol_id(parse_state & state, const char * src, size_t len) {
|
static uint32_t get_symbol_id(parse_state & state, const char * src, size_t len) {
|
||||||
uint32_t next_id = static_cast<uint32_t>(state.symbol_ids.size());
|
uint32_t next_id = static_cast<uint32_t>(state.symbol_ids.size());
|
||||||
auto result = state.symbol_ids.insert(std::make_pair(std::string(src, len), next_id));
|
auto result = state.symbol_ids.emplace(std::string(src, len), next_id);
|
||||||
return result.first->second;
|
return result.first->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ private:
|
|||||||
if (literal.empty()) {
|
if (literal.empty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ret.push_back(std::make_pair(literal, true));
|
ret.emplace_back(literal, true);
|
||||||
literal.clear();
|
literal.clear();
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
@ -298,7 +298,7 @@ private:
|
|||||||
while (i < length) {
|
while (i < length) {
|
||||||
char c = sub_pattern[i];
|
char c = sub_pattern[i];
|
||||||
if (c == '.') {
|
if (c == '.') {
|
||||||
seq.push_back(std::make_pair(get_dot(), false));
|
seq.emplace_back(get_dot(), false);
|
||||||
i++;
|
i++;
|
||||||
} else if (c == '(') {
|
} else if (c == '(') {
|
||||||
i++;
|
i++;
|
||||||
@ -307,7 +307,7 @@ private:
|
|||||||
_warnings.push_back("Unsupported pattern syntax");
|
_warnings.push_back("Unsupported pattern syntax");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
seq.push_back(std::make_pair("(" + to_rule(transform()) + ")", false));
|
seq.emplace_back("(" + to_rule(transform()) + ")", false);
|
||||||
} else if (c == ')') {
|
} else if (c == ')') {
|
||||||
i++;
|
i++;
|
||||||
if (start > 0 && sub_pattern[start - 1] != '(') {
|
if (start > 0 && sub_pattern[start - 1] != '(') {
|
||||||
@ -331,9 +331,9 @@ private:
|
|||||||
}
|
}
|
||||||
square_brackets += ']';
|
square_brackets += ']';
|
||||||
i++;
|
i++;
|
||||||
seq.push_back(std::make_pair(square_brackets, false));
|
seq.emplace_back(square_brackets, false);
|
||||||
} else if (c == '|') {
|
} else if (c == '|') {
|
||||||
seq.push_back(std::make_pair("|", false));
|
seq.emplace_back("|", false);
|
||||||
i++;
|
i++;
|
||||||
} else if (c == '*' || c == '+' || c == '?') {
|
} else if (c == '*' || c == '+' || c == '?') {
|
||||||
seq.back() = std::make_pair(to_rule(seq.back()) + c, false);
|
seq.back() = std::make_pair(to_rule(seq.back()) + c, false);
|
||||||
@ -417,7 +417,7 @@ private:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!literal.empty()) {
|
if (!literal.empty()) {
|
||||||
seq.push_back(std::make_pair(literal, true));
|
seq.emplace_back(literal, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17015,13 +17015,13 @@ static size_t llama_state_seq_get_data_internal(struct llama_context * ctx, llam
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (cell_range_begin != kv_self.size) {
|
if (cell_range_begin != kv_self.size) {
|
||||||
cell_ranges.push_back({ cell_range_begin, i });
|
cell_ranges.emplace_back(cell_range_begin, i);
|
||||||
cell_range_begin = kv_self.size;
|
cell_range_begin = kv_self.size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cell_range_begin != kv_self.size) {
|
if (cell_range_begin != kv_self.size) {
|
||||||
cell_ranges.push_back({ cell_range_begin, kv_self.size });
|
cell_ranges.emplace_back(cell_range_begin, kv_self.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEBUG CHECK: Sum of cell counts in ranges should equal the total cell count
|
// DEBUG CHECK: Sum of cell counts in ranges should equal the total cell count
|
||||||
|
Loading…
Reference in New Issue
Block a user