diff --git a/util/timer.zig b/util/timer.zig index 78ef00b..09e1355 100644 --- a/util/timer.zig +++ b/util/timer.zig @@ -5,12 +5,12 @@ pub const Timer = struct { elapsedTime: u64 = 0, pub fn start(self: *Timer) void { - self.startTime = @intCast(std.time.microTimestamp()); + self.startTime = @intCast(u64, std.time.microTimestamp()); } pub fn stop(self: *Timer) void { if (self.startTime != 0) { - var stamp: u64 = @intCast(std.time.microTimestamp()); + var stamp: u64 = @intCast(u64, std.time.microTimestamp()); self.elapsedTime = stamp - self.startTime; } self.startTime = 0; @@ -20,12 +20,12 @@ pub const Timer = struct { if (self.startTime == 0) { return self.elapsedTime; } else { - var stamp: u64 = @intCast(std.time.microTimestamp()); + var stamp: u64 = @intCast(u64, std.time.microTimestamp()); return stamp - self.startTime; } } pub fn reset(self: *Timer) void { - self.startTime = @intCast(std.time.microTimestamp()); + self.startTime = @intCast(u64, std.time.microTimestamp()); } }; diff --git a/zbench.zig b/zbench.zig index 1b3fe24..b0fab43 100644 --- a/zbench.zig +++ b/zbench.zig @@ -16,7 +16,7 @@ pub const Benchmark = struct { startTime: u64, pub fn init(name: []const u8, allocator: *std.mem.Allocator) !Benchmark { - var startTime: u64 = @intCast(std.time.microTimestamp()); + var startTime: u64 = @intCast(u64, std.time.microTimestamp()); if (startTime < 0) { std.debug.warn("Failed to get start time. Defaulting to 0.\n", .{}); startTime = 0; @@ -247,7 +247,7 @@ pub fn run(comptime func: BenchFunc, bench: *Benchmark, benchResult: *BenchmarkR const progress = pr * 100; // Print the progress if it's a new percentage - const currentProgress: u8 = @truncate(progress); + const currentProgress: u8 = @truncate(u8, progress); if (currentProgress != lastProgress) { std.debug.print("Progress...({}%)\n", .{currentProgress}); lastProgress = currentProgress; @@ -258,7 +258,7 @@ pub fn run(comptime func: BenchFunc, bench: *Benchmark, benchResult: *BenchmarkR duration = bench.elapsed(); // Adjust N based on the actual duration achieved - bench.N = @intCast((bench.N * MIN_DURATION) / duration); + bench.N = @intCast(usize, (bench.N * MIN_DURATION) / duration); // Now run the benchmark with the adjusted N value bench.reset();