From 021855f56009874d765d4ddacb643e8ff2585b01 Mon Sep 17 00:00:00 2001 From: 2wenty1ne Date: Thu, 9 Jan 2025 17:52:45 +0100 Subject: [PATCH] device transfer --- u2Vector.zig | 39 +++++++++++++++++++++++++++++---------- u2VectorSelf.zig | 27 +++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 u2VectorSelf.zig diff --git a/u2Vector.zig b/u2Vector.zig index 36a902d..8bf4f42 100644 --- a/u2Vector.zig +++ b/u2Vector.zig @@ -32,23 +32,42 @@ pub fn print(writer: anytype, num: complexNumber) !void { pub fn main() !void { const writer = std.io.getStdOut().writer(); - const num: complexNumber = complexNumber{.real = 1, .img = 2}; - try print(writer, num); - try writer.print("\n", .{}); - + // Add var num1: complexNumber = complexNumber{.real = 1, .img = 2}; const num2: complexNumber = complexNumber{.real = 2, .img = 3}; - - try writer.print("Num1: ", .{}); - try print(writer, num1); - try writer.print("\n", .{}); - + + try writer.print("Add: \n", .{}); try print(writer, num1); try writer.print(" + ", .{}); try print(writer, num2); try writer.print(" = ", .{}); add(&num1, num2); - try print(writer, num1); try writer.print("\n", .{}); + + // Sub + var num3: complexNumber = complexNumber{.real = 4, .img = 6}; + const num4: complexNumber = complexNumber{.real = 2, .img = 4}; + + try writer.print("Sub: \n", .{}); + try print(writer, num3); + try writer.print(" - ", .{}); + try print(writer, num4); + try writer.print(" = ", .{}); + sub(&num3, num4); + try print(writer, num3); + try writer.print("\n", .{}); + + // Mul + var num5: complexNumber = complexNumber{.real = 2, .img = 3}; + const num6: complexNumber = complexNumber{.real = 4, .img = 5}; + + try writer.print("Mul: \n", .{}); + try print(writer, num5); + try writer.print(" * ", .{}); + try print(writer, num6); + try writer.print(" = ", .{}); + mul(&num5, num6); + try print(writer, num5); + try writer.print("\n", .{}); } diff --git a/u2VectorSelf.zig b/u2VectorSelf.zig new file mode 100644 index 0000000..cbab00c --- /dev/null +++ b/u2VectorSelf.zig @@ -0,0 +1,27 @@ +const std = @import("std"); + +const ComplexNumber = struct { + const writer: std.io.Writer(std.io.OutStream) = std.io.getStdOut().writer(); + real: i32, + img: i32, + + pub fn init(self: ComplexNumber, real: i32, img: i32) void { + self.real = real; + self.img = img; + } + + fn print(self: ComplexNumber) void { + try writer.print("({d} + {d})", .{self.real, self.img}); + } + + fn add(self: ComplexNumber, other: ComplexNumber) void { + self.real = self.real + other.real; + self.img = self.img + other.img; + } +}; + +pub fn main() void { + var num1: ComplexNumber = undefined; + num1.init(1,2); + num1.print(); +}