Skip to content

Instantly share code, notes, and snippets.

@hariedo
Created May 4, 2026 20:09
Show Gist options
  • Select an option

  • Save hariedo/a2db34ea5e44d66046a2bdcef7be51e3 to your computer and use it in GitHub Desktop.

Select an option

Save hariedo/a2db34ea5e44d66046a2bdcef7be51e3 to your computer and use it in GitHub Desktop.
// Swizzle.cs
//
using System;
using UnityEngine;
namespace Screenplay
{
public static class Swizzles
{
public enum Order
{
xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww,
xxx, xxy, xxz, xxw, xyx, xyy, xyz, xyw, xzx, xzy, xzz, xzw, xwx,
xwy, xwz, xww, yxx, yxy, yxz, yxw, yyx, yyy, yyz, yyw, yzx, yzy,
yzz, yzw, ywx, ywy, ywz, yww, zxx, zxy, zxz, zxw, zyx, zyy, zyz,
zyw, zzx, zzy, zzz, zzw, zwx, zwy, zwz, zww, wxx, wxy, wxz, wxw,
wyx, wyy, wyz, wyw, wzx, wzy, wzz, wzw, wwx, wwy, wwz, www,
xxxx, xxxy, xxxz, xxxw, xxyx, xxyy, xxyz, xxyw, xxzx, xxzy, xxzz,
xxzw, xxwx, xxwy, xxwz, xxww, xyxx, xyxy, xyxz, xyxw, xyyx, xyyy,
xyyz, xyyw, xyzx, xyzy, xyzz, xyzw, xywx, xywy, xywz, xyww, xzxx,
xzxy, xzxz, xzxw, xzyx, xzyy, xzyz, xzyw, xzzx, xzzy, xzzz, xzzw,
xzwx, xzwy, xzwz, xzww, xwxx, xwxy, xwxz, xwxw, xwyx, xwyy, xwyz,
xwyw, xwzx, xwzy, xwzz, xwzw, xwwx, xwwy, xwwz, xwww, yxxx, yxxy,
yxxz, yxxw, yxyx, yxyy, yxyz, yxyw, yxzx, yxzy, yxzz, yxzw, yxwx,
yxwy, yxwz, yxww, yyxx, yyxy, yyxz, yyxw, yyyx, yyyy, yyyz, yyyw,
yyzx, yyzy, yyzz, yyzw, yywx, yywy, yywz, yyww, yzxx, yzxy, yzxz,
yzxw, yzyx, yzyy, yzyz, yzyw, yzzx, yzzy, yzzz, yzzw, yzwx, yzwy,
yzwz, yzww, ywxx, ywxy, ywxz, ywxw, ywyx, ywyy, ywyz, ywyw, ywzx,
ywzy, ywzz, ywzw, ywwx, ywwy, ywwz, ywww, zxxx, zxxy, zxxz, zxxw,
zxyx, zxyy, zxyz, zxyw, zxzx, zxzy, zxzz, zxzw, zxwx, zxwy, zxwz,
zxww, zyxx, zyxy, zyxz, zyxw, zyyx, zyyy, zyyz, zyyw, zyzx, zyzy,
zyzz, zyzw, zywx, zywy, zywz, zyww, zzxx, zzxy, zzxz, zzxw, zzyx,
zzyy, zzyz, zzyw, zzzx, zzzy, zzzz, zzzw, zzwx, zzwy, zzwz, zzww,
zwxx, zwxy, zwxz, zwxw, zwyx, zwyy, zwyz, zwyw, zwzx, zwzy, zwzz,
zwzw, zwwx, zwwy, zwwz, zwww, wxxx, wxxy, wxxz, wxxw, wxyx, wxyy,
wxyz, wxyw, wxzx, wxzy, wxzz, wxzw, wxwx, wxwy, wxwz, wxww, wyxx,
wyxy, wyxz, wyxw, wyyx, wyyy, wyyz, wyyw, wyzx, wyzy, wyzz, wyzw,
wywx, wywy, wywz, wyww, wzxx, wzxy, wzxz, wzxw, wzyx, wzyy, wzyz,
wzyw, wzzx, wzzy, wzzz, wzzw, wzwx, wzwy, wzwz, wzww, wwxx, wwxy,
wwxz, wwxw, wwyx, wwyy, wwyz, wwyw, wwzx, wwzy, wwzz, wwzw, wwwx,
wwwy, wwwz, wwww
}
// Vector2 result = myV2.Swizzle(Swizzles.Order.yx);
public static Vector2 Swizzle(this Vector2 a, Order order)
{
switch (order)
{
case Order.xx: return a.xx();
case Order.xy: return a;
case Order.yx: return a.yx();
case Order.yy: return a.yy();
default:
throw new ArgumentException(
$"Swizzles.Order.{order} unsupported for Vector2");
}
}
public static Vector3 Swizzle(this Vector3 a, Order order)
{
switch (order)
{
case Order.xxx: return a.xxx();
case Order.xxy: return a.xxy();
case Order.xxz: return a.xxz();
case Order.xyx: return a.xyx();
case Order.xyy: return a.xyy();
case Order.xyz: return a;
case Order.xzx: return a.xzx();
case Order.xzy: return a.xzy();
case Order.xzz: return a.xzz();
case Order.yxx: return a.yxx();
case Order.yxy: return a.yxy();
case Order.yxz: return a.yxz();
case Order.yyx: return a.yyx();
case Order.yyy: return a.yyy();
case Order.yyz: return a.yyz();
case Order.yzx: return a.yzx();
case Order.yzy: return a.yzy();
case Order.yzz: return a.yzz();
case Order.zxx: return a.zxx();
case Order.zxy: return a.zxy();
case Order.zxz: return a.zxz();
case Order.zyx: return a.zyx();
case Order.zyy: return a.zyy();
case Order.zyz: return a.zyz();
case Order.zzx: return a.zzx();
case Order.zzy: return a.zzy();
case Order.zzz: return a.zzz();
default:
throw new ArgumentException(
$"Swizzles.Order.{order} unsupported for Vector3");
}
}
public static Vector4 Swizzle(this Vector4 a, Order order)
{
switch (order)
{
case Order.xxxx: return a.xxxx();
case Order.xxxy: return a.xxxy();
case Order.xxxz: return a.xxxz();
case Order.xxxw: return a.xxxw();
case Order.xxyx: return a.xxyx();
case Order.xxyy: return a.xxyy();
case Order.xxyz: return a.xxyz();
case Order.xxyw: return a.xxyw();
case Order.xxzx: return a.xxzx();
case Order.xxzy: return a.xxzy();
case Order.xxzz: return a.xxzz();
case Order.xxzw: return a.xxzw();
case Order.xxwx: return a.xxwx();
case Order.xxwy: return a.xxwy();
case Order.xxwz: return a.xxwz();
case Order.xxww: return a.xxww();
case Order.xyxx: return a.xyxx();
case Order.xyxy: return a.xyxy();
case Order.xyxz: return a.xyxz();
case Order.xyxw: return a.xyxw();
case Order.xyyx: return a.xyyx();
case Order.xyyy: return a.xyyy();
case Order.xyyz: return a.xyyz();
case Order.xyyw: return a.xyyw();
case Order.xyzx: return a.xyzx();
case Order.xyzy: return a.xyzy();
case Order.xyzz: return a.xyzz();
case Order.xyzw: return a;
case Order.xywx: return a.xywx();
case Order.xywy: return a.xywy();
case Order.xywz: return a.xywz();
case Order.xyww: return a.xyww();
case Order.xzxx: return a.xzxx();
case Order.xzxy: return a.xzxy();
case Order.xzxz: return a.xzxz();
case Order.xzxw: return a.xzxw();
case Order.xzyx: return a.xzyx();
case Order.xzyy: return a.xzyy();
case Order.xzyz: return a.xzyz();
case Order.xzyw: return a.xzyw();
case Order.xzzx: return a.xzzx();
case Order.xzzy: return a.xzzy();
case Order.xzzz: return a.xzzz();
case Order.xzzw: return a.xzzw();
case Order.xzwx: return a.xzwx();
case Order.xzwy: return a.xzwy();
case Order.xzwz: return a.xzwz();
case Order.xzww: return a.xzww();
case Order.xwxx: return a.xwxx();
case Order.xwxy: return a.xwxy();
case Order.xwxz: return a.xwxz();
case Order.xwxw: return a.xwxw();
case Order.xwyx: return a.xwyx();
case Order.xwyy: return a.xwyy();
case Order.xwyz: return a.xwyz();
case Order.xwyw: return a.xwyw();
case Order.xwzx: return a.xwzx();
case Order.xwzy: return a.xwzy();
case Order.xwzz: return a.xwzz();
case Order.xwzw: return a.xwzw();
case Order.xwwx: return a.xwwx();
case Order.xwwy: return a.xwwy();
case Order.xwwz: return a.xwwz();
case Order.xwww: return a.xwww();
case Order.yxxx: return a.yxxx();
case Order.yxxy: return a.yxxy();
case Order.yxxz: return a.yxxz();
case Order.yxxw: return a.yxxw();
case Order.yxyx: return a.yxyx();
case Order.yxyy: return a.yxyy();
case Order.yxyz: return a.yxyz();
case Order.yxyw: return a.yxyw();
case Order.yxzx: return a.yxzx();
case Order.yxzy: return a.yxzy();
case Order.yxzz: return a.yxzz();
case Order.yxzw: return a.yxzw();
case Order.yxwx: return a.yxwx();
case Order.yxwy: return a.yxwy();
case Order.yxwz: return a.yxwz();
case Order.yxww: return a.yxww();
case Order.yyxx: return a.yyxx();
case Order.yyxy: return a.yyxy();
case Order.yyxz: return a.yyxz();
case Order.yyxw: return a.yyxw();
case Order.yyyx: return a.yyyx();
case Order.yyyy: return a.yyyy();
case Order.yyyz: return a.yyyz();
case Order.yyyw: return a.yyyw();
case Order.yyzx: return a.yyzx();
case Order.yyzy: return a.yyzy();
case Order.yyzz: return a.yyzz();
case Order.yyzw: return a.yyzw();
case Order.yywx: return a.yywx();
case Order.yywy: return a.yywy();
case Order.yywz: return a.yywz();
case Order.yyww: return a.yyww();
case Order.yzxx: return a.yzxx();
case Order.yzxy: return a.yzxy();
case Order.yzxz: return a.yzxz();
case Order.yzxw: return a.yzxw();
case Order.yzyx: return a.yzyx();
case Order.yzyy: return a.yzyy();
case Order.yzyz: return a.yzyz();
case Order.yzyw: return a.yzyw();
case Order.yzzx: return a.yzzx();
case Order.yzzy: return a.yzzy();
case Order.yzzz: return a.yzzz();
case Order.yzzw: return a.yzzw();
case Order.yzwx: return a.yzwx();
case Order.yzwy: return a.yzwy();
case Order.yzwz: return a.yzwz();
case Order.yzww: return a.yzww();
case Order.ywxx: return a.ywxx();
case Order.ywxy: return a.ywxy();
case Order.ywxz: return a.ywxz();
case Order.ywxw: return a.ywxw();
case Order.ywyx: return a.ywyx();
case Order.ywyy: return a.ywyy();
case Order.ywyz: return a.ywyz();
case Order.ywyw: return a.ywyw();
case Order.ywzx: return a.ywzx();
case Order.ywzy: return a.ywzy();
case Order.ywzz: return a.ywzz();
case Order.ywzw: return a.ywzw();
case Order.ywwx: return a.ywwx();
case Order.ywwy: return a.ywwy();
case Order.ywwz: return a.ywwz();
case Order.ywww: return a.ywww();
case Order.zxxx: return a.zxxx();
case Order.zxxy: return a.zxxy();
case Order.zxxz: return a.zxxz();
case Order.zxxw: return a.zxxw();
case Order.zxyx: return a.zxyx();
case Order.zxyy: return a.zxyy();
case Order.zxyz: return a.zxyz();
case Order.zxyw: return a.zxyw();
case Order.zxzx: return a.zxzx();
case Order.zxzy: return a.zxzy();
case Order.zxzz: return a.zxzz();
case Order.zxzw: return a.zxzw();
case Order.zxwx: return a.zxwx();
case Order.zxwy: return a.zxwy();
case Order.zxwz: return a.zxwz();
case Order.zxww: return a.zxww();
case Order.zyxx: return a.zyxx();
case Order.zyxy: return a.zyxy();
case Order.zyxz: return a.zyxz();
case Order.zyxw: return a.zyxw();
case Order.zyyx: return a.zyyx();
case Order.zyyy: return a.zyyy();
case Order.zyyz: return a.zyyz();
case Order.zyyw: return a.zyyw();
case Order.zyzx: return a.zyzx();
case Order.zyzy: return a.zyzy();
case Order.zyzz: return a.zyzz();
case Order.zyzw: return a.zyzw();
case Order.zywx: return a.zywx();
case Order.zywy: return a.zywy();
case Order.zywz: return a.zywz();
case Order.zyww: return a.zyww();
case Order.zzxx: return a.zzxx();
case Order.zzxy: return a.zzxy();
case Order.zzxz: return a.zzxz();
case Order.zzxw: return a.zzxw();
case Order.zzyx: return a.zzyx();
case Order.zzyy: return a.zzyy();
case Order.zzyz: return a.zzyz();
case Order.zzyw: return a.zzyw();
case Order.zzzx: return a.zzzx();
case Order.zzzy: return a.zzzy();
case Order.zzzz: return a.zzzz();
case Order.zzzw: return a.zzzw();
case Order.zzwx: return a.zzwx();
case Order.zzwy: return a.zzwy();
case Order.zzwz: return a.zzwz();
case Order.zzww: return a.zzww();
case Order.zwxx: return a.zwxx();
case Order.zwxy: return a.zwxy();
case Order.zwxz: return a.zwxz();
case Order.zwxw: return a.zwxw();
case Order.zwyx: return a.zwyx();
case Order.zwyy: return a.zwyy();
case Order.zwyz: return a.zwyz();
case Order.zwyw: return a.zwyw();
case Order.zwzx: return a.zwzx();
case Order.zwzy: return a.zwzy();
case Order.zwzz: return a.zwzz();
case Order.zwzw: return a.zwzw();
case Order.zwwx: return a.zwwx();
case Order.zwwy: return a.zwwy();
case Order.zwwz: return a.zwwz();
case Order.zwww: return a.zwww();
case Order.wxxx: return a.wxxx();
case Order.wxxy: return a.wxxy();
case Order.wxxz: return a.wxxz();
case Order.wxxw: return a.wxxw();
case Order.wxyx: return a.wxyx();
case Order.wxyy: return a.wxyy();
case Order.wxyz: return a.wxyz();
case Order.wxyw: return a.wxyw();
case Order.wxzx: return a.wxzx();
case Order.wxzy: return a.wxzy();
case Order.wxzz: return a.wxzz();
case Order.wxzw: return a.wxzw();
case Order.wxwx: return a.wxwx();
case Order.wxwy: return a.wxwy();
case Order.wxwz: return a.wxwz();
case Order.wxww: return a.wxww();
case Order.wyxx: return a.wyxx();
case Order.wyxy: return a.wyxy();
case Order.wyxz: return a.wyxz();
case Order.wyxw: return a.wyxw();
case Order.wyyx: return a.wyyx();
case Order.wyyy: return a.wyyy();
case Order.wyyz: return a.wyyz();
case Order.wyyw: return a.wyyw();
case Order.wyzx: return a.wyzx();
case Order.wyzy: return a.wyzy();
case Order.wyzz: return a.wyzz();
case Order.wyzw: return a.wyzw();
case Order.wywx: return a.wywx();
case Order.wywy: return a.wywy();
case Order.wywz: return a.wywz();
case Order.wyww: return a.wyww();
case Order.wzxx: return a.wzxx();
case Order.wzxy: return a.wzxy();
case Order.wzxz: return a.wzxz();
case Order.wzxw: return a.wzxw();
case Order.wzyx: return a.wzyx();
case Order.wzyy: return a.wzyy();
case Order.wzyz: return a.wzyz();
case Order.wzyw: return a.wzyw();
case Order.wzzx: return a.wzzx();
case Order.wzzy: return a.wzzy();
case Order.wzzz: return a.wzzz();
case Order.wzzw: return a.wzzw();
case Order.wzwx: return a.wzwx();
case Order.wzwy: return a.wzwy();
case Order.wzwz: return a.wzwz();
case Order.wzww: return a.wzww();
case Order.wwxx: return a.wwxx();
case Order.wwxy: return a.wwxy();
case Order.wwxz: return a.wwxz();
case Order.wwxw: return a.wwxw();
case Order.wwyx: return a.wwyx();
case Order.wwyy: return a.wwyy();
case Order.wwyz: return a.wwyz();
case Order.wwyw: return a.wwyw();
case Order.wwzx: return a.wwzx();
case Order.wwzy: return a.wwzy();
case Order.wwzz: return a.wwzz();
case Order.wwzw: return a.wwzw();
case Order.wwwx: return a.wwwx();
case Order.wwwy: return a.wwwy();
case Order.wwwz: return a.wwwz();
case Order.wwww: return a.wwww();
default:
throw new ArgumentException(
$"Swizzles.Order.{order} unsupported for Vector4");
}
}
// Vector2
public static Vector2 xx(this Vector2 a) => new Vector2(a.x, a.x);
public static Vector2 yx(this Vector2 a) => new Vector2(a.y, a.x);
public static Vector2 xy(this Vector2 a) => a;
public static Vector2 yy(this Vector2 a) => new Vector2(a.y, a.y);
// Vector2 up to Vector3
public static Vector3 xxx(this Vector2 a) => new Vector3(a.x, a.x, a.x);
public static Vector3 yxx(this Vector2 a) => new Vector3(a.y, a.x, a.x);
public static Vector3 xyx(this Vector2 a) => new Vector3(a.x, a.y, a.x);
public static Vector3 yyx(this Vector2 a) => new Vector3(a.y, a.y, a.x);
public static Vector3 xxy(this Vector2 a) => new Vector3(a.x, a.x, a.y);
public static Vector3 yxy(this Vector2 a) => new Vector3(a.y, a.x, a.y);
public static Vector3 xyy(this Vector2 a) => new Vector3(a.x, a.y, a.y);
public static Vector3 yyy(this Vector2 a) => new Vector3(a.y, a.y, a.y);
// Vector2 up to Vector4
public static Vector4 xxxx(this Vector2 a) => new Vector4(a.x, a.x, a.x, a.x);
public static Vector4 yxxx(this Vector2 a) => new Vector4(a.y, a.x, a.x, a.x);
public static Vector4 xyxx(this Vector2 a) => new Vector4(a.x, a.y, a.x, a.x);
public static Vector4 yyxx(this Vector2 a) => new Vector4(a.y, a.y, a.x, a.x);
public static Vector4 xxyx(this Vector2 a) => new Vector4(a.x, a.x, a.y, a.x);
public static Vector4 yxyx(this Vector2 a) => new Vector4(a.y, a.x, a.y, a.x);
public static Vector4 xyyx(this Vector2 a) => new Vector4(a.x, a.y, a.y, a.x);
public static Vector4 yyyx(this Vector2 a) => new Vector4(a.y, a.y, a.y, a.x);
public static Vector4 xxxy(this Vector2 a) => new Vector4(a.x, a.x, a.x, a.y);
public static Vector4 yxxy(this Vector2 a) => new Vector4(a.y, a.x, a.x, a.y);
public static Vector4 xyxy(this Vector2 a) => new Vector4(a.x, a.y, a.x, a.y);
public static Vector4 yyxy(this Vector2 a) => new Vector4(a.y, a.y, a.x, a.y);
public static Vector4 xxyy(this Vector2 a) => new Vector4(a.x, a.x, a.y, a.y);
public static Vector4 yxyy(this Vector2 a) => new Vector4(a.y, a.x, a.y, a.y);
public static Vector4 xyyy(this Vector2 a) => new Vector4(a.x, a.y, a.y, a.y);
public static Vector4 yyyy(this Vector2 a) => new Vector4(a.y, a.y, a.y, a.y);
// Vector3 down to Vector2
public static Vector2 xx(this Vector3 a) => new Vector2(a.x, a.x);
public static Vector2 yx(this Vector3 a) => new Vector2(a.y, a.x);
public static Vector2 zx(this Vector3 a) => new Vector2(a.z, a.x);
public static Vector2 xy(this Vector3 a) => new Vector2(a.x, a.y);
public static Vector2 yy(this Vector3 a) => new Vector2(a.y, a.y);
public static Vector2 zy(this Vector3 a) => new Vector2(a.z, a.y);
public static Vector2 xz(this Vector3 a) => new Vector2(a.x, a.z);
public static Vector2 yz(this Vector3 a) => new Vector2(a.y, a.z);
public static Vector2 zz(this Vector3 a) => new Vector2(a.z, a.z);
// Vector3
public static Vector3 xxx(this Vector3 a) => new Vector3(a.x, a.x, a.x);
public static Vector3 yxx(this Vector3 a) => new Vector3(a.y, a.x, a.x);
public static Vector3 zxx(this Vector3 a) => new Vector3(a.z, a.x, a.x);
public static Vector3 xyx(this Vector3 a) => new Vector3(a.x, a.y, a.x);
public static Vector3 yyx(this Vector3 a) => new Vector3(a.y, a.y, a.x);
public static Vector3 zyx(this Vector3 a) => new Vector3(a.z, a.y, a.x);
public static Vector3 xzx(this Vector3 a) => new Vector3(a.x, a.z, a.x);
public static Vector3 yzx(this Vector3 a) => new Vector3(a.y, a.z, a.x);
public static Vector3 zzx(this Vector3 a) => new Vector3(a.z, a.z, a.x);
public static Vector3 xxy(this Vector3 a) => new Vector3(a.x, a.x, a.y);
public static Vector3 yxy(this Vector3 a) => new Vector3(a.y, a.x, a.y);
public static Vector3 zxy(this Vector3 a) => new Vector3(a.z, a.x, a.y);
public static Vector3 xyy(this Vector3 a) => new Vector3(a.x, a.y, a.y);
public static Vector3 yyy(this Vector3 a) => new Vector3(a.y, a.y, a.y);
public static Vector3 zyy(this Vector3 a) => new Vector3(a.z, a.y, a.y);
public static Vector3 xzy(this Vector3 a) => new Vector3(a.x, a.z, a.y);
public static Vector3 yzy(this Vector3 a) => new Vector3(a.y, a.z, a.y);
public static Vector3 zzy(this Vector3 a) => new Vector3(a.z, a.z, a.y);
public static Vector3 xxz(this Vector3 a) => new Vector3(a.x, a.x, a.z);
public static Vector3 yxz(this Vector3 a) => new Vector3(a.y, a.x, a.z);
public static Vector3 zxz(this Vector3 a) => new Vector3(a.z, a.x, a.z);
public static Vector3 xyz(this Vector3 a) => a;
public static Vector3 yyz(this Vector3 a) => new Vector3(a.y, a.y, a.z);
public static Vector3 zyz(this Vector3 a) => new Vector3(a.z, a.y, a.z);
public static Vector3 xzz(this Vector3 a) => new Vector3(a.x, a.z, a.z);
public static Vector3 yzz(this Vector3 a) => new Vector3(a.y, a.z, a.z);
public static Vector3 zzz(this Vector3 a) => new Vector3(a.z, a.z, a.z);
// Vector3 up to Vector4
public static Vector4 xxxx(this Vector3 a) => new Vector4(a.x, a.x, a.x, a.x);
public static Vector4 yxxx(this Vector3 a) => new Vector4(a.y, a.x, a.x, a.x);
public static Vector4 zxxx(this Vector3 a) => new Vector4(a.z, a.x, a.x, a.x);
public static Vector4 xyxx(this Vector3 a) => new Vector4(a.x, a.y, a.x, a.x);
public static Vector4 yyxx(this Vector3 a) => new Vector4(a.y, a.y, a.x, a.x);
public static Vector4 zyxx(this Vector3 a) => new Vector4(a.z, a.y, a.x, a.x);
public static Vector4 xzxx(this Vector3 a) => new Vector4(a.x, a.z, a.x, a.x);
public static Vector4 yzxx(this Vector3 a) => new Vector4(a.y, a.z, a.x, a.x);
public static Vector4 zzxx(this Vector3 a) => new Vector4(a.z, a.z, a.x, a.x);
public static Vector4 xxyx(this Vector3 a) => new Vector4(a.x, a.x, a.y, a.x);
public static Vector4 yxyx(this Vector3 a) => new Vector4(a.y, a.x, a.y, a.x);
public static Vector4 zxyx(this Vector3 a) => new Vector4(a.z, a.x, a.y, a.x);
public static Vector4 xyyx(this Vector3 a) => new Vector4(a.x, a.y, a.y, a.x);
public static Vector4 yyyx(this Vector3 a) => new Vector4(a.y, a.y, a.y, a.x);
public static Vector4 zyyx(this Vector3 a) => new Vector4(a.z, a.y, a.y, a.x);
public static Vector4 xzyx(this Vector3 a) => new Vector4(a.x, a.z, a.y, a.x);
public static Vector4 yzyx(this Vector3 a) => new Vector4(a.y, a.z, a.y, a.x);
public static Vector4 zzyx(this Vector3 a) => new Vector4(a.z, a.z, a.y, a.x);
public static Vector4 xxzx(this Vector3 a) => new Vector4(a.x, a.x, a.z, a.x);
public static Vector4 yxzx(this Vector3 a) => new Vector4(a.y, a.x, a.z, a.x);
public static Vector4 zxzx(this Vector3 a) => new Vector4(a.z, a.x, a.z, a.x);
public static Vector4 xyzx(this Vector3 a) => new Vector4(a.x, a.y, a.z, a.x);
public static Vector4 yyzx(this Vector3 a) => new Vector4(a.y, a.y, a.z, a.x);
public static Vector4 zyzx(this Vector3 a) => new Vector4(a.z, a.y, a.z, a.x);
public static Vector4 xzzx(this Vector3 a) => new Vector4(a.x, a.z, a.z, a.x);
public static Vector4 yzzx(this Vector3 a) => new Vector4(a.y, a.z, a.z, a.x);
public static Vector4 zzzx(this Vector3 a) => new Vector4(a.z, a.z, a.z, a.x);
public static Vector4 xxxy(this Vector3 a) => new Vector4(a.x, a.x, a.x, a.y);
public static Vector4 yxxy(this Vector3 a) => new Vector4(a.y, a.x, a.x, a.y);
public static Vector4 zxxy(this Vector3 a) => new Vector4(a.z, a.x, a.x, a.y);
public static Vector4 xyxy(this Vector3 a) => new Vector4(a.x, a.y, a.x, a.y);
public static Vector4 yyxy(this Vector3 a) => new Vector4(a.y, a.y, a.x, a.y);
public static Vector4 zyxy(this Vector3 a) => new Vector4(a.z, a.y, a.x, a.y);
public static Vector4 xzxy(this Vector3 a) => new Vector4(a.x, a.z, a.x, a.y);
public static Vector4 yzxy(this Vector3 a) => new Vector4(a.y, a.z, a.x, a.y);
public static Vector4 zzxy(this Vector3 a) => new Vector4(a.z, a.z, a.x, a.y);
public static Vector4 xxyy(this Vector3 a) => new Vector4(a.x, a.x, a.y, a.y);
public static Vector4 yxyy(this Vector3 a) => new Vector4(a.y, a.x, a.y, a.y);
public static Vector4 zxyy(this Vector3 a) => new Vector4(a.z, a.x, a.y, a.y);
public static Vector4 xyyy(this Vector3 a) => new Vector4(a.x, a.y, a.y, a.y);
public static Vector4 yyyy(this Vector3 a) => new Vector4(a.y, a.y, a.y, a.y);
public static Vector4 zyyy(this Vector3 a) => new Vector4(a.z, a.y, a.y, a.y);
public static Vector4 xzyy(this Vector3 a) => new Vector4(a.x, a.z, a.y, a.y);
public static Vector4 yzyy(this Vector3 a) => new Vector4(a.y, a.z, a.y, a.y);
public static Vector4 zzyy(this Vector3 a) => new Vector4(a.z, a.z, a.y, a.y);
public static Vector4 xxzy(this Vector3 a) => new Vector4(a.x, a.x, a.z, a.y);
public static Vector4 yxzy(this Vector3 a) => new Vector4(a.y, a.x, a.z, a.y);
public static Vector4 zxzy(this Vector3 a) => new Vector4(a.z, a.x, a.z, a.y);
public static Vector4 xyzy(this Vector3 a) => new Vector4(a.x, a.y, a.z, a.y);
public static Vector4 yyzy(this Vector3 a) => new Vector4(a.y, a.y, a.z, a.y);
public static Vector4 zyzy(this Vector3 a) => new Vector4(a.z, a.y, a.z, a.y);
public static Vector4 xzzy(this Vector3 a) => new Vector4(a.x, a.z, a.z, a.y);
public static Vector4 yzzy(this Vector3 a) => new Vector4(a.y, a.z, a.z, a.y);
public static Vector4 zzzy(this Vector3 a) => new Vector4(a.z, a.z, a.z, a.y);
public static Vector4 xxxz(this Vector3 a) => new Vector4(a.x, a.x, a.x, a.z);
public static Vector4 yxxz(this Vector3 a) => new Vector4(a.y, a.x, a.x, a.z);
public static Vector4 zxxz(this Vector3 a) => new Vector4(a.z, a.x, a.x, a.z);
public static Vector4 xyxz(this Vector3 a) => new Vector4(a.x, a.y, a.x, a.z);
public static Vector4 yyxz(this Vector3 a) => new Vector4(a.y, a.y, a.x, a.z);
public static Vector4 zyxz(this Vector3 a) => new Vector4(a.z, a.y, a.x, a.z);
public static Vector4 xzxz(this Vector3 a) => new Vector4(a.x, a.z, a.x, a.z);
public static Vector4 yzxz(this Vector3 a) => new Vector4(a.y, a.z, a.x, a.z);
public static Vector4 zzxz(this Vector3 a) => new Vector4(a.z, a.z, a.x, a.z);
public static Vector4 xxyz(this Vector3 a) => new Vector4(a.x, a.x, a.y, a.z);
public static Vector4 yxyz(this Vector3 a) => new Vector4(a.y, a.x, a.y, a.z);
public static Vector4 zxyz(this Vector3 a) => new Vector4(a.z, a.x, a.y, a.z);
public static Vector4 xyyz(this Vector3 a) => new Vector4(a.x, a.y, a.y, a.z);
public static Vector4 yyyz(this Vector3 a) => new Vector4(a.y, a.y, a.y, a.z);
public static Vector4 zyyz(this Vector3 a) => new Vector4(a.z, a.y, a.y, a.z);
public static Vector4 xzyz(this Vector3 a) => new Vector4(a.x, a.z, a.y, a.z);
public static Vector4 yzyz(this Vector3 a) => new Vector4(a.y, a.z, a.y, a.z);
public static Vector4 zzyz(this Vector3 a) => new Vector4(a.z, a.z, a.y, a.z);
public static Vector4 xxzz(this Vector3 a) => new Vector4(a.x, a.x, a.z, a.z);
public static Vector4 yxzz(this Vector3 a) => new Vector4(a.y, a.x, a.z, a.z);
public static Vector4 zxzz(this Vector3 a) => new Vector4(a.z, a.x, a.z, a.z);
public static Vector4 xyzz(this Vector3 a) => new Vector4(a.x, a.y, a.z, a.z);
public static Vector4 yyzz(this Vector3 a) => new Vector4(a.y, a.y, a.z, a.z);
public static Vector4 zyzz(this Vector3 a) => new Vector4(a.z, a.y, a.z, a.z);
public static Vector4 xzzz(this Vector3 a) => new Vector4(a.x, a.z, a.z, a.z);
public static Vector4 yzzz(this Vector3 a) => new Vector4(a.y, a.z, a.z, a.z);
public static Vector4 zzzz(this Vector3 a) => new Vector4(a.z, a.z, a.z, a.z);
// Vector4 down to Vector2
public static Vector2 xx(this Vector4 a) => new Vector2(a.x, a.x);
public static Vector2 yx(this Vector4 a) => new Vector2(a.y, a.x);
public static Vector2 zx(this Vector4 a) => new Vector2(a.z, a.x);
public static Vector2 wx(this Vector4 a) => new Vector2(a.w, a.x);
public static Vector2 xy(this Vector4 a) => new Vector2(a.x, a.y);
public static Vector2 yy(this Vector4 a) => new Vector2(a.y, a.y);
public static Vector2 zy(this Vector4 a) => new Vector2(a.z, a.y);
public static Vector2 wy(this Vector4 a) => new Vector2(a.w, a.y);
public static Vector2 xz(this Vector4 a) => new Vector2(a.x, a.z);
public static Vector2 yz(this Vector4 a) => new Vector2(a.y, a.z);
public static Vector2 zz(this Vector4 a) => new Vector2(a.z, a.z);
public static Vector2 wz(this Vector4 a) => new Vector2(a.w, a.z);
public static Vector2 xw(this Vector4 a) => new Vector2(a.x, a.w);
public static Vector2 yw(this Vector4 a) => new Vector2(a.y, a.w);
public static Vector2 zw(this Vector4 a) => new Vector2(a.z, a.w);
public static Vector2 ww(this Vector4 a) => new Vector2(a.w, a.w);
// Vector4 down to Vector3
public static Vector3 xxx(this Vector4 a) => new Vector3(a.x, a.x, a.x);
public static Vector3 yxx(this Vector4 a) => new Vector3(a.y, a.x, a.x);
public static Vector3 zxx(this Vector4 a) => new Vector3(a.z, a.x, a.x);
public static Vector3 wxx(this Vector4 a) => new Vector3(a.w, a.x, a.x);
public static Vector3 xyx(this Vector4 a) => new Vector3(a.x, a.y, a.x);
public static Vector3 yyx(this Vector4 a) => new Vector3(a.y, a.y, a.x);
public static Vector3 zyx(this Vector4 a) => new Vector3(a.z, a.y, a.x);
public static Vector3 wyx(this Vector4 a) => new Vector3(a.w, a.y, a.x);
public static Vector3 xzx(this Vector4 a) => new Vector3(a.x, a.z, a.x);
public static Vector3 yzx(this Vector4 a) => new Vector3(a.y, a.z, a.x);
public static Vector3 zzx(this Vector4 a) => new Vector3(a.z, a.z, a.x);
public static Vector3 wzx(this Vector4 a) => new Vector3(a.w, a.z, a.x);
public static Vector3 xwx(this Vector4 a) => new Vector3(a.x, a.w, a.x);
public static Vector3 ywx(this Vector4 a) => new Vector3(a.y, a.w, a.x);
public static Vector3 zwx(this Vector4 a) => new Vector3(a.z, a.w, a.x);
public static Vector3 wwx(this Vector4 a) => new Vector3(a.w, a.w, a.x);
public static Vector3 xxy(this Vector4 a) => new Vector3(a.x, a.x, a.y);
public static Vector3 yxy(this Vector4 a) => new Vector3(a.y, a.x, a.y);
public static Vector3 zxy(this Vector4 a) => new Vector3(a.z, a.x, a.y);
public static Vector3 wxy(this Vector4 a) => new Vector3(a.w, a.x, a.y);
public static Vector3 xyy(this Vector4 a) => new Vector3(a.x, a.y, a.y);
public static Vector3 yyy(this Vector4 a) => new Vector3(a.y, a.y, a.y);
public static Vector3 zyy(this Vector4 a) => new Vector3(a.z, a.y, a.y);
public static Vector3 wyy(this Vector4 a) => new Vector3(a.w, a.y, a.y);
public static Vector3 xzy(this Vector4 a) => new Vector3(a.x, a.z, a.y);
public static Vector3 yzy(this Vector4 a) => new Vector3(a.y, a.z, a.y);
public static Vector3 zzy(this Vector4 a) => new Vector3(a.z, a.z, a.y);
public static Vector3 wzy(this Vector4 a) => new Vector3(a.w, a.z, a.y);
public static Vector3 xwy(this Vector4 a) => new Vector3(a.x, a.w, a.y);
public static Vector3 ywy(this Vector4 a) => new Vector3(a.y, a.w, a.y);
public static Vector3 zwy(this Vector4 a) => new Vector3(a.z, a.w, a.y);
public static Vector3 wwy(this Vector4 a) => new Vector3(a.w, a.w, a.y);
public static Vector3 xxz(this Vector4 a) => new Vector3(a.x, a.x, a.z);
public static Vector3 yxz(this Vector4 a) => new Vector3(a.y, a.x, a.z);
public static Vector3 zxz(this Vector4 a) => new Vector3(a.z, a.x, a.z);
public static Vector3 wxz(this Vector4 a) => new Vector3(a.w, a.x, a.z);
public static Vector3 xyz(this Vector4 a) => new Vector3(a.x, a.y, a.z);
public static Vector3 yyz(this Vector4 a) => new Vector3(a.y, a.y, a.z);
public static Vector3 zyz(this Vector4 a) => new Vector3(a.z, a.y, a.z);
public static Vector3 wyz(this Vector4 a) => new Vector3(a.w, a.y, a.z);
public static Vector3 xzz(this Vector4 a) => new Vector3(a.x, a.z, a.z);
public static Vector3 yzz(this Vector4 a) => new Vector3(a.y, a.z, a.z);
public static Vector3 zzz(this Vector4 a) => new Vector3(a.z, a.z, a.z);
public static Vector3 wzz(this Vector4 a) => new Vector3(a.w, a.z, a.z);
public static Vector3 xwz(this Vector4 a) => new Vector3(a.x, a.w, a.z);
public static Vector3 ywz(this Vector4 a) => new Vector3(a.y, a.w, a.z);
public static Vector3 zwz(this Vector4 a) => new Vector3(a.z, a.w, a.z);
public static Vector3 wwz(this Vector4 a) => new Vector3(a.w, a.w, a.z);
public static Vector3 xxw(this Vector4 a) => new Vector3(a.x, a.x, a.w);
public static Vector3 yxw(this Vector4 a) => new Vector3(a.y, a.x, a.w);
public static Vector3 zxw(this Vector4 a) => new Vector3(a.z, a.x, a.w);
public static Vector3 wxw(this Vector4 a) => new Vector3(a.w, a.x, a.w);
public static Vector3 xyw(this Vector4 a) => new Vector3(a.x, a.y, a.w);
public static Vector3 yyw(this Vector4 a) => new Vector3(a.y, a.y, a.w);
public static Vector3 zyw(this Vector4 a) => new Vector3(a.z, a.y, a.w);
public static Vector3 wyw(this Vector4 a) => new Vector3(a.w, a.y, a.w);
public static Vector3 xzw(this Vector4 a) => new Vector3(a.x, a.z, a.w);
public static Vector3 yzw(this Vector4 a) => new Vector3(a.y, a.z, a.w);
public static Vector3 zzw(this Vector4 a) => new Vector3(a.z, a.z, a.w);
public static Vector3 wzw(this Vector4 a) => new Vector3(a.w, a.z, a.w);
public static Vector3 xww(this Vector4 a) => new Vector3(a.x, a.w, a.w);
public static Vector3 yww(this Vector4 a) => new Vector3(a.y, a.w, a.w);
public static Vector3 zww(this Vector4 a) => new Vector3(a.z, a.w, a.w);
public static Vector3 www(this Vector4 a) => new Vector3(a.w, a.w, a.w);
// Vector4
public static Vector4 xxxx(this Vector4 a) => new Vector4(a.x, a.x, a.x, a.x);
public static Vector4 yxxx(this Vector4 a) => new Vector4(a.y, a.x, a.x, a.x);
public static Vector4 zxxx(this Vector4 a) => new Vector4(a.z, a.x, a.x, a.x);
public static Vector4 wxxx(this Vector4 a) => new Vector4(a.w, a.x, a.x, a.x);
public static Vector4 xyxx(this Vector4 a) => new Vector4(a.x, a.y, a.x, a.x);
public static Vector4 yyxx(this Vector4 a) => new Vector4(a.y, a.y, a.x, a.x);
public static Vector4 zyxx(this Vector4 a) => new Vector4(a.z, a.y, a.x, a.x);
public static Vector4 wyxx(this Vector4 a) => new Vector4(a.w, a.y, a.x, a.x);
public static Vector4 xzxx(this Vector4 a) => new Vector4(a.x, a.z, a.x, a.x);
public static Vector4 yzxx(this Vector4 a) => new Vector4(a.y, a.z, a.x, a.x);
public static Vector4 zzxx(this Vector4 a) => new Vector4(a.z, a.z, a.x, a.x);
public static Vector4 wzxx(this Vector4 a) => new Vector4(a.w, a.z, a.x, a.x);
public static Vector4 xwxx(this Vector4 a) => new Vector4(a.x, a.w, a.x, a.x);
public static Vector4 ywxx(this Vector4 a) => new Vector4(a.y, a.w, a.x, a.x);
public static Vector4 zwxx(this Vector4 a) => new Vector4(a.z, a.w, a.x, a.x);
public static Vector4 wwxx(this Vector4 a) => new Vector4(a.w, a.w, a.x, a.x);
public static Vector4 xxyx(this Vector4 a) => new Vector4(a.x, a.x, a.y, a.x);
public static Vector4 yxyx(this Vector4 a) => new Vector4(a.y, a.x, a.y, a.x);
public static Vector4 zxyx(this Vector4 a) => new Vector4(a.z, a.x, a.y, a.x);
public static Vector4 wxyx(this Vector4 a) => new Vector4(a.w, a.x, a.y, a.x);
public static Vector4 xyyx(this Vector4 a) => new Vector4(a.x, a.y, a.y, a.x);
public static Vector4 yyyx(this Vector4 a) => new Vector4(a.y, a.y, a.y, a.x);
public static Vector4 zyyx(this Vector4 a) => new Vector4(a.z, a.y, a.y, a.x);
public static Vector4 wyyx(this Vector4 a) => new Vector4(a.w, a.y, a.y, a.x);
public static Vector4 xzyx(this Vector4 a) => new Vector4(a.x, a.z, a.y, a.x);
public static Vector4 yzyx(this Vector4 a) => new Vector4(a.y, a.z, a.y, a.x);
public static Vector4 zzyx(this Vector4 a) => new Vector4(a.z, a.z, a.y, a.x);
public static Vector4 wzyx(this Vector4 a) => new Vector4(a.w, a.z, a.y, a.x);
public static Vector4 xwyx(this Vector4 a) => new Vector4(a.x, a.w, a.y, a.x);
public static Vector4 ywyx(this Vector4 a) => new Vector4(a.y, a.w, a.y, a.x);
public static Vector4 zwyx(this Vector4 a) => new Vector4(a.z, a.w, a.y, a.x);
public static Vector4 wwyx(this Vector4 a) => new Vector4(a.w, a.w, a.y, a.x);
public static Vector4 xxzx(this Vector4 a) => new Vector4(a.x, a.x, a.z, a.x);
public static Vector4 yxzx(this Vector4 a) => new Vector4(a.y, a.x, a.z, a.x);
public static Vector4 zxzx(this Vector4 a) => new Vector4(a.z, a.x, a.z, a.x);
public static Vector4 wxzx(this Vector4 a) => new Vector4(a.w, a.x, a.z, a.x);
public static Vector4 xyzx(this Vector4 a) => new Vector4(a.x, a.y, a.z, a.x);
public static Vector4 yyzx(this Vector4 a) => new Vector4(a.y, a.y, a.z, a.x);
public static Vector4 zyzx(this Vector4 a) => new Vector4(a.z, a.y, a.z, a.x);
public static Vector4 wyzx(this Vector4 a) => new Vector4(a.w, a.y, a.z, a.x);
public static Vector4 xzzx(this Vector4 a) => new Vector4(a.x, a.z, a.z, a.x);
public static Vector4 yzzx(this Vector4 a) => new Vector4(a.y, a.z, a.z, a.x);
public static Vector4 zzzx(this Vector4 a) => new Vector4(a.z, a.z, a.z, a.x);
public static Vector4 wzzx(this Vector4 a) => new Vector4(a.w, a.z, a.z, a.x);
public static Vector4 xwzx(this Vector4 a) => new Vector4(a.x, a.w, a.z, a.x);
public static Vector4 ywzx(this Vector4 a) => new Vector4(a.y, a.w, a.z, a.x);
public static Vector4 zwzx(this Vector4 a) => new Vector4(a.z, a.w, a.z, a.x);
public static Vector4 wwzx(this Vector4 a) => new Vector4(a.w, a.w, a.z, a.x);
public static Vector4 xxwx(this Vector4 a) => new Vector4(a.x, a.x, a.w, a.x);
public static Vector4 yxwx(this Vector4 a) => new Vector4(a.y, a.x, a.w, a.x);
public static Vector4 zxwx(this Vector4 a) => new Vector4(a.z, a.x, a.w, a.x);
public static Vector4 wxwx(this Vector4 a) => new Vector4(a.w, a.x, a.w, a.x);
public static Vector4 xywx(this Vector4 a) => new Vector4(a.x, a.y, a.w, a.x);
public static Vector4 yywx(this Vector4 a) => new Vector4(a.y, a.y, a.w, a.x);
public static Vector4 zywx(this Vector4 a) => new Vector4(a.z, a.y, a.w, a.x);
public static Vector4 wywx(this Vector4 a) => new Vector4(a.w, a.y, a.w, a.x);
public static Vector4 xzwx(this Vector4 a) => new Vector4(a.x, a.z, a.w, a.x);
public static Vector4 yzwx(this Vector4 a) => new Vector4(a.y, a.z, a.w, a.x);
public static Vector4 zzwx(this Vector4 a) => new Vector4(a.z, a.z, a.w, a.x);
public static Vector4 wzwx(this Vector4 a) => new Vector4(a.w, a.z, a.w, a.x);
public static Vector4 xwwx(this Vector4 a) => new Vector4(a.x, a.w, a.w, a.x);
public static Vector4 ywwx(this Vector4 a) => new Vector4(a.y, a.w, a.w, a.x);
public static Vector4 zwwx(this Vector4 a) => new Vector4(a.z, a.w, a.w, a.x);
public static Vector4 wwwx(this Vector4 a) => new Vector4(a.w, a.w, a.w, a.x);
public static Vector4 xxxy(this Vector4 a) => new Vector4(a.x, a.x, a.x, a.y);
public static Vector4 yxxy(this Vector4 a) => new Vector4(a.y, a.x, a.x, a.y);
public static Vector4 zxxy(this Vector4 a) => new Vector4(a.z, a.x, a.x, a.y);
public static Vector4 wxxy(this Vector4 a) => new Vector4(a.w, a.x, a.x, a.y);
public static Vector4 xyxy(this Vector4 a) => new Vector4(a.x, a.y, a.x, a.y);
public static Vector4 yyxy(this Vector4 a) => new Vector4(a.y, a.y, a.x, a.y);
public static Vector4 zyxy(this Vector4 a) => new Vector4(a.z, a.y, a.x, a.y);
public static Vector4 wyxy(this Vector4 a) => new Vector4(a.w, a.y, a.x, a.y);
public static Vector4 xzxy(this Vector4 a) => new Vector4(a.x, a.z, a.x, a.y);
public static Vector4 yzxy(this Vector4 a) => new Vector4(a.y, a.z, a.x, a.y);
public static Vector4 zzxy(this Vector4 a) => new Vector4(a.z, a.z, a.x, a.y);
public static Vector4 wzxy(this Vector4 a) => new Vector4(a.w, a.z, a.x, a.y);
public static Vector4 xwxy(this Vector4 a) => new Vector4(a.x, a.w, a.x, a.y);
public static Vector4 ywxy(this Vector4 a) => new Vector4(a.y, a.w, a.x, a.y);
public static Vector4 zwxy(this Vector4 a) => new Vector4(a.z, a.w, a.x, a.y);
public static Vector4 wwxy(this Vector4 a) => new Vector4(a.w, a.w, a.x, a.y);
public static Vector4 xxyy(this Vector4 a) => new Vector4(a.x, a.x, a.y, a.y);
public static Vector4 yxyy(this Vector4 a) => new Vector4(a.y, a.x, a.y, a.y);
public static Vector4 zxyy(this Vector4 a) => new Vector4(a.z, a.x, a.y, a.y);
public static Vector4 wxyy(this Vector4 a) => new Vector4(a.w, a.x, a.y, a.y);
public static Vector4 xyyy(this Vector4 a) => new Vector4(a.x, a.y, a.y, a.y);
public static Vector4 yyyy(this Vector4 a) => new Vector4(a.y, a.y, a.y, a.y);
public static Vector4 zyyy(this Vector4 a) => new Vector4(a.z, a.y, a.y, a.y);
public static Vector4 wyyy(this Vector4 a) => new Vector4(a.w, a.y, a.y, a.y);
public static Vector4 xzyy(this Vector4 a) => new Vector4(a.x, a.z, a.y, a.y);
public static Vector4 yzyy(this Vector4 a) => new Vector4(a.y, a.z, a.y, a.y);
public static Vector4 zzyy(this Vector4 a) => new Vector4(a.z, a.z, a.y, a.y);
public static Vector4 wzyy(this Vector4 a) => new Vector4(a.w, a.z, a.y, a.y);
public static Vector4 xwyy(this Vector4 a) => new Vector4(a.x, a.w, a.y, a.y);
public static Vector4 ywyy(this Vector4 a) => new Vector4(a.y, a.w, a.y, a.y);
public static Vector4 zwyy(this Vector4 a) => new Vector4(a.z, a.w, a.y, a.y);
public static Vector4 wwyy(this Vector4 a) => new Vector4(a.w, a.w, a.y, a.y);
public static Vector4 xxzy(this Vector4 a) => new Vector4(a.x, a.x, a.z, a.y);
public static Vector4 yxzy(this Vector4 a) => new Vector4(a.y, a.x, a.z, a.y);
public static Vector4 zxzy(this Vector4 a) => new Vector4(a.z, a.x, a.z, a.y);
public static Vector4 wxzy(this Vector4 a) => new Vector4(a.w, a.x, a.z, a.y);
public static Vector4 xyzy(this Vector4 a) => new Vector4(a.x, a.y, a.z, a.y);
public static Vector4 yyzy(this Vector4 a) => new Vector4(a.y, a.y, a.z, a.y);
public static Vector4 zyzy(this Vector4 a) => new Vector4(a.z, a.y, a.z, a.y);
public static Vector4 wyzy(this Vector4 a) => new Vector4(a.w, a.y, a.z, a.y);
public static Vector4 xzzy(this Vector4 a) => new Vector4(a.x, a.z, a.z, a.y);
public static Vector4 yzzy(this Vector4 a) => new Vector4(a.y, a.z, a.z, a.y);
public static Vector4 zzzy(this Vector4 a) => new Vector4(a.z, a.z, a.z, a.y);
public static Vector4 wzzy(this Vector4 a) => new Vector4(a.w, a.z, a.z, a.y);
public static Vector4 xwzy(this Vector4 a) => new Vector4(a.x, a.w, a.z, a.y);
public static Vector4 ywzy(this Vector4 a) => new Vector4(a.y, a.w, a.z, a.y);
public static Vector4 zwzy(this Vector4 a) => new Vector4(a.z, a.w, a.z, a.y);
public static Vector4 wwzy(this Vector4 a) => new Vector4(a.w, a.w, a.z, a.y);
public static Vector4 xxwy(this Vector4 a) => new Vector4(a.x, a.x, a.w, a.y);
public static Vector4 yxwy(this Vector4 a) => new Vector4(a.y, a.x, a.w, a.y);
public static Vector4 zxwy(this Vector4 a) => new Vector4(a.z, a.x, a.w, a.y);
public static Vector4 wxwy(this Vector4 a) => new Vector4(a.w, a.x, a.w, a.y);
public static Vector4 xywy(this Vector4 a) => new Vector4(a.x, a.y, a.w, a.y);
public static Vector4 yywy(this Vector4 a) => new Vector4(a.y, a.y, a.w, a.y);
public static Vector4 zywy(this Vector4 a) => new Vector4(a.z, a.y, a.w, a.y);
public static Vector4 wywy(this Vector4 a) => new Vector4(a.w, a.y, a.w, a.y);
public static Vector4 xzwy(this Vector4 a) => new Vector4(a.x, a.z, a.w, a.y);
public static Vector4 yzwy(this Vector4 a) => new Vector4(a.y, a.z, a.w, a.y);
public static Vector4 zzwy(this Vector4 a) => new Vector4(a.z, a.z, a.w, a.y);
public static Vector4 wzwy(this Vector4 a) => new Vector4(a.w, a.z, a.w, a.y);
public static Vector4 xwwy(this Vector4 a) => new Vector4(a.x, a.w, a.w, a.y);
public static Vector4 ywwy(this Vector4 a) => new Vector4(a.y, a.w, a.w, a.y);
public static Vector4 zwwy(this Vector4 a) => new Vector4(a.z, a.w, a.w, a.y);
public static Vector4 wwwy(this Vector4 a) => new Vector4(a.w, a.w, a.w, a.y);
public static Vector4 xxxz(this Vector4 a) => new Vector4(a.x, a.x, a.x, a.z);
public static Vector4 yxxz(this Vector4 a) => new Vector4(a.y, a.x, a.x, a.z);
public static Vector4 zxxz(this Vector4 a) => new Vector4(a.z, a.x, a.x, a.z);
public static Vector4 wxxz(this Vector4 a) => new Vector4(a.w, a.x, a.x, a.z);
public static Vector4 xyxz(this Vector4 a) => new Vector4(a.x, a.y, a.x, a.z);
public static Vector4 yyxz(this Vector4 a) => new Vector4(a.y, a.y, a.x, a.z);
public static Vector4 zyxz(this Vector4 a) => new Vector4(a.z, a.y, a.x, a.z);
public static Vector4 wyxz(this Vector4 a) => new Vector4(a.w, a.y, a.x, a.z);
public static Vector4 xzxz(this Vector4 a) => new Vector4(a.x, a.z, a.x, a.z);
public static Vector4 yzxz(this Vector4 a) => new Vector4(a.y, a.z, a.x, a.z);
public static Vector4 zzxz(this Vector4 a) => new Vector4(a.z, a.z, a.x, a.z);
public static Vector4 wzxz(this Vector4 a) => new Vector4(a.w, a.z, a.x, a.z);
public static Vector4 xwxz(this Vector4 a) => new Vector4(a.x, a.w, a.x, a.z);
public static Vector4 ywxz(this Vector4 a) => new Vector4(a.y, a.w, a.x, a.z);
public static Vector4 zwxz(this Vector4 a) => new Vector4(a.z, a.w, a.x, a.z);
public static Vector4 wwxz(this Vector4 a) => new Vector4(a.w, a.w, a.x, a.z);
public static Vector4 xxyz(this Vector4 a) => new Vector4(a.x, a.x, a.y, a.z);
public static Vector4 yxyz(this Vector4 a) => new Vector4(a.y, a.x, a.y, a.z);
public static Vector4 zxyz(this Vector4 a) => new Vector4(a.z, a.x, a.y, a.z);
public static Vector4 wxyz(this Vector4 a) => new Vector4(a.w, a.x, a.y, a.z);
public static Vector4 xyyz(this Vector4 a) => new Vector4(a.x, a.y, a.y, a.z);
public static Vector4 yyyz(this Vector4 a) => new Vector4(a.y, a.y, a.y, a.z);
public static Vector4 zyyz(this Vector4 a) => new Vector4(a.z, a.y, a.y, a.z);
public static Vector4 wyyz(this Vector4 a) => new Vector4(a.w, a.y, a.y, a.z);
public static Vector4 xzyz(this Vector4 a) => new Vector4(a.x, a.z, a.y, a.z);
public static Vector4 yzyz(this Vector4 a) => new Vector4(a.y, a.z, a.y, a.z);
public static Vector4 zzyz(this Vector4 a) => new Vector4(a.z, a.z, a.y, a.z);
public static Vector4 wzyz(this Vector4 a) => new Vector4(a.w, a.z, a.y, a.z);
public static Vector4 xwyz(this Vector4 a) => new Vector4(a.x, a.w, a.y, a.z);
public static Vector4 ywyz(this Vector4 a) => new Vector4(a.y, a.w, a.y, a.z);
public static Vector4 zwyz(this Vector4 a) => new Vector4(a.z, a.w, a.y, a.z);
public static Vector4 wwyz(this Vector4 a) => new Vector4(a.w, a.w, a.y, a.z);
public static Vector4 xxzz(this Vector4 a) => new Vector4(a.x, a.x, a.z, a.z);
public static Vector4 yxzz(this Vector4 a) => new Vector4(a.y, a.x, a.z, a.z);
public static Vector4 zxzz(this Vector4 a) => new Vector4(a.z, a.x, a.z, a.z);
public static Vector4 wxzz(this Vector4 a) => new Vector4(a.w, a.x, a.z, a.z);
public static Vector4 xyzz(this Vector4 a) => new Vector4(a.x, a.y, a.z, a.z);
public static Vector4 yyzz(this Vector4 a) => new Vector4(a.y, a.y, a.z, a.z);
public static Vector4 zyzz(this Vector4 a) => new Vector4(a.z, a.y, a.z, a.z);
public static Vector4 wyzz(this Vector4 a) => new Vector4(a.w, a.y, a.z, a.z);
public static Vector4 xzzz(this Vector4 a) => new Vector4(a.x, a.z, a.z, a.z);
public static Vector4 yzzz(this Vector4 a) => new Vector4(a.y, a.z, a.z, a.z);
public static Vector4 zzzz(this Vector4 a) => new Vector4(a.z, a.z, a.z, a.z);
public static Vector4 wzzz(this Vector4 a) => new Vector4(a.w, a.z, a.z, a.z);
public static Vector4 xwzz(this Vector4 a) => new Vector4(a.x, a.w, a.z, a.z);
public static Vector4 ywzz(this Vector4 a) => new Vector4(a.y, a.w, a.z, a.z);
public static Vector4 zwzz(this Vector4 a) => new Vector4(a.z, a.w, a.z, a.z);
public static Vector4 wwzz(this Vector4 a) => new Vector4(a.w, a.w, a.z, a.z);
public static Vector4 xxwz(this Vector4 a) => new Vector4(a.x, a.x, a.w, a.z);
public static Vector4 yxwz(this Vector4 a) => new Vector4(a.y, a.x, a.w, a.z);
public static Vector4 zxwz(this Vector4 a) => new Vector4(a.z, a.x, a.w, a.z);
public static Vector4 wxwz(this Vector4 a) => new Vector4(a.w, a.x, a.w, a.z);
public static Vector4 xywz(this Vector4 a) => new Vector4(a.x, a.y, a.w, a.z);
public static Vector4 yywz(this Vector4 a) => new Vector4(a.y, a.y, a.w, a.z);
public static Vector4 zywz(this Vector4 a) => new Vector4(a.z, a.y, a.w, a.z);
public static Vector4 wywz(this Vector4 a) => new Vector4(a.w, a.y, a.w, a.z);
public static Vector4 xzwz(this Vector4 a) => new Vector4(a.x, a.z, a.w, a.z);
public static Vector4 yzwz(this Vector4 a) => new Vector4(a.y, a.z, a.w, a.z);
public static Vector4 zzwz(this Vector4 a) => new Vector4(a.z, a.z, a.w, a.z);
public static Vector4 wzwz(this Vector4 a) => new Vector4(a.w, a.z, a.w, a.z);
public static Vector4 xwwz(this Vector4 a) => new Vector4(a.x, a.w, a.w, a.z);
public static Vector4 ywwz(this Vector4 a) => new Vector4(a.y, a.w, a.w, a.z);
public static Vector4 zwwz(this Vector4 a) => new Vector4(a.z, a.w, a.w, a.z);
public static Vector4 wwwz(this Vector4 a) => new Vector4(a.w, a.w, a.w, a.z);
public static Vector4 xxxw(this Vector4 a) => new Vector4(a.x, a.x, a.x, a.w);
public static Vector4 yxxw(this Vector4 a) => new Vector4(a.y, a.x, a.x, a.w);
public static Vector4 zxxw(this Vector4 a) => new Vector4(a.z, a.x, a.x, a.w);
public static Vector4 wxxw(this Vector4 a) => new Vector4(a.w, a.x, a.x, a.w);
public static Vector4 xyxw(this Vector4 a) => new Vector4(a.x, a.y, a.x, a.w);
public static Vector4 yyxw(this Vector4 a) => new Vector4(a.y, a.y, a.x, a.w);
public static Vector4 zyxw(this Vector4 a) => new Vector4(a.z, a.y, a.x, a.w);
public static Vector4 wyxw(this Vector4 a) => new Vector4(a.w, a.y, a.x, a.w);
public static Vector4 xzxw(this Vector4 a) => new Vector4(a.x, a.z, a.x, a.w);
public static Vector4 yzxw(this Vector4 a) => new Vector4(a.y, a.z, a.x, a.w);
public static Vector4 zzxw(this Vector4 a) => new Vector4(a.z, a.z, a.x, a.w);
public static Vector4 wzxw(this Vector4 a) => new Vector4(a.w, a.z, a.x, a.w);
public static Vector4 xwxw(this Vector4 a) => new Vector4(a.x, a.w, a.x, a.w);
public static Vector4 ywxw(this Vector4 a) => new Vector4(a.y, a.w, a.x, a.w);
public static Vector4 zwxw(this Vector4 a) => new Vector4(a.z, a.w, a.x, a.w);
public static Vector4 wwxw(this Vector4 a) => new Vector4(a.w, a.w, a.x, a.w);
public static Vector4 xxyw(this Vector4 a) => new Vector4(a.x, a.x, a.y, a.w);
public static Vector4 yxyw(this Vector4 a) => new Vector4(a.y, a.x, a.y, a.w);
public static Vector4 zxyw(this Vector4 a) => new Vector4(a.z, a.x, a.y, a.w);
public static Vector4 wxyw(this Vector4 a) => new Vector4(a.w, a.x, a.y, a.w);
public static Vector4 xyyw(this Vector4 a) => new Vector4(a.x, a.y, a.y, a.w);
public static Vector4 yyyw(this Vector4 a) => new Vector4(a.y, a.y, a.y, a.w);
public static Vector4 zyyw(this Vector4 a) => new Vector4(a.z, a.y, a.y, a.w);
public static Vector4 wyyw(this Vector4 a) => new Vector4(a.w, a.y, a.y, a.w);
public static Vector4 xzyw(this Vector4 a) => new Vector4(a.x, a.z, a.y, a.w);
public static Vector4 yzyw(this Vector4 a) => new Vector4(a.y, a.z, a.y, a.w);
public static Vector4 zzyw(this Vector4 a) => new Vector4(a.z, a.z, a.y, a.w);
public static Vector4 wzyw(this Vector4 a) => new Vector4(a.w, a.z, a.y, a.w);
public static Vector4 xwyw(this Vector4 a) => new Vector4(a.x, a.w, a.y, a.w);
public static Vector4 ywyw(this Vector4 a) => new Vector4(a.y, a.w, a.y, a.w);
public static Vector4 zwyw(this Vector4 a) => new Vector4(a.z, a.w, a.y, a.w);
public static Vector4 wwyw(this Vector4 a) => new Vector4(a.w, a.w, a.y, a.w);
public static Vector4 xxzw(this Vector4 a) => new Vector4(a.x, a.x, a.z, a.w);
public static Vector4 yxzw(this Vector4 a) => new Vector4(a.y, a.x, a.z, a.w);
public static Vector4 zxzw(this Vector4 a) => new Vector4(a.z, a.x, a.z, a.w);
public static Vector4 wxzw(this Vector4 a) => new Vector4(a.w, a.x, a.z, a.w);
public static Vector4 xyzw(this Vector4 a) => a;
public static Vector4 yyzw(this Vector4 a) => new Vector4(a.y, a.y, a.z, a.w);
public static Vector4 zyzw(this Vector4 a) => new Vector4(a.z, a.y, a.z, a.w);
public static Vector4 wyzw(this Vector4 a) => new Vector4(a.w, a.y, a.z, a.w);
public static Vector4 xzzw(this Vector4 a) => new Vector4(a.x, a.z, a.z, a.w);
public static Vector4 yzzw(this Vector4 a) => new Vector4(a.y, a.z, a.z, a.w);
public static Vector4 zzzw(this Vector4 a) => new Vector4(a.z, a.z, a.z, a.w);
public static Vector4 wzzw(this Vector4 a) => new Vector4(a.w, a.z, a.z, a.w);
public static Vector4 xwzw(this Vector4 a) => new Vector4(a.x, a.w, a.z, a.w);
public static Vector4 ywzw(this Vector4 a) => new Vector4(a.y, a.w, a.z, a.w);
public static Vector4 zwzw(this Vector4 a) => new Vector4(a.z, a.w, a.z, a.w);
public static Vector4 wwzw(this Vector4 a) => new Vector4(a.w, a.w, a.z, a.w);
public static Vector4 xxww(this Vector4 a) => new Vector4(a.x, a.x, a.w, a.w);
public static Vector4 yxww(this Vector4 a) => new Vector4(a.y, a.x, a.w, a.w);
public static Vector4 zxww(this Vector4 a) => new Vector4(a.z, a.x, a.w, a.w);
public static Vector4 wxww(this Vector4 a) => new Vector4(a.w, a.x, a.w, a.w);
public static Vector4 xyww(this Vector4 a) => new Vector4(a.x, a.y, a.w, a.w);
public static Vector4 yyww(this Vector4 a) => new Vector4(a.y, a.y, a.w, a.w);
public static Vector4 zyww(this Vector4 a) => new Vector4(a.z, a.y, a.w, a.w);
public static Vector4 wyww(this Vector4 a) => new Vector4(a.w, a.y, a.w, a.w);
public static Vector4 xzww(this Vector4 a) => new Vector4(a.x, a.z, a.w, a.w);
public static Vector4 yzww(this Vector4 a) => new Vector4(a.y, a.z, a.w, a.w);
public static Vector4 zzww(this Vector4 a) => new Vector4(a.z, a.z, a.w, a.w);
public static Vector4 wzww(this Vector4 a) => new Vector4(a.w, a.z, a.w, a.w);
public static Vector4 xwww(this Vector4 a) => new Vector4(a.x, a.w, a.w, a.w);
public static Vector4 ywww(this Vector4 a) => new Vector4(a.y, a.w, a.w, a.w);
public static Vector4 zwww(this Vector4 a) => new Vector4(a.z, a.w, a.w, a.w);
public static Vector4 wwww(this Vector4 a) => new Vector4(a.w, a.w, a.w, a.w);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment