From 4fe97f8f42ae9cf88ef90706d39bcc2bb5a94a10 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 21 Jun 2025 18:54:17 -0700 Subject: [PATCH] faster countScalar --- src/countScalar.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/countScalar.zig b/src/countScalar.zig index 995167b3f1a1de5fec5dab983ce4d71f214cb116..b6c6e421c1245599a03b71196fa7e01c94126615 100644 --- a/src/countScalar.zig +++ b/src/countScalar.zig @@ -3,13 +3,14 @@ const string = []const u8; const extras = @import("./lib.zig"); pub fn countScalar(comptime T: type, haystack: []const T, needle: T) usize { + var i: usize = 0; var found: usize = 0; - for (haystack) |item| { - if (item == needle) { - found += 1; - } + while (std.mem.indexOfScalarPos(T, haystack, i, needle)) |idx| { + i = idx + 1; + found += 1; } + return found; } -- 2.54.0