MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / llama_grammar_copy

Function llama_grammar_copy

llama.cpp:8110–8127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8108}
8109
8110struct llama_grammar * llama_grammar_copy(const struct llama_grammar * grammar) {
8111 llama_grammar * result = new llama_grammar{ grammar->rules, grammar->stacks, grammar->partial_utf8 };
8112
8113 // redirect elements in stacks to point to new rules
8114 for (size_t is = 0; is < result->stacks.size(); is++) {
8115 for (size_t ie = 0; ie < result->stacks[is].size(); ie++) {
8116 for (size_t ir0 = 0; ir0 < grammar->rules.size(); ir0++) {
8117 for (size_t ir1 = 0; ir1 < grammar->rules[ir0].size(); ir1++) {
8118 if (grammar->stacks[is][ie] == &grammar->rules[ir0][ir1]) {
8119 result->stacks[is][ie] = &result->rules[ir0][ir1];
8120 }
8121 }
8122 }
8123 }
8124 }
8125
8126 return result;
8127}
8128
8129//
8130// sampling

Callers 1

llama_sampling_cpFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected