From 4b6f66fd512c254b5a82220dc77411fe391dd258 Mon Sep 17 00:00:00 2001 From: David Czihak Date: Sat, 9 May 2026 13:01:50 +0200 Subject: Chore: Rework examples for thorough extension testing --- examples/multi-step/src/main.zig | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/multi-step/src/main.zig (limited to 'examples/multi-step/src/main.zig') diff --git a/examples/multi-step/src/main.zig b/examples/multi-step/src/main.zig new file mode 100644 index 0000000..a984b18 --- /dev/null +++ b/examples/multi-step/src/main.zig @@ -0,0 +1,35 @@ +const std = @import("std"); +const lib = @import("multi_step"); + +pub fn main(init: std.process.Init) !void { + const io = init.io; + var buf: [4096]u8 = undefined; + var fw: std.Io.File.Writer = .init(.stdout(), io, &buf); + defer fw.interface.flush() catch {}; + const w = &fw.interface; + + const args = try init.minimal.args.toSlice(init.arena.allocator()); + const mode = if (args.len > 1) args[1] else ""; + + if (std.mem.eql(u8, mode, "--server")) { + try w.print("Server mode (simulated)\n", .{}); + return; + } + + if (std.mem.eql(u8, mode, "--bench")) { + const data = [_]i32{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + var i: u32 = 0; + while (i < 1_000_000) : (i += 1) { + _ = lib.sum(&data); + } + try w.print("bench: 1M sum() calls completed\n", .{}); + return; + } + + const data = [_]i32{ 10, 20, 30, 40, 50 }; + try w.print("data: {any}\n", .{data}); + try w.print("sum = {d}\n", .{lib.sum(&data)}); + try w.print("product = {d}\n", .{lib.product(&data)}); + try w.print("min = {?d}\n", .{lib.min(&data)}); + try w.print("max = {?d}\n", .{lib.max(&data)}); +} -- cgit v1.3