diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2025-03-28 21:14:12 +0100 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2025-03-28 21:14:12 +0100 |
| commit | 5025f9acf31cd880bbff62ff47ed03b69a0025ee (patch) | |
| tree | 866f9365ae87315b0d5e41a8fe27435b803ce706 /_tests/test.zig | |
| parent | 615e400ff150a3c355086664c7f9de512b5859dc (diff) | |
| parent | 2cbfacaedcc77e28e0a0473045cac689fb43a8ef (diff) | |
Merge branch 'new-parser'
Diffstat (limited to '_tests/test.zig')
| -rw-r--r-- | _tests/test.zig | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/_tests/test.zig b/_tests/test.zig new file mode 100644 index 0000000..e746851 --- /dev/null +++ b/_tests/test.zig @@ -0,0 +1,86 @@ +const std = @import("std"); + +pub fn main() u8 { + // 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 { u64, ?u8 })}); + + return while (true) if (true) break 1; +} + +// 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; +// } |
