Add widening/shortening vector dimensions

This commit is contained in:
2026-01-04 17:13:31 +01:00
parent ed6391e97a
commit 7e8103565d
12 changed files with 102 additions and 6 deletions

View File

@@ -48,6 +48,14 @@ pub const Vector3Int_x8 = struct {
// --- CONVERSION ----------------------------------------------------------
pub inline fn dropZ(self: Vector3Int_x8) vm.Vector2Int_x8 {
return .{ .x = self.x, .y = self.y };
}
pub inline fn withW(self: Vector3Int_x8, w: vm.i32x8) vm.Vector4Int_x8 {
return .{ .x = self.x, .y = self.y, .z = self.z, .w = w };
}
pub inline fn asArrayOfVectors(self: Vector3Int_x8) [8]vm.Vector3Int {
const vector: @Vector(24, i32) = self.x ++ self.y ++ self.z;
return @bitCast(@as([16]i32, @shuffle(i32, vector, undefined, [_]i32{