diff options
Diffstat (limited to '_tests/test.zig')
| -rw-r--r-- | _tests/test.zig | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/_tests/test.zig b/_tests/test.zig new file mode 100644 index 0000000..7b4a04c --- /dev/null +++ b/_tests/test.zig @@ -0,0 +1,84 @@ +const std = @import("std"); + +pub fn main() void { + // const y: [3]u64 = .{ 1, 2, 3 }; + // const x: struct { u8, u64, u8 } = y; + // @import("std").debug.print("{}\n", .{x[0] + x[1] + x[2]}); + + std.debug.print("{}\n", .{@sizeOf(struct { a: u8, b: u64, c: u8, d: bool })}); +} + +// const x: ?u8 = 5; +// if (x == null) { +// return 1; +// } else |val| { +// return val; +// } +// var list = std.ArrayList(u8).init(std.heap.smp_allocator); +// try parseUniHex("1f4a9", &list); +// std.debug.print("{s}\n", .{list.items}); + +// fn parseUniHex( +// str: []const u8, +// s: *std.ArrayList(u8), +// ) !void { +// var uc: u21 = parseHexDigit1(str[0]); +// for (str[1..]) |c| { +// uc = try std.math.shlExact(u21, uc, 4); +// uc |= parseHexDigit1(c); +// } + +// std.debug.print("{u}\n", .{uc}); + +// const n = try std.unicode.utf8CodepointSequenceLength(uc); +// const buf = try s.addManyAsSlice(n); +// _ = try std.unicode.utf8Encode(uc, buf); +// } + +// fn parseHexByte1(h1: u8, h2: u8) u8 { +// const hi = parseHexDigit1(h1); +// const lo = parseHexDigit1(h2); +// return hi << 4 | lo; +// } + +// fn parseHexDigit1(c: u8) u8 { +// return switch (c) { +// '0'...'9' => c - '0', +// 'A'...'F' => c - 'A' + 10, +// 'a'...'f' => c - 'a' + 10, +// else => @panic(""), +// }; +// } + +// fn parseHexByte2(h1: u8, h2: u8) u8 { +// const hi: u8 = parseHexDigit2(h1); +// const lo = parseHexDigit2(h2); +// return hi << 4 | lo; +// } + +// fn parseHexDigit2(c: u8) u4 { +// return @intCast(switch (c) { +// '0'...'9' => c - '0', +// 'A'...'F' => c - 'A' + 10, +// 'a'...'f' => c - 'a' + 10, +// else => @panic(""), +// }); +// } + +// fn parseUniHex1(str: []const u8) !u21 { +// var uc: u21 = parseHexDigit1(str[0]); +// for (str[1..]) |c| { +// uc = try std.math.shlExact(u21, uc, 4); +// uc |= parseHexDigit1(c); +// } +// return uc; +// } + +// fn parseUniHex2(str: []const u8) !u21 { +// var uc: u21 = parseHexDigit2(str[0]); +// for (str[1..]) |c| { +// uc = try std.math.shlExact(u21, uc, 4); +// uc |= parseHexDigit2(c); +// } +// return uc; +// } |
