From f04678752352d62a6e9a7bb238e3451299520628 Mon Sep 17 00:00:00 2001 From: Rekai Musuka Date: Fri, 21 Oct 2022 05:12:15 -0300 Subject: [PATCH] chore: reorganize util.zig --- src/util.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/util.zig b/src/util.zig index 1e9f143..2b74378 100644 --- a/src/util.zig +++ b/src/util.zig @@ -1,6 +1,10 @@ const std = @import("std"); -pub fn signExtend(comptime T: type, comptime bits: usize, value: anytype) T { +pub fn u32SignExtend(comptime bits: usize, value: u32) u32 { + return @bitCast(u32, signExtend(i32, bits, @bitCast(i32, value))); +} + +fn signExtend(comptime T: type, comptime bits: usize, value: anytype) T { const ValT = comptime @TypeOf(value); comptime std.debug.assert(isInteger(ValT)); comptime std.debug.assert(isSigned(ValT)); @@ -16,10 +20,6 @@ pub fn signExtend(comptime T: type, comptime bits: usize, value: anytype) T { return ((value & ((1 << bits) - 1)) << bit_diff) >> bit_diff; } -pub fn u32SignExtend(comptime bits: usize, value: u32) u32 { - return @bitCast(u32, signExtend(i32, bits, @bitCast(i32, value))); -} - fn isInteger(comptime T: type) bool { return @typeInfo(T) == .Int; }