diff --git a/include/llama.h b/include/llama.h index 2fe09bc615..6161b36bf2 100644 --- a/include/llama.h +++ b/include/llama.h @@ -1310,8 +1310,7 @@ extern "C" { LLAMA_API void llama_sampler_apply ( struct llama_sampler * smpl, llama_token_data_array * cur_p); LLAMA_API void llama_sampler_reset ( struct llama_sampler * smpl); LLAMA_API struct llama_sampler * llama_sampler_clone (const struct llama_sampler * smpl); - // copy the state of src into dst; both must be samplers of the same type - LLAMA_API void llama_sampler_copy ( struct llama_sampler * dst, const struct llama_sampler * src); + LLAMA_API void llama_sampler_copy (const struct llama_sampler * src, struct llama_sampler * dst); // important: do not free if the sampler has been added to a llama_sampler_chain (via llama_sampler_chain_add) LLAMA_API void llama_sampler_free ( struct llama_sampler * smpl); diff --git a/src/llama-sampler.cpp b/src/llama-sampler.cpp index 7cad9837c6..5f5b8484d6 100644 --- a/src/llama-sampler.cpp +++ b/src/llama-sampler.cpp @@ -417,12 +417,12 @@ struct llama_sampler * llama_sampler_clone(const struct llama_sampler * smpl) { GGML_ABORT("the sampler does not support cloning"); } -void llama_sampler_copy(struct llama_sampler * dst, const struct llama_sampler * src) { - if (!dst || !src) { +void llama_sampler_copy(const struct llama_sampler * src, struct llama_sampler * dst) { + if (!src || !dst) { return; } - GGML_ASSERT(dst->iface == src->iface && "llama_sampler_copy: cannot copy between different sampler types"); + GGML_ASSERT(src->iface == dst->iface && "llama_sampler_copy: cannot copy between different sampler types"); // build a temporary sampler carrying src's current state llama_sampler * tmp = llama_sampler_clone(src);