From 8ab21b7ec6bd83fe12b48534e4f670500e8d5e2c Mon Sep 17 00:00:00 2001 From: Tom Barrett Date: Wed, 21 Dec 2022 21:53:24 +0100 Subject: move to file --- src/vec.zig | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/vec.zig (limited to 'src/vec.zig') diff --git a/src/vec.zig b/src/vec.zig new file mode 100644 index 0000000..cc245a4 --- /dev/null +++ b/src/vec.zig @@ -0,0 +1,25 @@ +pub const vec = @Vector(3, f32); + +pub fn init(x: f32, y: f32, z: f32) vec { + return @Vector(3, f32){ x, y, z }; +} + +pub fn scalar(x: f32) vec { + return @splat(3, x); +} + +pub fn unit_vector(v: vec) vec { + return v / scalar(length(v)); +} + +pub fn length_squared(v: vec) f32 { + return v[0] * v[0] + v[1] * v[1] + v[2] * v[2]; +} + +pub fn length(v: vec) f32 { + return @sqrt(length_squared(v)); +} + +pub fn dot(x: vec, y: vec) f32 { + return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; +} -- cgit v1.2.3