diff --git a/LLama/LLamaQuantizer.cs b/LLama/LLamaQuantizer.cs index 4e541e920..a14158878 100644 --- a/LLama/LLamaQuantizer.cs +++ b/LLama/LLamaQuantizer.cs @@ -34,12 +34,12 @@ public static bool Quantize( quantizeParams.nthread = nthread; quantizeParams.allow_requantize = allowRequantize; quantizeParams.quantize_output_tensor = quantizeOutputTensor; - //todo: fill in other quantize params fields. - unsafe - { - return NativeApi.llama_model_quantize(srcFileName, dstFilename, &quantizeParams) == 0; - } + // todo: fill in other quantize params fields. + // This method could probably do with a redesign - passing in a config object (maybe directly + // expose `LLamaModelQuantizeParams`) instead of an ever growing list of method parameters! + + return NativeApi.llama_model_quantize(srcFileName, dstFilename, ref quantizeParams) == 0; } /// diff --git a/LLama/Native/NativeApi.Quantize.cs b/LLama/Native/NativeApi.Quantize.cs index 1c4909bf4..a2a372bc8 100644 --- a/LLama/Native/NativeApi.Quantize.cs +++ b/LLama/Native/NativeApi.Quantize.cs @@ -12,6 +12,6 @@ public static partial class NativeApi /// /// Returns 0 on success [DllImport(libraryName, CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe uint llama_model_quantize(string fname_inp, string fname_out, LLamaModelQuantizeParams* param); + public static extern uint llama_model_quantize(string fname_inp, string fname_out, ref LLamaModelQuantizeParams param); } }