diff --git a/LLama/Abstractions/IModelParams.cs b/LLama/Abstractions/IModelParams.cs
index 3b1553d5..4b4236f7 100644
--- a/LLama/Abstractions/IModelParams.cs
+++ b/LLama/Abstractions/IModelParams.cs
@@ -269,7 +269,7 @@ namespace LLama.Abstractions
dest.FloatValue = _valueFloat;
break;
case LLamaModelKvOverrideType.LLAMA_KV_OVERRIDE_BOOL:
- dest.BoolValue = _valueBool ? -1 : 0;
+ dest.BoolValue = _valueBool ? -1L : 0;
break;
default:
throw new ArgumentOutOfRangeException();
diff --git a/LLama/Native/LLamaModelMetadataOverride.cs b/LLama/Native/LLamaModelMetadataOverride.cs
index 7f685edf..e92ad731 100644
--- a/LLama/Native/LLamaModelMetadataOverride.cs
+++ b/LLama/Native/LLamaModelMetadataOverride.cs
@@ -21,22 +21,28 @@ public unsafe struct LLamaModelMetadataOverride
public LLamaModelKvOverrideType Tag;
///
- /// Value, **must** only be used if Tag == LLAMA_KV_OVERRIDE_INT
+ /// Add 4 bytes of padding, to align the next fields to 8 bytes
///
[FieldOffset(132)]
+ private readonly int PADDING;
+
+ ///
+ /// Value, **must** only be used if Tag == LLAMA_KV_OVERRIDE_INT
+ ///
+ [FieldOffset(136)]
public long IntValue;
///
/// Value, **must** only be used if Tag == LLAMA_KV_OVERRIDE_FLOAT
///
- [FieldOffset(132)]
+ [FieldOffset(136)]
public double FloatValue;
///
/// Value, **must** only be used if Tag == LLAMA_KV_OVERRIDE_BOOL
///
- [FieldOffset(132)]
- public int BoolValue;
+ [FieldOffset(136)]
+ public long BoolValue;
}
///