|
|
@@ -349,13 +349,26 @@ void llama_sampler_chain_add(struct llama_sampler * chain, struct llama_sampler
|
|
|
struct llama_sampler * llama_sampler_chain_get(const struct llama_sampler * chain, int32_t i) {
|
|
|
const auto * p = (const llama_sampler_chain *) chain->ctx;
|
|
|
|
|
|
- if (i < 0 || i >= (int32_t) p->samplers.size()) {
|
|
|
+ if (i < 0 || (size_t) i >= p->samplers.size()) {
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
return p->samplers[i];
|
|
|
}
|
|
|
|
|
|
+struct llama_sampler * llama_sampler_chain_remove(struct llama_sampler * chain, int32_t i) {
|
|
|
+ auto * p = (llama_sampler_chain *) chain->ctx;
|
|
|
+
|
|
|
+ if (i < 0 || (size_t) i >= p->samplers.size()) {
|
|
|
+ return nullptr;
|
|
|
+ }
|
|
|
+
|
|
|
+ auto * result = p->samplers[i];
|
|
|
+ p->samplers.erase(p->samplers.begin() + i);
|
|
|
+
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
int llama_sampler_chain_n(const struct llama_sampler * chain) {
|
|
|
const auto * p = (const llama_sampler_chain *) chain->ctx;
|
|
|
|