limb64: make fixLastLimb endian aware

This commit is contained in:
Pavel Verigo
2026-04-16 20:19:09 +02:00
parent 9636d76b6d
commit 70c4b2424b
+3 -2
View File
@@ -57,9 +57,10 @@ fn fixLastLimb(out_ptr: [*]u64, is_signed: bool, bits: u16) void {
if (limb_cnt == true_limb_cnt) return;
const true_out = out_ptr[0..true_limb_cnt];
const sign: u64 = if (!is_signed or @as(i64, @bitCast(true_out[limb_cnt - 1])) >= 0) 0 else ~@as(u64, 0);
const ms = limbGet(true_out, limb_cnt - 1);
const sign: u64 = if (!is_signed or @as(i64, @bitCast(ms)) >= 0) 0 else ~@as(u64, 0);
for (limb_cnt..true_limb_cnt) |i| {
true_out[i] = sign;
limbSet(true_out, i, sign);
}
}