commit 757c0be

Artur Manuel  ·  2025-11-15 11:42:14 +0000 UTC
parent a9be55e
refactor(zig): move buffer to main rather than reallocate a new buffer
1 files changed,  +4, -4
+4, -4
 1@@ -7,9 +7,8 @@ fn collatz(a: i32) i32 {
 2     return 3 * a + 1;
 3 }
 4 
 5-fn collatzSequence(a: i32) ![]u8 {
 6-    var buffer: [8192]u8 = undefined;
 7-    var fbs = std.io.fixedBufferStream(&buffer);
 8+fn collatzSequence(buffer: []u8, a: i32) ![]u8 {
 9+    var fbs = std.io.fixedBufferStream(buffer);
10     defer fbs.reset();
11     var writer = fbs.writer();
12 
13@@ -27,10 +26,11 @@ fn collatzSequence(a: i32) ![]u8 {
14 }
15 
16 pub fn main() !void {
17+    var buffer: [8192]u8 = undefined;
18     const stdout = std.io.getStdOut().writer();
19     var i: i32 = 1;
20     while (i <= 10000) : (i += 1) {
21-        const message = try collatzSequence(i);
22+        const message = try collatzSequence(&buffer, i);
23         _ = try stdout.write(message);
24     }
25 }