fn test__addo_limb64(comptime T: type, a: T, b: T, expected: struct
fn test__addo_limb64(comptime T: type, a: T, b: T, expected: struct { T, bool }) !void { const int_info = @typeInfo(T).int; const is_signed = int_info.signedness == .signed; var a_limbs = asLimbs(a); var b_limbs = asLimbs(b); var out: Limbs(T) = undefined; const overflow = __addo_limb64(&out, &a_limbs, &b_limbs, is_signed, int_info.bits); const expected_limbs = asLimbs(expected[0]); try testing.expectEqual(expected_limbs, out); try testing.expectEqual(expected[1], overflow); }