| 195 | } |
| 196 | |
| 197 | void llama_kv_cache_unified::seq_keep(llama_seq_id seq_id) { |
| 198 | uint32_t new_head = cells.size(); |
| 199 | |
| 200 | for (uint32_t i = 0; i < cells.size(); ++i) { |
| 201 | if (cells.seq_keep(i, seq_id)) { |
| 202 | if (new_head == cells.size()) { |
| 203 | new_head = i; |
| 204 | } |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | // If we freed up a slot, set head to it so searching can start there. |
| 209 | if (new_head != cells.size() && new_head < head) { |
| 210 | head = new_head; |
| 211 | } |
| 212 | } |
| 213 | |
| 214 | void llama_kv_cache_unified::seq_add(llama_seq_id seq_id, llama_pos p0, llama_pos p1, llama_pos shift) { |
| 215 | if (shift == 0) { |
no test coverage detected