summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jose Colon Rodriguez2024-03-01 20:53:07 -0400
committerGravatar Jose Colon Rodriguez2024-03-01 20:53:07 -0400
commit340004b5077097539a333afbdb2864d75348f9b1 (patch)
tree441d609edfff5d5f1af7797dc32589f8b88e469e /src
parentAdded canonical caseless match to Caser (diff)
downloadzg-340004b5077097539a333afbdb2864d75348f9b1.tar.gz
zg-340004b5077097539a333afbdb2864d75348f9b1.tar.xz
zg-340004b5077097539a333afbdb2864d75348f9b1.zip
Normalizer back to 300k in Safe
Diffstat (limited to 'src')
-rw-r--r--src/main.zig32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/main.zig b/src/main.zig
index f9ce28e..0b40b66 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -19,7 +19,7 @@ const std = @import("std");
19// const Normalizer = @import("ziglyph").Normalizer; 19// const Normalizer = @import("ziglyph").Normalizer;
20const Normalizer = @import("Normalizer"); 20const Normalizer = @import("Normalizer");
21 21
22const Caser = @import("Caser"); 22// const Caser = @import("Caser");
23 23
24// const GenCatData = @import("GenCatData"); 24// const GenCatData = @import("GenCatData");
25 25
@@ -44,9 +44,9 @@ pub fn main() !void {
44 // var gencat_data = try GenCatData.init(allocator); 44 // var gencat_data = try GenCatData.init(allocator);
45 // defer gencat_data.deinit(); 45 // defer gencat_data.deinit();
46 46
47 var fold_data = try Caser.FoldData.init(allocator); 47 // var fold_data = try Caser.FoldData.init(allocator);
48 defer fold_data.deinit(); 48 // defer fold_data.deinit();
49 var caser = Caser{ .fold_data = &fold_data }; 49 // var caser = Caser{ .fold_data = &fold_data };
50 50
51 // var iter = GraphemeIterator.init(input, &data); 51 // var iter = GraphemeIterator.init(input, &data);
52 // defer iter.deinit(); 52 // defer iter.deinit();
@@ -54,28 +54,28 @@ pub fn main() !void {
54 var iter = std.mem.splitScalar(u8, input, '\n'); 54 var iter = std.mem.splitScalar(u8, input, '\n');
55 55
56 var result: usize = 0; 56 var result: usize = 0;
57 var prev_line: []const u8 = ""; 57 // var prev_line: []const u8 = "";
58 // var result: isize = 0; 58 // var result: isize = 0;
59 var timer = try std.time.Timer.start(); 59 var timer = try std.time.Timer.start();
60 60
61 // while (iter.next()) |cp| result += codePointWidth(@intCast(cp.code)); 61 // while (iter.next()) |cp| result += codePointWidth(@intCast(cp.code));
62 // while (iter.next()) |_| result += 1; 62 // while (iter.next()) |_| result += 1;
63 // while (iter.next()) |line| result += strWidth(line, &data); 63 // while (iter.next()) |line| result += strWidth(line, &data);
64 // while (iter.next()) |line| { 64 while (iter.next()) |line| {
65 // const nfc = try n.nfkc(allocator, line); 65 const nfc = try norm.nfc(allocator, line);
66 // result += nfc.slice.len; 66 result += nfc.slice.len;
67 // // nfc.deinit(); 67 // nfc.deinit();
68 // } 68 }
69 // while (iter.next()) |cp| { 69 // while (iter.next()) |cp| {
70 // if (cp.code == 'É') std.debug.print("`{u}` Gc: {s}\n", .{ cp.code, @tagName(gencat_data.gc(cp.code)) }); 70 // if (cp.code == 'É') std.debug.print("`{u}` Gc: {s}\n", .{ cp.code, @tagName(gencat_data.gc(cp.code)) });
71 // result += 1; 71 // result += 1;
72 // } 72 // }
73 while (iter.next()) |line| { 73 // while (iter.next()) |line| {
74 if (try caser.canonCaselessMatch(allocator, &norm, prev_line, line)) { 74 // if (try caser.canonCaselessMatch(allocator, &norm, prev_line, line)) {
75 result += line.len; 75 // result += line.len;
76 } 76 // }
77 prev_line = line; 77 // prev_line = line;
78 } 78 // }
79 79
80 std.debug.print("result: {}, took: {}\n", .{ result, timer.lap() / std.time.ns_per_ms }); 80 std.debug.print("result: {}, took: {}\n", .{ result, timer.lap() / std.time.ns_per_ms });
81} 81}