diff options
author | Christian Segundo | 2022-12-05 17:00:08 +0100 |
---|---|---|
committer | Christian Segundo | 2022-12-05 22:16:11 +0100 |
commit | 061a5bae272f45db6dcde99746922735f9769d25 (patch) | |
tree | e4dd9b6d903930c5c1b76286b4a08beea6f59162 /util | |
parent | 8817203517907ef4248bde7474e6fb566515d6a7 (diff) | |
download | advent-of-zig-2022-061a5bae272f45db6dcde99746922735f9769d25.tar.gz |
add day 5
Diffstat (limited to 'util')
-rw-r--r-- | util/aoc.zig | 20 | ||||
-rw-r--r-- | util/mem.zig | 19 |
2 files changed, 20 insertions, 19 deletions
diff --git a/util/aoc.zig b/util/aoc.zig new file mode 100644 index 0000000..0c3e668 --- /dev/null +++ b/util/aoc.zig @@ -0,0 +1,20 @@ +const std = @import("std"); + +pub const Result = union(enum) { + int: i32, + string: []const u8, + + pub fn cmp(self: Result, result: Result) bool { + switch (self) { + .int => |i| return i == result.int, + .string => |s| return std.mem.eql(u8, s, result.string), + } + } + + pub fn deinit(self: Result, allocator: std.mem.Allocator) void { + switch (self) { + .string => |s| return allocator.free(s), + else => {}, + } + } +}; diff --git a/util/mem.zig b/util/mem.zig deleted file mode 100644 index 728db44..0000000 --- a/util/mem.zig +++ /dev/null @@ -1,19 +0,0 @@ -const std = @import("std"); - -const math = std.math; -const testing_allocator = std.testing.allocator; - -/// Returns the position of the smallest number in a slice. -pub fn min_idx(comptime T: type, slice: []const T) usize { - var best = slice[0]; - var idx: usize = 0; - - for (slice[1..]) |item, i| { - const possible_best = math.min(best, item); - if (best > possible_best) { - best = possible_best; - idx = i + 1; - } - } - return idx; -} |