From 4b7dfe149422efa848e62a791b5ca73c2065480b Mon Sep 17 00:00:00 2001 From: Jose Colon Rodriguez Date: Fri, 16 Feb 2024 19:36:19 -0400 Subject: display_width with table --- src/main.zig | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/main.zig') diff --git a/src/main.zig b/src/main.zig index fe49300..3e65c7b 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,7 +1,10 @@ const std = @import("std"); // const GraphemeIterator = @import("ziglyph").GraphemeIterator; -const GraphemeIterator = @import("Grapheme").GraphemeIterator; +// const GraphemeIterator = @import("Grapheme").GraphemeIterator; +// const codePointWidth = @import("ziglyph").display_width.codePointWidth; +const codePointWidth = @import("display_width").codePointWidth; +const CodePointIterator = @import("CodePoint").CodePointIterator; pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; @@ -11,14 +14,15 @@ pub fn main() !void { const input = try std.fs.cwd().readFileAlloc(allocator, "lang_mix.txt", std.math.maxInt(u32)); defer allocator.free(input); - var result: usize = 0; - var iter = GraphemeIterator.init(input); + var result: isize = 0; + // var iter = GraphemeIterator.init(input); + var iter = CodePointIterator{ .bytes = input }; var timer = try std.time.Timer.start(); // for (0..50) |_| { - while (iter.next()) |_| result += 1; - iter.cp_iter.i = 0; + while (iter.next()) |cp| result += codePointWidth(@intCast(cp.code)); + // iter.cp_iter.i = 0; // } std.debug.print("result: {}, took: {}\n", .{ result, timer.lap() / std.time.ns_per_ms }); -- cgit v1.2.3