summaryrefslogtreecommitdiff
path: root/_tests/test.zig
diff options
context:
space:
mode:
Diffstat (limited to '_tests/test.zig')
-rw-r--r--_tests/test.zig84
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;
+// }