about summary refs log tree commit diff
path: root/lang/zig/multidim.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lang/zig/multidim.zig')
-rw-r--r--lang/zig/multidim.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/zig/multidim.zig b/lang/zig/multidim.zig
new file mode 100644
index 0000000..bf30c80
--- /dev/null
+++ b/lang/zig/multidim.zig
@@ -0,0 +1,20 @@
+const expect = @import("std").testing.expect;
+
+const mat4x4 = [4][4]f32{
+    [_]f32{ 1.0, 0.0, 0.0, 0.0 },
+    [_]f32{ 0.0, 1.0, 0.0, 1.0 },
+    [_]f32{ 0.0, 0.0, 1.0, 0.0 },
+    [_]f32{ 0.0, 0.0, 0.0, 1.0 },
+};
+
+test "multidimensional arrays" {
+    // Access the 2D array by indexing the outer array,
+    // and then the inner array.
+    expect(mat4x4[1][1] == 1.0);
+
+    // Here we iterate with for loops.
+    for (mat4x4) |row, row_index|
+        for (row) |cell, column_index|
+            if (row_index == column_index)
+                expect(cell == 1.0);
+}