CultLib/packages/cultmath/src/CultMath/Swizzles.g.cs
Meta Vens 7821e06d55 Add HLSL vector conversions, int clamp, and double frac to CultMath
Aetheria Cut 8a needs int2(float2), clamp(int, int, int), and
frac(double). Fill them in CultMath as dxc compiles them:

- generate-swizzles.ps1 emits same-size conversion constructors and
  math functions between float, int, and bool vectors. dxc lowers
  float to int as fptosi (toward zero; NaN and out-of-range undefined),
  numeric to bool as != 0 (fcmp une, NaN is true), bool to numeric as
  0 or 1. floatN(int) splat keeps floatN(0) from going ambiguous
  against floatN(intN).
- Int and int-vector clamp are min(max(x, a), b), matching dxc's
  IMin(IMax(x, a), b); inverted bounds return b.
- frac(double) keeps double precision. dxc demotes double frac to
  float, as it does exp and lerp; CultMath's existing double overloads
  already diverge that way, and design.md now says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 16:16:32 +02:00

3176 lines
180 KiB
C#

// <auto-generated>
// Generated by tools/generate-swizzles.ps1. Do not edit by hand.
// </auto-generated>
namespace CultMath;
public partial struct float2
{
public float2(float2 xy) : this(xy.x, xy.y) { }
public float2(int2 value) : this(value.x, value.y) { }
public float2(bool2 value) : this(value.x ? 1.0f : 0.0f, value.y ? 1.0f : 0.0f) { }
public float r { readonly get => x; set => x = value; }
public float g { readonly get => y; set => y = value; }
public readonly float2 xx => new(x, x);
public float2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 yy => new(y, y);
public readonly float3 xxx => new(x, x, x);
public readonly float3 xxy => new(x, x, y);
public readonly float3 xyx => new(x, y, x);
public readonly float3 xyy => new(x, y, y);
public readonly float3 yxx => new(y, x, x);
public readonly float3 yxy => new(y, x, y);
public readonly float3 yyx => new(y, y, x);
public readonly float3 yyy => new(y, y, y);
public readonly float4 xxxx => new(x, x, x, x);
public readonly float4 xxxy => new(x, x, x, y);
public readonly float4 xxyx => new(x, x, y, x);
public readonly float4 xxyy => new(x, x, y, y);
public readonly float4 xyxx => new(x, y, x, x);
public readonly float4 xyxy => new(x, y, x, y);
public readonly float4 xyyx => new(x, y, y, x);
public readonly float4 xyyy => new(x, y, y, y);
public readonly float4 yxxx => new(y, x, x, x);
public readonly float4 yxxy => new(y, x, x, y);
public readonly float4 yxyx => new(y, x, y, x);
public readonly float4 yxyy => new(y, x, y, y);
public readonly float4 yyxx => new(y, y, x, x);
public readonly float4 yyxy => new(y, y, x, y);
public readonly float4 yyyx => new(y, y, y, x);
public readonly float4 yyyy => new(y, y, y, y);
public readonly float2 rr => new(x, x);
public float2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 gg => new(y, y);
public readonly float3 rrr => new(x, x, x);
public readonly float3 rrg => new(x, x, y);
public readonly float3 rgr => new(x, y, x);
public readonly float3 rgg => new(x, y, y);
public readonly float3 grr => new(y, x, x);
public readonly float3 grg => new(y, x, y);
public readonly float3 ggr => new(y, y, x);
public readonly float3 ggg => new(y, y, y);
public readonly float4 rrrr => new(x, x, x, x);
public readonly float4 rrrg => new(x, x, x, y);
public readonly float4 rrgr => new(x, x, y, x);
public readonly float4 rrgg => new(x, x, y, y);
public readonly float4 rgrr => new(x, y, x, x);
public readonly float4 rgrg => new(x, y, x, y);
public readonly float4 rggr => new(x, y, y, x);
public readonly float4 rggg => new(x, y, y, y);
public readonly float4 grrr => new(y, x, x, x);
public readonly float4 grrg => new(y, x, x, y);
public readonly float4 grgr => new(y, x, y, x);
public readonly float4 grgg => new(y, x, y, y);
public readonly float4 ggrr => new(y, y, x, x);
public readonly float4 ggrg => new(y, y, x, y);
public readonly float4 gggr => new(y, y, y, x);
public readonly float4 gggg => new(y, y, y, y);
}
public partial struct float3
{
public float3(float x, float2 yz) : this(x, yz.x, yz.y) { }
public float3(float2 xy, float z) : this(xy.x, xy.y, z) { }
public float3(float3 xyz) : this(xyz.x, xyz.y, xyz.z) { }
public float3(int3 value) : this(value.x, value.y, value.z) { }
public float3(bool3 value) : this(value.x ? 1.0f : 0.0f, value.y ? 1.0f : 0.0f, value.z ? 1.0f : 0.0f) { }
public float r { readonly get => x; set => x = value; }
public float g { readonly get => y; set => y = value; }
public float b { readonly get => z; set => z = value; }
public readonly float2 xx => new(x, x);
public float2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public float2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 yy => new(y, y);
public float2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public float2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public float2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly float2 zz => new(z, z);
public readonly float3 xxx => new(x, x, x);
public readonly float3 xxy => new(x, x, y);
public readonly float3 xxz => new(x, x, z);
public readonly float3 xyx => new(x, y, x);
public readonly float3 xyy => new(x, y, y);
public float3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly float3 xzx => new(x, z, x);
public float3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly float3 xzz => new(x, z, z);
public readonly float3 yxx => new(y, x, x);
public readonly float3 yxy => new(y, x, y);
public float3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly float3 yyx => new(y, y, x);
public readonly float3 yyy => new(y, y, y);
public readonly float3 yyz => new(y, y, z);
public float3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly float3 yzy => new(y, z, y);
public readonly float3 yzz => new(y, z, z);
public readonly float3 zxx => new(z, x, x);
public float3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly float3 zxz => new(z, x, z);
public float3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly float3 zyy => new(z, y, y);
public readonly float3 zyz => new(z, y, z);
public readonly float3 zzx => new(z, z, x);
public readonly float3 zzy => new(z, z, y);
public readonly float3 zzz => new(z, z, z);
public readonly float4 xxxx => new(x, x, x, x);
public readonly float4 xxxy => new(x, x, x, y);
public readonly float4 xxxz => new(x, x, x, z);
public readonly float4 xxyx => new(x, x, y, x);
public readonly float4 xxyy => new(x, x, y, y);
public readonly float4 xxyz => new(x, x, y, z);
public readonly float4 xxzx => new(x, x, z, x);
public readonly float4 xxzy => new(x, x, z, y);
public readonly float4 xxzz => new(x, x, z, z);
public readonly float4 xyxx => new(x, y, x, x);
public readonly float4 xyxy => new(x, y, x, y);
public readonly float4 xyxz => new(x, y, x, z);
public readonly float4 xyyx => new(x, y, y, x);
public readonly float4 xyyy => new(x, y, y, y);
public readonly float4 xyyz => new(x, y, y, z);
public readonly float4 xyzx => new(x, y, z, x);
public readonly float4 xyzy => new(x, y, z, y);
public readonly float4 xyzz => new(x, y, z, z);
public readonly float4 xzxx => new(x, z, x, x);
public readonly float4 xzxy => new(x, z, x, y);
public readonly float4 xzxz => new(x, z, x, z);
public readonly float4 xzyx => new(x, z, y, x);
public readonly float4 xzyy => new(x, z, y, y);
public readonly float4 xzyz => new(x, z, y, z);
public readonly float4 xzzx => new(x, z, z, x);
public readonly float4 xzzy => new(x, z, z, y);
public readonly float4 xzzz => new(x, z, z, z);
public readonly float4 yxxx => new(y, x, x, x);
public readonly float4 yxxy => new(y, x, x, y);
public readonly float4 yxxz => new(y, x, x, z);
public readonly float4 yxyx => new(y, x, y, x);
public readonly float4 yxyy => new(y, x, y, y);
public readonly float4 yxyz => new(y, x, y, z);
public readonly float4 yxzx => new(y, x, z, x);
public readonly float4 yxzy => new(y, x, z, y);
public readonly float4 yxzz => new(y, x, z, z);
public readonly float4 yyxx => new(y, y, x, x);
public readonly float4 yyxy => new(y, y, x, y);
public readonly float4 yyxz => new(y, y, x, z);
public readonly float4 yyyx => new(y, y, y, x);
public readonly float4 yyyy => new(y, y, y, y);
public readonly float4 yyyz => new(y, y, y, z);
public readonly float4 yyzx => new(y, y, z, x);
public readonly float4 yyzy => new(y, y, z, y);
public readonly float4 yyzz => new(y, y, z, z);
public readonly float4 yzxx => new(y, z, x, x);
public readonly float4 yzxy => new(y, z, x, y);
public readonly float4 yzxz => new(y, z, x, z);
public readonly float4 yzyx => new(y, z, y, x);
public readonly float4 yzyy => new(y, z, y, y);
public readonly float4 yzyz => new(y, z, y, z);
public readonly float4 yzzx => new(y, z, z, x);
public readonly float4 yzzy => new(y, z, z, y);
public readonly float4 yzzz => new(y, z, z, z);
public readonly float4 zxxx => new(z, x, x, x);
public readonly float4 zxxy => new(z, x, x, y);
public readonly float4 zxxz => new(z, x, x, z);
public readonly float4 zxyx => new(z, x, y, x);
public readonly float4 zxyy => new(z, x, y, y);
public readonly float4 zxyz => new(z, x, y, z);
public readonly float4 zxzx => new(z, x, z, x);
public readonly float4 zxzy => new(z, x, z, y);
public readonly float4 zxzz => new(z, x, z, z);
public readonly float4 zyxx => new(z, y, x, x);
public readonly float4 zyxy => new(z, y, x, y);
public readonly float4 zyxz => new(z, y, x, z);
public readonly float4 zyyx => new(z, y, y, x);
public readonly float4 zyyy => new(z, y, y, y);
public readonly float4 zyyz => new(z, y, y, z);
public readonly float4 zyzx => new(z, y, z, x);
public readonly float4 zyzy => new(z, y, z, y);
public readonly float4 zyzz => new(z, y, z, z);
public readonly float4 zzxx => new(z, z, x, x);
public readonly float4 zzxy => new(z, z, x, y);
public readonly float4 zzxz => new(z, z, x, z);
public readonly float4 zzyx => new(z, z, y, x);
public readonly float4 zzyy => new(z, z, y, y);
public readonly float4 zzyz => new(z, z, y, z);
public readonly float4 zzzx => new(z, z, z, x);
public readonly float4 zzzy => new(z, z, z, y);
public readonly float4 zzzz => new(z, z, z, z);
public readonly float2 rr => new(x, x);
public float2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public float2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 gg => new(y, y);
public float2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public float2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public float2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly float2 bb => new(z, z);
public readonly float3 rrr => new(x, x, x);
public readonly float3 rrg => new(x, x, y);
public readonly float3 rrb => new(x, x, z);
public readonly float3 rgr => new(x, y, x);
public readonly float3 rgg => new(x, y, y);
public float3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly float3 rbr => new(x, z, x);
public float3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly float3 rbb => new(x, z, z);
public readonly float3 grr => new(y, x, x);
public readonly float3 grg => new(y, x, y);
public float3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly float3 ggr => new(y, y, x);
public readonly float3 ggg => new(y, y, y);
public readonly float3 ggb => new(y, y, z);
public float3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly float3 gbg => new(y, z, y);
public readonly float3 gbb => new(y, z, z);
public readonly float3 brr => new(z, x, x);
public float3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly float3 brb => new(z, x, z);
public float3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly float3 bgg => new(z, y, y);
public readonly float3 bgb => new(z, y, z);
public readonly float3 bbr => new(z, z, x);
public readonly float3 bbg => new(z, z, y);
public readonly float3 bbb => new(z, z, z);
public readonly float4 rrrr => new(x, x, x, x);
public readonly float4 rrrg => new(x, x, x, y);
public readonly float4 rrrb => new(x, x, x, z);
public readonly float4 rrgr => new(x, x, y, x);
public readonly float4 rrgg => new(x, x, y, y);
public readonly float4 rrgb => new(x, x, y, z);
public readonly float4 rrbr => new(x, x, z, x);
public readonly float4 rrbg => new(x, x, z, y);
public readonly float4 rrbb => new(x, x, z, z);
public readonly float4 rgrr => new(x, y, x, x);
public readonly float4 rgrg => new(x, y, x, y);
public readonly float4 rgrb => new(x, y, x, z);
public readonly float4 rggr => new(x, y, y, x);
public readonly float4 rggg => new(x, y, y, y);
public readonly float4 rggb => new(x, y, y, z);
public readonly float4 rgbr => new(x, y, z, x);
public readonly float4 rgbg => new(x, y, z, y);
public readonly float4 rgbb => new(x, y, z, z);
public readonly float4 rbrr => new(x, z, x, x);
public readonly float4 rbrg => new(x, z, x, y);
public readonly float4 rbrb => new(x, z, x, z);
public readonly float4 rbgr => new(x, z, y, x);
public readonly float4 rbgg => new(x, z, y, y);
public readonly float4 rbgb => new(x, z, y, z);
public readonly float4 rbbr => new(x, z, z, x);
public readonly float4 rbbg => new(x, z, z, y);
public readonly float4 rbbb => new(x, z, z, z);
public readonly float4 grrr => new(y, x, x, x);
public readonly float4 grrg => new(y, x, x, y);
public readonly float4 grrb => new(y, x, x, z);
public readonly float4 grgr => new(y, x, y, x);
public readonly float4 grgg => new(y, x, y, y);
public readonly float4 grgb => new(y, x, y, z);
public readonly float4 grbr => new(y, x, z, x);
public readonly float4 grbg => new(y, x, z, y);
public readonly float4 grbb => new(y, x, z, z);
public readonly float4 ggrr => new(y, y, x, x);
public readonly float4 ggrg => new(y, y, x, y);
public readonly float4 ggrb => new(y, y, x, z);
public readonly float4 gggr => new(y, y, y, x);
public readonly float4 gggg => new(y, y, y, y);
public readonly float4 gggb => new(y, y, y, z);
public readonly float4 ggbr => new(y, y, z, x);
public readonly float4 ggbg => new(y, y, z, y);
public readonly float4 ggbb => new(y, y, z, z);
public readonly float4 gbrr => new(y, z, x, x);
public readonly float4 gbrg => new(y, z, x, y);
public readonly float4 gbrb => new(y, z, x, z);
public readonly float4 gbgr => new(y, z, y, x);
public readonly float4 gbgg => new(y, z, y, y);
public readonly float4 gbgb => new(y, z, y, z);
public readonly float4 gbbr => new(y, z, z, x);
public readonly float4 gbbg => new(y, z, z, y);
public readonly float4 gbbb => new(y, z, z, z);
public readonly float4 brrr => new(z, x, x, x);
public readonly float4 brrg => new(z, x, x, y);
public readonly float4 brrb => new(z, x, x, z);
public readonly float4 brgr => new(z, x, y, x);
public readonly float4 brgg => new(z, x, y, y);
public readonly float4 brgb => new(z, x, y, z);
public readonly float4 brbr => new(z, x, z, x);
public readonly float4 brbg => new(z, x, z, y);
public readonly float4 brbb => new(z, x, z, z);
public readonly float4 bgrr => new(z, y, x, x);
public readonly float4 bgrg => new(z, y, x, y);
public readonly float4 bgrb => new(z, y, x, z);
public readonly float4 bggr => new(z, y, y, x);
public readonly float4 bggg => new(z, y, y, y);
public readonly float4 bggb => new(z, y, y, z);
public readonly float4 bgbr => new(z, y, z, x);
public readonly float4 bgbg => new(z, y, z, y);
public readonly float4 bgbb => new(z, y, z, z);
public readonly float4 bbrr => new(z, z, x, x);
public readonly float4 bbrg => new(z, z, x, y);
public readonly float4 bbrb => new(z, z, x, z);
public readonly float4 bbgr => new(z, z, y, x);
public readonly float4 bbgg => new(z, z, y, y);
public readonly float4 bbgb => new(z, z, y, z);
public readonly float4 bbbr => new(z, z, z, x);
public readonly float4 bbbg => new(z, z, z, y);
public readonly float4 bbbb => new(z, z, z, z);
}
public partial struct float4
{
public float4(float x, float y, float2 zw) : this(x, y, zw.x, zw.y) { }
public float4(float x, float2 yz, float w) : this(x, yz.x, yz.y, w) { }
public float4(float x, float3 yzw) : this(x, yzw.x, yzw.y, yzw.z) { }
public float4(float2 xy, float z, float w) : this(xy.x, xy.y, z, w) { }
public float4(float2 xy, float2 zw) : this(xy.x, xy.y, zw.x, zw.y) { }
public float4(float3 xyz, float w) : this(xyz.x, xyz.y, xyz.z, w) { }
public float4(float4 xyzw) : this(xyzw.x, xyzw.y, xyzw.z, xyzw.w) { }
public float4(int4 value) : this(value.x, value.y, value.z, value.w) { }
public float4(bool4 value) : this(value.x ? 1.0f : 0.0f, value.y ? 1.0f : 0.0f, value.z ? 1.0f : 0.0f, value.w ? 1.0f : 0.0f) { }
public float r { readonly get => x; set => x = value; }
public float g { readonly get => y; set => y = value; }
public float b { readonly get => z; set => z = value; }
public float a { readonly get => w; set => w = value; }
public readonly float2 xx => new(x, x);
public float2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public float2 xw { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public float2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 yy => new(y, y);
public float2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public float2 yw { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public float2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public float2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly float2 zz => new(z, z);
public float2 zw { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public float2 wx { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public float2 wy { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public float2 wz { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly float2 ww => new(w, w);
public readonly float3 xxx => new(x, x, x);
public readonly float3 xxy => new(x, x, y);
public readonly float3 xxz => new(x, x, z);
public readonly float3 xxw => new(x, x, w);
public readonly float3 xyx => new(x, y, x);
public readonly float3 xyy => new(x, y, y);
public float3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public float3 xyw { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly float3 xzx => new(x, z, x);
public float3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly float3 xzz => new(x, z, z);
public float3 xzw { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly float3 xwx => new(x, w, x);
public float3 xwy { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public float3 xwz { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly float3 xww => new(x, w, w);
public readonly float3 yxx => new(y, x, x);
public readonly float3 yxy => new(y, x, y);
public float3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public float3 yxw { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly float3 yyx => new(y, y, x);
public readonly float3 yyy => new(y, y, y);
public readonly float3 yyz => new(y, y, z);
public readonly float3 yyw => new(y, y, w);
public float3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly float3 yzy => new(y, z, y);
public readonly float3 yzz => new(y, z, z);
public float3 yzw { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public float3 ywx { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly float3 ywy => new(y, w, y);
public float3 ywz { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly float3 yww => new(y, w, w);
public readonly float3 zxx => new(z, x, x);
public float3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly float3 zxz => new(z, x, z);
public float3 zxw { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public float3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly float3 zyy => new(z, y, y);
public readonly float3 zyz => new(z, y, z);
public float3 zyw { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly float3 zzx => new(z, z, x);
public readonly float3 zzy => new(z, z, y);
public readonly float3 zzz => new(z, z, z);
public readonly float3 zzw => new(z, z, w);
public float3 zwx { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public float3 zwy { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly float3 zwz => new(z, w, z);
public readonly float3 zww => new(z, w, w);
public readonly float3 wxx => new(w, x, x);
public float3 wxy { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public float3 wxz { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly float3 wxw => new(w, x, w);
public float3 wyx { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly float3 wyy => new(w, y, y);
public float3 wyz { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly float3 wyw => new(w, y, w);
public float3 wzx { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public float3 wzy { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly float3 wzz => new(w, z, z);
public readonly float3 wzw => new(w, z, w);
public readonly float3 wwx => new(w, w, x);
public readonly float3 wwy => new(w, w, y);
public readonly float3 wwz => new(w, w, z);
public readonly float3 www => new(w, w, w);
public readonly float4 xxxx => new(x, x, x, x);
public readonly float4 xxxy => new(x, x, x, y);
public readonly float4 xxxz => new(x, x, x, z);
public readonly float4 xxxw => new(x, x, x, w);
public readonly float4 xxyx => new(x, x, y, x);
public readonly float4 xxyy => new(x, x, y, y);
public readonly float4 xxyz => new(x, x, y, z);
public readonly float4 xxyw => new(x, x, y, w);
public readonly float4 xxzx => new(x, x, z, x);
public readonly float4 xxzy => new(x, x, z, y);
public readonly float4 xxzz => new(x, x, z, z);
public readonly float4 xxzw => new(x, x, z, w);
public readonly float4 xxwx => new(x, x, w, x);
public readonly float4 xxwy => new(x, x, w, y);
public readonly float4 xxwz => new(x, x, w, z);
public readonly float4 xxww => new(x, x, w, w);
public readonly float4 xyxx => new(x, y, x, x);
public readonly float4 xyxy => new(x, y, x, y);
public readonly float4 xyxz => new(x, y, x, z);
public readonly float4 xyxw => new(x, y, x, w);
public readonly float4 xyyx => new(x, y, y, x);
public readonly float4 xyyy => new(x, y, y, y);
public readonly float4 xyyz => new(x, y, y, z);
public readonly float4 xyyw => new(x, y, y, w);
public readonly float4 xyzx => new(x, y, z, x);
public readonly float4 xyzy => new(x, y, z, y);
public readonly float4 xyzz => new(x, y, z, z);
public float4 xyzw { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly float4 xywx => new(x, y, w, x);
public readonly float4 xywy => new(x, y, w, y);
public float4 xywz { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly float4 xyww => new(x, y, w, w);
public readonly float4 xzxx => new(x, z, x, x);
public readonly float4 xzxy => new(x, z, x, y);
public readonly float4 xzxz => new(x, z, x, z);
public readonly float4 xzxw => new(x, z, x, w);
public readonly float4 xzyx => new(x, z, y, x);
public readonly float4 xzyy => new(x, z, y, y);
public readonly float4 xzyz => new(x, z, y, z);
public float4 xzyw { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly float4 xzzx => new(x, z, z, x);
public readonly float4 xzzy => new(x, z, z, y);
public readonly float4 xzzz => new(x, z, z, z);
public readonly float4 xzzw => new(x, z, z, w);
public readonly float4 xzwx => new(x, z, w, x);
public float4 xzwy { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly float4 xzwz => new(x, z, w, z);
public readonly float4 xzww => new(x, z, w, w);
public readonly float4 xwxx => new(x, w, x, x);
public readonly float4 xwxy => new(x, w, x, y);
public readonly float4 xwxz => new(x, w, x, z);
public readonly float4 xwxw => new(x, w, x, w);
public readonly float4 xwyx => new(x, w, y, x);
public readonly float4 xwyy => new(x, w, y, y);
public float4 xwyz { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly float4 xwyw => new(x, w, y, w);
public readonly float4 xwzx => new(x, w, z, x);
public float4 xwzy { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly float4 xwzz => new(x, w, z, z);
public readonly float4 xwzw => new(x, w, z, w);
public readonly float4 xwwx => new(x, w, w, x);
public readonly float4 xwwy => new(x, w, w, y);
public readonly float4 xwwz => new(x, w, w, z);
public readonly float4 xwww => new(x, w, w, w);
public readonly float4 yxxx => new(y, x, x, x);
public readonly float4 yxxy => new(y, x, x, y);
public readonly float4 yxxz => new(y, x, x, z);
public readonly float4 yxxw => new(y, x, x, w);
public readonly float4 yxyx => new(y, x, y, x);
public readonly float4 yxyy => new(y, x, y, y);
public readonly float4 yxyz => new(y, x, y, z);
public readonly float4 yxyw => new(y, x, y, w);
public readonly float4 yxzx => new(y, x, z, x);
public readonly float4 yxzy => new(y, x, z, y);
public readonly float4 yxzz => new(y, x, z, z);
public float4 yxzw { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly float4 yxwx => new(y, x, w, x);
public readonly float4 yxwy => new(y, x, w, y);
public float4 yxwz { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly float4 yxww => new(y, x, w, w);
public readonly float4 yyxx => new(y, y, x, x);
public readonly float4 yyxy => new(y, y, x, y);
public readonly float4 yyxz => new(y, y, x, z);
public readonly float4 yyxw => new(y, y, x, w);
public readonly float4 yyyx => new(y, y, y, x);
public readonly float4 yyyy => new(y, y, y, y);
public readonly float4 yyyz => new(y, y, y, z);
public readonly float4 yyyw => new(y, y, y, w);
public readonly float4 yyzx => new(y, y, z, x);
public readonly float4 yyzy => new(y, y, z, y);
public readonly float4 yyzz => new(y, y, z, z);
public readonly float4 yyzw => new(y, y, z, w);
public readonly float4 yywx => new(y, y, w, x);
public readonly float4 yywy => new(y, y, w, y);
public readonly float4 yywz => new(y, y, w, z);
public readonly float4 yyww => new(y, y, w, w);
public readonly float4 yzxx => new(y, z, x, x);
public readonly float4 yzxy => new(y, z, x, y);
public readonly float4 yzxz => new(y, z, x, z);
public float4 yzxw { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly float4 yzyx => new(y, z, y, x);
public readonly float4 yzyy => new(y, z, y, y);
public readonly float4 yzyz => new(y, z, y, z);
public readonly float4 yzyw => new(y, z, y, w);
public readonly float4 yzzx => new(y, z, z, x);
public readonly float4 yzzy => new(y, z, z, y);
public readonly float4 yzzz => new(y, z, z, z);
public readonly float4 yzzw => new(y, z, z, w);
public float4 yzwx { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly float4 yzwy => new(y, z, w, y);
public readonly float4 yzwz => new(y, z, w, z);
public readonly float4 yzww => new(y, z, w, w);
public readonly float4 ywxx => new(y, w, x, x);
public readonly float4 ywxy => new(y, w, x, y);
public float4 ywxz { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly float4 ywxw => new(y, w, x, w);
public readonly float4 ywyx => new(y, w, y, x);
public readonly float4 ywyy => new(y, w, y, y);
public readonly float4 ywyz => new(y, w, y, z);
public readonly float4 ywyw => new(y, w, y, w);
public float4 ywzx { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly float4 ywzy => new(y, w, z, y);
public readonly float4 ywzz => new(y, w, z, z);
public readonly float4 ywzw => new(y, w, z, w);
public readonly float4 ywwx => new(y, w, w, x);
public readonly float4 ywwy => new(y, w, w, y);
public readonly float4 ywwz => new(y, w, w, z);
public readonly float4 ywww => new(y, w, w, w);
public readonly float4 zxxx => new(z, x, x, x);
public readonly float4 zxxy => new(z, x, x, y);
public readonly float4 zxxz => new(z, x, x, z);
public readonly float4 zxxw => new(z, x, x, w);
public readonly float4 zxyx => new(z, x, y, x);
public readonly float4 zxyy => new(z, x, y, y);
public readonly float4 zxyz => new(z, x, y, z);
public float4 zxyw { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly float4 zxzx => new(z, x, z, x);
public readonly float4 zxzy => new(z, x, z, y);
public readonly float4 zxzz => new(z, x, z, z);
public readonly float4 zxzw => new(z, x, z, w);
public readonly float4 zxwx => new(z, x, w, x);
public float4 zxwy { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly float4 zxwz => new(z, x, w, z);
public readonly float4 zxww => new(z, x, w, w);
public readonly float4 zyxx => new(z, y, x, x);
public readonly float4 zyxy => new(z, y, x, y);
public readonly float4 zyxz => new(z, y, x, z);
public float4 zyxw { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly float4 zyyx => new(z, y, y, x);
public readonly float4 zyyy => new(z, y, y, y);
public readonly float4 zyyz => new(z, y, y, z);
public readonly float4 zyyw => new(z, y, y, w);
public readonly float4 zyzx => new(z, y, z, x);
public readonly float4 zyzy => new(z, y, z, y);
public readonly float4 zyzz => new(z, y, z, z);
public readonly float4 zyzw => new(z, y, z, w);
public float4 zywx { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly float4 zywy => new(z, y, w, y);
public readonly float4 zywz => new(z, y, w, z);
public readonly float4 zyww => new(z, y, w, w);
public readonly float4 zzxx => new(z, z, x, x);
public readonly float4 zzxy => new(z, z, x, y);
public readonly float4 zzxz => new(z, z, x, z);
public readonly float4 zzxw => new(z, z, x, w);
public readonly float4 zzyx => new(z, z, y, x);
public readonly float4 zzyy => new(z, z, y, y);
public readonly float4 zzyz => new(z, z, y, z);
public readonly float4 zzyw => new(z, z, y, w);
public readonly float4 zzzx => new(z, z, z, x);
public readonly float4 zzzy => new(z, z, z, y);
public readonly float4 zzzz => new(z, z, z, z);
public readonly float4 zzzw => new(z, z, z, w);
public readonly float4 zzwx => new(z, z, w, x);
public readonly float4 zzwy => new(z, z, w, y);
public readonly float4 zzwz => new(z, z, w, z);
public readonly float4 zzww => new(z, z, w, w);
public readonly float4 zwxx => new(z, w, x, x);
public float4 zwxy { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly float4 zwxz => new(z, w, x, z);
public readonly float4 zwxw => new(z, w, x, w);
public float4 zwyx { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly float4 zwyy => new(z, w, y, y);
public readonly float4 zwyz => new(z, w, y, z);
public readonly float4 zwyw => new(z, w, y, w);
public readonly float4 zwzx => new(z, w, z, x);
public readonly float4 zwzy => new(z, w, z, y);
public readonly float4 zwzz => new(z, w, z, z);
public readonly float4 zwzw => new(z, w, z, w);
public readonly float4 zwwx => new(z, w, w, x);
public readonly float4 zwwy => new(z, w, w, y);
public readonly float4 zwwz => new(z, w, w, z);
public readonly float4 zwww => new(z, w, w, w);
public readonly float4 wxxx => new(w, x, x, x);
public readonly float4 wxxy => new(w, x, x, y);
public readonly float4 wxxz => new(w, x, x, z);
public readonly float4 wxxw => new(w, x, x, w);
public readonly float4 wxyx => new(w, x, y, x);
public readonly float4 wxyy => new(w, x, y, y);
public float4 wxyz { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly float4 wxyw => new(w, x, y, w);
public readonly float4 wxzx => new(w, x, z, x);
public float4 wxzy { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly float4 wxzz => new(w, x, z, z);
public readonly float4 wxzw => new(w, x, z, w);
public readonly float4 wxwx => new(w, x, w, x);
public readonly float4 wxwy => new(w, x, w, y);
public readonly float4 wxwz => new(w, x, w, z);
public readonly float4 wxww => new(w, x, w, w);
public readonly float4 wyxx => new(w, y, x, x);
public readonly float4 wyxy => new(w, y, x, y);
public float4 wyxz { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly float4 wyxw => new(w, y, x, w);
public readonly float4 wyyx => new(w, y, y, x);
public readonly float4 wyyy => new(w, y, y, y);
public readonly float4 wyyz => new(w, y, y, z);
public readonly float4 wyyw => new(w, y, y, w);
public float4 wyzx { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly float4 wyzy => new(w, y, z, y);
public readonly float4 wyzz => new(w, y, z, z);
public readonly float4 wyzw => new(w, y, z, w);
public readonly float4 wywx => new(w, y, w, x);
public readonly float4 wywy => new(w, y, w, y);
public readonly float4 wywz => new(w, y, w, z);
public readonly float4 wyww => new(w, y, w, w);
public readonly float4 wzxx => new(w, z, x, x);
public float4 wzxy { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly float4 wzxz => new(w, z, x, z);
public readonly float4 wzxw => new(w, z, x, w);
public float4 wzyx { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly float4 wzyy => new(w, z, y, y);
public readonly float4 wzyz => new(w, z, y, z);
public readonly float4 wzyw => new(w, z, y, w);
public readonly float4 wzzx => new(w, z, z, x);
public readonly float4 wzzy => new(w, z, z, y);
public readonly float4 wzzz => new(w, z, z, z);
public readonly float4 wzzw => new(w, z, z, w);
public readonly float4 wzwx => new(w, z, w, x);
public readonly float4 wzwy => new(w, z, w, y);
public readonly float4 wzwz => new(w, z, w, z);
public readonly float4 wzww => new(w, z, w, w);
public readonly float4 wwxx => new(w, w, x, x);
public readonly float4 wwxy => new(w, w, x, y);
public readonly float4 wwxz => new(w, w, x, z);
public readonly float4 wwxw => new(w, w, x, w);
public readonly float4 wwyx => new(w, w, y, x);
public readonly float4 wwyy => new(w, w, y, y);
public readonly float4 wwyz => new(w, w, y, z);
public readonly float4 wwyw => new(w, w, y, w);
public readonly float4 wwzx => new(w, w, z, x);
public readonly float4 wwzy => new(w, w, z, y);
public readonly float4 wwzz => new(w, w, z, z);
public readonly float4 wwzw => new(w, w, z, w);
public readonly float4 wwwx => new(w, w, w, x);
public readonly float4 wwwy => new(w, w, w, y);
public readonly float4 wwwz => new(w, w, w, z);
public readonly float4 wwww => new(w, w, w, w);
public readonly float2 rr => new(x, x);
public float2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public float2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public float2 ra { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public float2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly float2 gg => new(y, y);
public float2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public float2 ga { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public float2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public float2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly float2 bb => new(z, z);
public float2 ba { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public float2 ar { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public float2 ag { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public float2 ab { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly float2 aa => new(w, w);
public readonly float3 rrr => new(x, x, x);
public readonly float3 rrg => new(x, x, y);
public readonly float3 rrb => new(x, x, z);
public readonly float3 rra => new(x, x, w);
public readonly float3 rgr => new(x, y, x);
public readonly float3 rgg => new(x, y, y);
public float3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public float3 rga { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly float3 rbr => new(x, z, x);
public float3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly float3 rbb => new(x, z, z);
public float3 rba { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly float3 rar => new(x, w, x);
public float3 rag { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public float3 rab { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly float3 raa => new(x, w, w);
public readonly float3 grr => new(y, x, x);
public readonly float3 grg => new(y, x, y);
public float3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public float3 gra { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly float3 ggr => new(y, y, x);
public readonly float3 ggg => new(y, y, y);
public readonly float3 ggb => new(y, y, z);
public readonly float3 gga => new(y, y, w);
public float3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly float3 gbg => new(y, z, y);
public readonly float3 gbb => new(y, z, z);
public float3 gba { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public float3 gar { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly float3 gag => new(y, w, y);
public float3 gab { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly float3 gaa => new(y, w, w);
public readonly float3 brr => new(z, x, x);
public float3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly float3 brb => new(z, x, z);
public float3 bra { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public float3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly float3 bgg => new(z, y, y);
public readonly float3 bgb => new(z, y, z);
public float3 bga { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly float3 bbr => new(z, z, x);
public readonly float3 bbg => new(z, z, y);
public readonly float3 bbb => new(z, z, z);
public readonly float3 bba => new(z, z, w);
public float3 bar { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public float3 bag { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly float3 bab => new(z, w, z);
public readonly float3 baa => new(z, w, w);
public readonly float3 arr => new(w, x, x);
public float3 arg { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public float3 arb { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly float3 ara => new(w, x, w);
public float3 agr { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly float3 agg => new(w, y, y);
public float3 agb { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly float3 aga => new(w, y, w);
public float3 abr { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public float3 abg { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly float3 abb => new(w, z, z);
public readonly float3 aba => new(w, z, w);
public readonly float3 aar => new(w, w, x);
public readonly float3 aag => new(w, w, y);
public readonly float3 aab => new(w, w, z);
public readonly float3 aaa => new(w, w, w);
public readonly float4 rrrr => new(x, x, x, x);
public readonly float4 rrrg => new(x, x, x, y);
public readonly float4 rrrb => new(x, x, x, z);
public readonly float4 rrra => new(x, x, x, w);
public readonly float4 rrgr => new(x, x, y, x);
public readonly float4 rrgg => new(x, x, y, y);
public readonly float4 rrgb => new(x, x, y, z);
public readonly float4 rrga => new(x, x, y, w);
public readonly float4 rrbr => new(x, x, z, x);
public readonly float4 rrbg => new(x, x, z, y);
public readonly float4 rrbb => new(x, x, z, z);
public readonly float4 rrba => new(x, x, z, w);
public readonly float4 rrar => new(x, x, w, x);
public readonly float4 rrag => new(x, x, w, y);
public readonly float4 rrab => new(x, x, w, z);
public readonly float4 rraa => new(x, x, w, w);
public readonly float4 rgrr => new(x, y, x, x);
public readonly float4 rgrg => new(x, y, x, y);
public readonly float4 rgrb => new(x, y, x, z);
public readonly float4 rgra => new(x, y, x, w);
public readonly float4 rggr => new(x, y, y, x);
public readonly float4 rggg => new(x, y, y, y);
public readonly float4 rggb => new(x, y, y, z);
public readonly float4 rgga => new(x, y, y, w);
public readonly float4 rgbr => new(x, y, z, x);
public readonly float4 rgbg => new(x, y, z, y);
public readonly float4 rgbb => new(x, y, z, z);
public float4 rgba { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly float4 rgar => new(x, y, w, x);
public readonly float4 rgag => new(x, y, w, y);
public float4 rgab { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly float4 rgaa => new(x, y, w, w);
public readonly float4 rbrr => new(x, z, x, x);
public readonly float4 rbrg => new(x, z, x, y);
public readonly float4 rbrb => new(x, z, x, z);
public readonly float4 rbra => new(x, z, x, w);
public readonly float4 rbgr => new(x, z, y, x);
public readonly float4 rbgg => new(x, z, y, y);
public readonly float4 rbgb => new(x, z, y, z);
public float4 rbga { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly float4 rbbr => new(x, z, z, x);
public readonly float4 rbbg => new(x, z, z, y);
public readonly float4 rbbb => new(x, z, z, z);
public readonly float4 rbba => new(x, z, z, w);
public readonly float4 rbar => new(x, z, w, x);
public float4 rbag { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly float4 rbab => new(x, z, w, z);
public readonly float4 rbaa => new(x, z, w, w);
public readonly float4 rarr => new(x, w, x, x);
public readonly float4 rarg => new(x, w, x, y);
public readonly float4 rarb => new(x, w, x, z);
public readonly float4 rara => new(x, w, x, w);
public readonly float4 ragr => new(x, w, y, x);
public readonly float4 ragg => new(x, w, y, y);
public float4 ragb { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly float4 raga => new(x, w, y, w);
public readonly float4 rabr => new(x, w, z, x);
public float4 rabg { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly float4 rabb => new(x, w, z, z);
public readonly float4 raba => new(x, w, z, w);
public readonly float4 raar => new(x, w, w, x);
public readonly float4 raag => new(x, w, w, y);
public readonly float4 raab => new(x, w, w, z);
public readonly float4 raaa => new(x, w, w, w);
public readonly float4 grrr => new(y, x, x, x);
public readonly float4 grrg => new(y, x, x, y);
public readonly float4 grrb => new(y, x, x, z);
public readonly float4 grra => new(y, x, x, w);
public readonly float4 grgr => new(y, x, y, x);
public readonly float4 grgg => new(y, x, y, y);
public readonly float4 grgb => new(y, x, y, z);
public readonly float4 grga => new(y, x, y, w);
public readonly float4 grbr => new(y, x, z, x);
public readonly float4 grbg => new(y, x, z, y);
public readonly float4 grbb => new(y, x, z, z);
public float4 grba { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly float4 grar => new(y, x, w, x);
public readonly float4 grag => new(y, x, w, y);
public float4 grab { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly float4 graa => new(y, x, w, w);
public readonly float4 ggrr => new(y, y, x, x);
public readonly float4 ggrg => new(y, y, x, y);
public readonly float4 ggrb => new(y, y, x, z);
public readonly float4 ggra => new(y, y, x, w);
public readonly float4 gggr => new(y, y, y, x);
public readonly float4 gggg => new(y, y, y, y);
public readonly float4 gggb => new(y, y, y, z);
public readonly float4 ggga => new(y, y, y, w);
public readonly float4 ggbr => new(y, y, z, x);
public readonly float4 ggbg => new(y, y, z, y);
public readonly float4 ggbb => new(y, y, z, z);
public readonly float4 ggba => new(y, y, z, w);
public readonly float4 ggar => new(y, y, w, x);
public readonly float4 ggag => new(y, y, w, y);
public readonly float4 ggab => new(y, y, w, z);
public readonly float4 ggaa => new(y, y, w, w);
public readonly float4 gbrr => new(y, z, x, x);
public readonly float4 gbrg => new(y, z, x, y);
public readonly float4 gbrb => new(y, z, x, z);
public float4 gbra { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly float4 gbgr => new(y, z, y, x);
public readonly float4 gbgg => new(y, z, y, y);
public readonly float4 gbgb => new(y, z, y, z);
public readonly float4 gbga => new(y, z, y, w);
public readonly float4 gbbr => new(y, z, z, x);
public readonly float4 gbbg => new(y, z, z, y);
public readonly float4 gbbb => new(y, z, z, z);
public readonly float4 gbba => new(y, z, z, w);
public float4 gbar { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly float4 gbag => new(y, z, w, y);
public readonly float4 gbab => new(y, z, w, z);
public readonly float4 gbaa => new(y, z, w, w);
public readonly float4 garr => new(y, w, x, x);
public readonly float4 garg => new(y, w, x, y);
public float4 garb { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly float4 gara => new(y, w, x, w);
public readonly float4 gagr => new(y, w, y, x);
public readonly float4 gagg => new(y, w, y, y);
public readonly float4 gagb => new(y, w, y, z);
public readonly float4 gaga => new(y, w, y, w);
public float4 gabr { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly float4 gabg => new(y, w, z, y);
public readonly float4 gabb => new(y, w, z, z);
public readonly float4 gaba => new(y, w, z, w);
public readonly float4 gaar => new(y, w, w, x);
public readonly float4 gaag => new(y, w, w, y);
public readonly float4 gaab => new(y, w, w, z);
public readonly float4 gaaa => new(y, w, w, w);
public readonly float4 brrr => new(z, x, x, x);
public readonly float4 brrg => new(z, x, x, y);
public readonly float4 brrb => new(z, x, x, z);
public readonly float4 brra => new(z, x, x, w);
public readonly float4 brgr => new(z, x, y, x);
public readonly float4 brgg => new(z, x, y, y);
public readonly float4 brgb => new(z, x, y, z);
public float4 brga { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly float4 brbr => new(z, x, z, x);
public readonly float4 brbg => new(z, x, z, y);
public readonly float4 brbb => new(z, x, z, z);
public readonly float4 brba => new(z, x, z, w);
public readonly float4 brar => new(z, x, w, x);
public float4 brag { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly float4 brab => new(z, x, w, z);
public readonly float4 braa => new(z, x, w, w);
public readonly float4 bgrr => new(z, y, x, x);
public readonly float4 bgrg => new(z, y, x, y);
public readonly float4 bgrb => new(z, y, x, z);
public float4 bgra { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly float4 bggr => new(z, y, y, x);
public readonly float4 bggg => new(z, y, y, y);
public readonly float4 bggb => new(z, y, y, z);
public readonly float4 bgga => new(z, y, y, w);
public readonly float4 bgbr => new(z, y, z, x);
public readonly float4 bgbg => new(z, y, z, y);
public readonly float4 bgbb => new(z, y, z, z);
public readonly float4 bgba => new(z, y, z, w);
public float4 bgar { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly float4 bgag => new(z, y, w, y);
public readonly float4 bgab => new(z, y, w, z);
public readonly float4 bgaa => new(z, y, w, w);
public readonly float4 bbrr => new(z, z, x, x);
public readonly float4 bbrg => new(z, z, x, y);
public readonly float4 bbrb => new(z, z, x, z);
public readonly float4 bbra => new(z, z, x, w);
public readonly float4 bbgr => new(z, z, y, x);
public readonly float4 bbgg => new(z, z, y, y);
public readonly float4 bbgb => new(z, z, y, z);
public readonly float4 bbga => new(z, z, y, w);
public readonly float4 bbbr => new(z, z, z, x);
public readonly float4 bbbg => new(z, z, z, y);
public readonly float4 bbbb => new(z, z, z, z);
public readonly float4 bbba => new(z, z, z, w);
public readonly float4 bbar => new(z, z, w, x);
public readonly float4 bbag => new(z, z, w, y);
public readonly float4 bbab => new(z, z, w, z);
public readonly float4 bbaa => new(z, z, w, w);
public readonly float4 barr => new(z, w, x, x);
public float4 barg { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly float4 barb => new(z, w, x, z);
public readonly float4 bara => new(z, w, x, w);
public float4 bagr { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly float4 bagg => new(z, w, y, y);
public readonly float4 bagb => new(z, w, y, z);
public readonly float4 baga => new(z, w, y, w);
public readonly float4 babr => new(z, w, z, x);
public readonly float4 babg => new(z, w, z, y);
public readonly float4 babb => new(z, w, z, z);
public readonly float4 baba => new(z, w, z, w);
public readonly float4 baar => new(z, w, w, x);
public readonly float4 baag => new(z, w, w, y);
public readonly float4 baab => new(z, w, w, z);
public readonly float4 baaa => new(z, w, w, w);
public readonly float4 arrr => new(w, x, x, x);
public readonly float4 arrg => new(w, x, x, y);
public readonly float4 arrb => new(w, x, x, z);
public readonly float4 arra => new(w, x, x, w);
public readonly float4 argr => new(w, x, y, x);
public readonly float4 argg => new(w, x, y, y);
public float4 argb { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly float4 arga => new(w, x, y, w);
public readonly float4 arbr => new(w, x, z, x);
public float4 arbg { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly float4 arbb => new(w, x, z, z);
public readonly float4 arba => new(w, x, z, w);
public readonly float4 arar => new(w, x, w, x);
public readonly float4 arag => new(w, x, w, y);
public readonly float4 arab => new(w, x, w, z);
public readonly float4 araa => new(w, x, w, w);
public readonly float4 agrr => new(w, y, x, x);
public readonly float4 agrg => new(w, y, x, y);
public float4 agrb { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly float4 agra => new(w, y, x, w);
public readonly float4 aggr => new(w, y, y, x);
public readonly float4 aggg => new(w, y, y, y);
public readonly float4 aggb => new(w, y, y, z);
public readonly float4 agga => new(w, y, y, w);
public float4 agbr { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly float4 agbg => new(w, y, z, y);
public readonly float4 agbb => new(w, y, z, z);
public readonly float4 agba => new(w, y, z, w);
public readonly float4 agar => new(w, y, w, x);
public readonly float4 agag => new(w, y, w, y);
public readonly float4 agab => new(w, y, w, z);
public readonly float4 agaa => new(w, y, w, w);
public readonly float4 abrr => new(w, z, x, x);
public float4 abrg { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly float4 abrb => new(w, z, x, z);
public readonly float4 abra => new(w, z, x, w);
public float4 abgr { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly float4 abgg => new(w, z, y, y);
public readonly float4 abgb => new(w, z, y, z);
public readonly float4 abga => new(w, z, y, w);
public readonly float4 abbr => new(w, z, z, x);
public readonly float4 abbg => new(w, z, z, y);
public readonly float4 abbb => new(w, z, z, z);
public readonly float4 abba => new(w, z, z, w);
public readonly float4 abar => new(w, z, w, x);
public readonly float4 abag => new(w, z, w, y);
public readonly float4 abab => new(w, z, w, z);
public readonly float4 abaa => new(w, z, w, w);
public readonly float4 aarr => new(w, w, x, x);
public readonly float4 aarg => new(w, w, x, y);
public readonly float4 aarb => new(w, w, x, z);
public readonly float4 aara => new(w, w, x, w);
public readonly float4 aagr => new(w, w, y, x);
public readonly float4 aagg => new(w, w, y, y);
public readonly float4 aagb => new(w, w, y, z);
public readonly float4 aaga => new(w, w, y, w);
public readonly float4 aabr => new(w, w, z, x);
public readonly float4 aabg => new(w, w, z, y);
public readonly float4 aabb => new(w, w, z, z);
public readonly float4 aaba => new(w, w, z, w);
public readonly float4 aaar => new(w, w, w, x);
public readonly float4 aaag => new(w, w, w, y);
public readonly float4 aaab => new(w, w, w, z);
public readonly float4 aaaa => new(w, w, w, w);
}
public partial struct int2
{
public int2(int2 xy) : this(xy.x, xy.y) { }
public int2(float2 value) : this((int)value.x, (int)value.y) { }
public int2(bool2 value) : this(value.x ? 1 : 0, value.y ? 1 : 0) { }
public int r { readonly get => x; set => x = value; }
public int g { readonly get => y; set => y = value; }
public readonly int2 xx => new(x, x);
public int2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 yy => new(y, y);
public readonly int3 xxx => new(x, x, x);
public readonly int3 xxy => new(x, x, y);
public readonly int3 xyx => new(x, y, x);
public readonly int3 xyy => new(x, y, y);
public readonly int3 yxx => new(y, x, x);
public readonly int3 yxy => new(y, x, y);
public readonly int3 yyx => new(y, y, x);
public readonly int3 yyy => new(y, y, y);
public readonly int4 xxxx => new(x, x, x, x);
public readonly int4 xxxy => new(x, x, x, y);
public readonly int4 xxyx => new(x, x, y, x);
public readonly int4 xxyy => new(x, x, y, y);
public readonly int4 xyxx => new(x, y, x, x);
public readonly int4 xyxy => new(x, y, x, y);
public readonly int4 xyyx => new(x, y, y, x);
public readonly int4 xyyy => new(x, y, y, y);
public readonly int4 yxxx => new(y, x, x, x);
public readonly int4 yxxy => new(y, x, x, y);
public readonly int4 yxyx => new(y, x, y, x);
public readonly int4 yxyy => new(y, x, y, y);
public readonly int4 yyxx => new(y, y, x, x);
public readonly int4 yyxy => new(y, y, x, y);
public readonly int4 yyyx => new(y, y, y, x);
public readonly int4 yyyy => new(y, y, y, y);
public readonly int2 rr => new(x, x);
public int2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 gg => new(y, y);
public readonly int3 rrr => new(x, x, x);
public readonly int3 rrg => new(x, x, y);
public readonly int3 rgr => new(x, y, x);
public readonly int3 rgg => new(x, y, y);
public readonly int3 grr => new(y, x, x);
public readonly int3 grg => new(y, x, y);
public readonly int3 ggr => new(y, y, x);
public readonly int3 ggg => new(y, y, y);
public readonly int4 rrrr => new(x, x, x, x);
public readonly int4 rrrg => new(x, x, x, y);
public readonly int4 rrgr => new(x, x, y, x);
public readonly int4 rrgg => new(x, x, y, y);
public readonly int4 rgrr => new(x, y, x, x);
public readonly int4 rgrg => new(x, y, x, y);
public readonly int4 rggr => new(x, y, y, x);
public readonly int4 rggg => new(x, y, y, y);
public readonly int4 grrr => new(y, x, x, x);
public readonly int4 grrg => new(y, x, x, y);
public readonly int4 grgr => new(y, x, y, x);
public readonly int4 grgg => new(y, x, y, y);
public readonly int4 ggrr => new(y, y, x, x);
public readonly int4 ggrg => new(y, y, x, y);
public readonly int4 gggr => new(y, y, y, x);
public readonly int4 gggg => new(y, y, y, y);
}
public partial struct int3
{
public int3(int x, int2 yz) : this(x, yz.x, yz.y) { }
public int3(int2 xy, int z) : this(xy.x, xy.y, z) { }
public int3(int3 xyz) : this(xyz.x, xyz.y, xyz.z) { }
public int3(float3 value) : this((int)value.x, (int)value.y, (int)value.z) { }
public int3(bool3 value) : this(value.x ? 1 : 0, value.y ? 1 : 0, value.z ? 1 : 0) { }
public int r { readonly get => x; set => x = value; }
public int g { readonly get => y; set => y = value; }
public int b { readonly get => z; set => z = value; }
public readonly int2 xx => new(x, x);
public int2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public int2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 yy => new(y, y);
public int2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public int2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public int2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly int2 zz => new(z, z);
public readonly int3 xxx => new(x, x, x);
public readonly int3 xxy => new(x, x, y);
public readonly int3 xxz => new(x, x, z);
public readonly int3 xyx => new(x, y, x);
public readonly int3 xyy => new(x, y, y);
public int3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly int3 xzx => new(x, z, x);
public int3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly int3 xzz => new(x, z, z);
public readonly int3 yxx => new(y, x, x);
public readonly int3 yxy => new(y, x, y);
public int3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly int3 yyx => new(y, y, x);
public readonly int3 yyy => new(y, y, y);
public readonly int3 yyz => new(y, y, z);
public int3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly int3 yzy => new(y, z, y);
public readonly int3 yzz => new(y, z, z);
public readonly int3 zxx => new(z, x, x);
public int3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly int3 zxz => new(z, x, z);
public int3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly int3 zyy => new(z, y, y);
public readonly int3 zyz => new(z, y, z);
public readonly int3 zzx => new(z, z, x);
public readonly int3 zzy => new(z, z, y);
public readonly int3 zzz => new(z, z, z);
public readonly int4 xxxx => new(x, x, x, x);
public readonly int4 xxxy => new(x, x, x, y);
public readonly int4 xxxz => new(x, x, x, z);
public readonly int4 xxyx => new(x, x, y, x);
public readonly int4 xxyy => new(x, x, y, y);
public readonly int4 xxyz => new(x, x, y, z);
public readonly int4 xxzx => new(x, x, z, x);
public readonly int4 xxzy => new(x, x, z, y);
public readonly int4 xxzz => new(x, x, z, z);
public readonly int4 xyxx => new(x, y, x, x);
public readonly int4 xyxy => new(x, y, x, y);
public readonly int4 xyxz => new(x, y, x, z);
public readonly int4 xyyx => new(x, y, y, x);
public readonly int4 xyyy => new(x, y, y, y);
public readonly int4 xyyz => new(x, y, y, z);
public readonly int4 xyzx => new(x, y, z, x);
public readonly int4 xyzy => new(x, y, z, y);
public readonly int4 xyzz => new(x, y, z, z);
public readonly int4 xzxx => new(x, z, x, x);
public readonly int4 xzxy => new(x, z, x, y);
public readonly int4 xzxz => new(x, z, x, z);
public readonly int4 xzyx => new(x, z, y, x);
public readonly int4 xzyy => new(x, z, y, y);
public readonly int4 xzyz => new(x, z, y, z);
public readonly int4 xzzx => new(x, z, z, x);
public readonly int4 xzzy => new(x, z, z, y);
public readonly int4 xzzz => new(x, z, z, z);
public readonly int4 yxxx => new(y, x, x, x);
public readonly int4 yxxy => new(y, x, x, y);
public readonly int4 yxxz => new(y, x, x, z);
public readonly int4 yxyx => new(y, x, y, x);
public readonly int4 yxyy => new(y, x, y, y);
public readonly int4 yxyz => new(y, x, y, z);
public readonly int4 yxzx => new(y, x, z, x);
public readonly int4 yxzy => new(y, x, z, y);
public readonly int4 yxzz => new(y, x, z, z);
public readonly int4 yyxx => new(y, y, x, x);
public readonly int4 yyxy => new(y, y, x, y);
public readonly int4 yyxz => new(y, y, x, z);
public readonly int4 yyyx => new(y, y, y, x);
public readonly int4 yyyy => new(y, y, y, y);
public readonly int4 yyyz => new(y, y, y, z);
public readonly int4 yyzx => new(y, y, z, x);
public readonly int4 yyzy => new(y, y, z, y);
public readonly int4 yyzz => new(y, y, z, z);
public readonly int4 yzxx => new(y, z, x, x);
public readonly int4 yzxy => new(y, z, x, y);
public readonly int4 yzxz => new(y, z, x, z);
public readonly int4 yzyx => new(y, z, y, x);
public readonly int4 yzyy => new(y, z, y, y);
public readonly int4 yzyz => new(y, z, y, z);
public readonly int4 yzzx => new(y, z, z, x);
public readonly int4 yzzy => new(y, z, z, y);
public readonly int4 yzzz => new(y, z, z, z);
public readonly int4 zxxx => new(z, x, x, x);
public readonly int4 zxxy => new(z, x, x, y);
public readonly int4 zxxz => new(z, x, x, z);
public readonly int4 zxyx => new(z, x, y, x);
public readonly int4 zxyy => new(z, x, y, y);
public readonly int4 zxyz => new(z, x, y, z);
public readonly int4 zxzx => new(z, x, z, x);
public readonly int4 zxzy => new(z, x, z, y);
public readonly int4 zxzz => new(z, x, z, z);
public readonly int4 zyxx => new(z, y, x, x);
public readonly int4 zyxy => new(z, y, x, y);
public readonly int4 zyxz => new(z, y, x, z);
public readonly int4 zyyx => new(z, y, y, x);
public readonly int4 zyyy => new(z, y, y, y);
public readonly int4 zyyz => new(z, y, y, z);
public readonly int4 zyzx => new(z, y, z, x);
public readonly int4 zyzy => new(z, y, z, y);
public readonly int4 zyzz => new(z, y, z, z);
public readonly int4 zzxx => new(z, z, x, x);
public readonly int4 zzxy => new(z, z, x, y);
public readonly int4 zzxz => new(z, z, x, z);
public readonly int4 zzyx => new(z, z, y, x);
public readonly int4 zzyy => new(z, z, y, y);
public readonly int4 zzyz => new(z, z, y, z);
public readonly int4 zzzx => new(z, z, z, x);
public readonly int4 zzzy => new(z, z, z, y);
public readonly int4 zzzz => new(z, z, z, z);
public readonly int2 rr => new(x, x);
public int2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public int2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 gg => new(y, y);
public int2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public int2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public int2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly int2 bb => new(z, z);
public readonly int3 rrr => new(x, x, x);
public readonly int3 rrg => new(x, x, y);
public readonly int3 rrb => new(x, x, z);
public readonly int3 rgr => new(x, y, x);
public readonly int3 rgg => new(x, y, y);
public int3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly int3 rbr => new(x, z, x);
public int3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly int3 rbb => new(x, z, z);
public readonly int3 grr => new(y, x, x);
public readonly int3 grg => new(y, x, y);
public int3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly int3 ggr => new(y, y, x);
public readonly int3 ggg => new(y, y, y);
public readonly int3 ggb => new(y, y, z);
public int3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly int3 gbg => new(y, z, y);
public readonly int3 gbb => new(y, z, z);
public readonly int3 brr => new(z, x, x);
public int3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly int3 brb => new(z, x, z);
public int3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly int3 bgg => new(z, y, y);
public readonly int3 bgb => new(z, y, z);
public readonly int3 bbr => new(z, z, x);
public readonly int3 bbg => new(z, z, y);
public readonly int3 bbb => new(z, z, z);
public readonly int4 rrrr => new(x, x, x, x);
public readonly int4 rrrg => new(x, x, x, y);
public readonly int4 rrrb => new(x, x, x, z);
public readonly int4 rrgr => new(x, x, y, x);
public readonly int4 rrgg => new(x, x, y, y);
public readonly int4 rrgb => new(x, x, y, z);
public readonly int4 rrbr => new(x, x, z, x);
public readonly int4 rrbg => new(x, x, z, y);
public readonly int4 rrbb => new(x, x, z, z);
public readonly int4 rgrr => new(x, y, x, x);
public readonly int4 rgrg => new(x, y, x, y);
public readonly int4 rgrb => new(x, y, x, z);
public readonly int4 rggr => new(x, y, y, x);
public readonly int4 rggg => new(x, y, y, y);
public readonly int4 rggb => new(x, y, y, z);
public readonly int4 rgbr => new(x, y, z, x);
public readonly int4 rgbg => new(x, y, z, y);
public readonly int4 rgbb => new(x, y, z, z);
public readonly int4 rbrr => new(x, z, x, x);
public readonly int4 rbrg => new(x, z, x, y);
public readonly int4 rbrb => new(x, z, x, z);
public readonly int4 rbgr => new(x, z, y, x);
public readonly int4 rbgg => new(x, z, y, y);
public readonly int4 rbgb => new(x, z, y, z);
public readonly int4 rbbr => new(x, z, z, x);
public readonly int4 rbbg => new(x, z, z, y);
public readonly int4 rbbb => new(x, z, z, z);
public readonly int4 grrr => new(y, x, x, x);
public readonly int4 grrg => new(y, x, x, y);
public readonly int4 grrb => new(y, x, x, z);
public readonly int4 grgr => new(y, x, y, x);
public readonly int4 grgg => new(y, x, y, y);
public readonly int4 grgb => new(y, x, y, z);
public readonly int4 grbr => new(y, x, z, x);
public readonly int4 grbg => new(y, x, z, y);
public readonly int4 grbb => new(y, x, z, z);
public readonly int4 ggrr => new(y, y, x, x);
public readonly int4 ggrg => new(y, y, x, y);
public readonly int4 ggrb => new(y, y, x, z);
public readonly int4 gggr => new(y, y, y, x);
public readonly int4 gggg => new(y, y, y, y);
public readonly int4 gggb => new(y, y, y, z);
public readonly int4 ggbr => new(y, y, z, x);
public readonly int4 ggbg => new(y, y, z, y);
public readonly int4 ggbb => new(y, y, z, z);
public readonly int4 gbrr => new(y, z, x, x);
public readonly int4 gbrg => new(y, z, x, y);
public readonly int4 gbrb => new(y, z, x, z);
public readonly int4 gbgr => new(y, z, y, x);
public readonly int4 gbgg => new(y, z, y, y);
public readonly int4 gbgb => new(y, z, y, z);
public readonly int4 gbbr => new(y, z, z, x);
public readonly int4 gbbg => new(y, z, z, y);
public readonly int4 gbbb => new(y, z, z, z);
public readonly int4 brrr => new(z, x, x, x);
public readonly int4 brrg => new(z, x, x, y);
public readonly int4 brrb => new(z, x, x, z);
public readonly int4 brgr => new(z, x, y, x);
public readonly int4 brgg => new(z, x, y, y);
public readonly int4 brgb => new(z, x, y, z);
public readonly int4 brbr => new(z, x, z, x);
public readonly int4 brbg => new(z, x, z, y);
public readonly int4 brbb => new(z, x, z, z);
public readonly int4 bgrr => new(z, y, x, x);
public readonly int4 bgrg => new(z, y, x, y);
public readonly int4 bgrb => new(z, y, x, z);
public readonly int4 bggr => new(z, y, y, x);
public readonly int4 bggg => new(z, y, y, y);
public readonly int4 bggb => new(z, y, y, z);
public readonly int4 bgbr => new(z, y, z, x);
public readonly int4 bgbg => new(z, y, z, y);
public readonly int4 bgbb => new(z, y, z, z);
public readonly int4 bbrr => new(z, z, x, x);
public readonly int4 bbrg => new(z, z, x, y);
public readonly int4 bbrb => new(z, z, x, z);
public readonly int4 bbgr => new(z, z, y, x);
public readonly int4 bbgg => new(z, z, y, y);
public readonly int4 bbgb => new(z, z, y, z);
public readonly int4 bbbr => new(z, z, z, x);
public readonly int4 bbbg => new(z, z, z, y);
public readonly int4 bbbb => new(z, z, z, z);
}
public partial struct int4
{
public int4(int x, int y, int2 zw) : this(x, y, zw.x, zw.y) { }
public int4(int x, int2 yz, int w) : this(x, yz.x, yz.y, w) { }
public int4(int x, int3 yzw) : this(x, yzw.x, yzw.y, yzw.z) { }
public int4(int2 xy, int z, int w) : this(xy.x, xy.y, z, w) { }
public int4(int2 xy, int2 zw) : this(xy.x, xy.y, zw.x, zw.y) { }
public int4(int3 xyz, int w) : this(xyz.x, xyz.y, xyz.z, w) { }
public int4(int4 xyzw) : this(xyzw.x, xyzw.y, xyzw.z, xyzw.w) { }
public int4(float4 value) : this((int)value.x, (int)value.y, (int)value.z, (int)value.w) { }
public int4(bool4 value) : this(value.x ? 1 : 0, value.y ? 1 : 0, value.z ? 1 : 0, value.w ? 1 : 0) { }
public int r { readonly get => x; set => x = value; }
public int g { readonly get => y; set => y = value; }
public int b { readonly get => z; set => z = value; }
public int a { readonly get => w; set => w = value; }
public readonly int2 xx => new(x, x);
public int2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public int2 xw { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public int2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 yy => new(y, y);
public int2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public int2 yw { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public int2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public int2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly int2 zz => new(z, z);
public int2 zw { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public int2 wx { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public int2 wy { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public int2 wz { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly int2 ww => new(w, w);
public readonly int3 xxx => new(x, x, x);
public readonly int3 xxy => new(x, x, y);
public readonly int3 xxz => new(x, x, z);
public readonly int3 xxw => new(x, x, w);
public readonly int3 xyx => new(x, y, x);
public readonly int3 xyy => new(x, y, y);
public int3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public int3 xyw { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly int3 xzx => new(x, z, x);
public int3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly int3 xzz => new(x, z, z);
public int3 xzw { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly int3 xwx => new(x, w, x);
public int3 xwy { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public int3 xwz { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly int3 xww => new(x, w, w);
public readonly int3 yxx => new(y, x, x);
public readonly int3 yxy => new(y, x, y);
public int3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public int3 yxw { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly int3 yyx => new(y, y, x);
public readonly int3 yyy => new(y, y, y);
public readonly int3 yyz => new(y, y, z);
public readonly int3 yyw => new(y, y, w);
public int3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly int3 yzy => new(y, z, y);
public readonly int3 yzz => new(y, z, z);
public int3 yzw { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public int3 ywx { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly int3 ywy => new(y, w, y);
public int3 ywz { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly int3 yww => new(y, w, w);
public readonly int3 zxx => new(z, x, x);
public int3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly int3 zxz => new(z, x, z);
public int3 zxw { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public int3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly int3 zyy => new(z, y, y);
public readonly int3 zyz => new(z, y, z);
public int3 zyw { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly int3 zzx => new(z, z, x);
public readonly int3 zzy => new(z, z, y);
public readonly int3 zzz => new(z, z, z);
public readonly int3 zzw => new(z, z, w);
public int3 zwx { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public int3 zwy { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly int3 zwz => new(z, w, z);
public readonly int3 zww => new(z, w, w);
public readonly int3 wxx => new(w, x, x);
public int3 wxy { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public int3 wxz { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly int3 wxw => new(w, x, w);
public int3 wyx { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly int3 wyy => new(w, y, y);
public int3 wyz { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly int3 wyw => new(w, y, w);
public int3 wzx { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public int3 wzy { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly int3 wzz => new(w, z, z);
public readonly int3 wzw => new(w, z, w);
public readonly int3 wwx => new(w, w, x);
public readonly int3 wwy => new(w, w, y);
public readonly int3 wwz => new(w, w, z);
public readonly int3 www => new(w, w, w);
public readonly int4 xxxx => new(x, x, x, x);
public readonly int4 xxxy => new(x, x, x, y);
public readonly int4 xxxz => new(x, x, x, z);
public readonly int4 xxxw => new(x, x, x, w);
public readonly int4 xxyx => new(x, x, y, x);
public readonly int4 xxyy => new(x, x, y, y);
public readonly int4 xxyz => new(x, x, y, z);
public readonly int4 xxyw => new(x, x, y, w);
public readonly int4 xxzx => new(x, x, z, x);
public readonly int4 xxzy => new(x, x, z, y);
public readonly int4 xxzz => new(x, x, z, z);
public readonly int4 xxzw => new(x, x, z, w);
public readonly int4 xxwx => new(x, x, w, x);
public readonly int4 xxwy => new(x, x, w, y);
public readonly int4 xxwz => new(x, x, w, z);
public readonly int4 xxww => new(x, x, w, w);
public readonly int4 xyxx => new(x, y, x, x);
public readonly int4 xyxy => new(x, y, x, y);
public readonly int4 xyxz => new(x, y, x, z);
public readonly int4 xyxw => new(x, y, x, w);
public readonly int4 xyyx => new(x, y, y, x);
public readonly int4 xyyy => new(x, y, y, y);
public readonly int4 xyyz => new(x, y, y, z);
public readonly int4 xyyw => new(x, y, y, w);
public readonly int4 xyzx => new(x, y, z, x);
public readonly int4 xyzy => new(x, y, z, y);
public readonly int4 xyzz => new(x, y, z, z);
public int4 xyzw { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly int4 xywx => new(x, y, w, x);
public readonly int4 xywy => new(x, y, w, y);
public int4 xywz { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly int4 xyww => new(x, y, w, w);
public readonly int4 xzxx => new(x, z, x, x);
public readonly int4 xzxy => new(x, z, x, y);
public readonly int4 xzxz => new(x, z, x, z);
public readonly int4 xzxw => new(x, z, x, w);
public readonly int4 xzyx => new(x, z, y, x);
public readonly int4 xzyy => new(x, z, y, y);
public readonly int4 xzyz => new(x, z, y, z);
public int4 xzyw { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly int4 xzzx => new(x, z, z, x);
public readonly int4 xzzy => new(x, z, z, y);
public readonly int4 xzzz => new(x, z, z, z);
public readonly int4 xzzw => new(x, z, z, w);
public readonly int4 xzwx => new(x, z, w, x);
public int4 xzwy { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly int4 xzwz => new(x, z, w, z);
public readonly int4 xzww => new(x, z, w, w);
public readonly int4 xwxx => new(x, w, x, x);
public readonly int4 xwxy => new(x, w, x, y);
public readonly int4 xwxz => new(x, w, x, z);
public readonly int4 xwxw => new(x, w, x, w);
public readonly int4 xwyx => new(x, w, y, x);
public readonly int4 xwyy => new(x, w, y, y);
public int4 xwyz { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly int4 xwyw => new(x, w, y, w);
public readonly int4 xwzx => new(x, w, z, x);
public int4 xwzy { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly int4 xwzz => new(x, w, z, z);
public readonly int4 xwzw => new(x, w, z, w);
public readonly int4 xwwx => new(x, w, w, x);
public readonly int4 xwwy => new(x, w, w, y);
public readonly int4 xwwz => new(x, w, w, z);
public readonly int4 xwww => new(x, w, w, w);
public readonly int4 yxxx => new(y, x, x, x);
public readonly int4 yxxy => new(y, x, x, y);
public readonly int4 yxxz => new(y, x, x, z);
public readonly int4 yxxw => new(y, x, x, w);
public readonly int4 yxyx => new(y, x, y, x);
public readonly int4 yxyy => new(y, x, y, y);
public readonly int4 yxyz => new(y, x, y, z);
public readonly int4 yxyw => new(y, x, y, w);
public readonly int4 yxzx => new(y, x, z, x);
public readonly int4 yxzy => new(y, x, z, y);
public readonly int4 yxzz => new(y, x, z, z);
public int4 yxzw { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly int4 yxwx => new(y, x, w, x);
public readonly int4 yxwy => new(y, x, w, y);
public int4 yxwz { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly int4 yxww => new(y, x, w, w);
public readonly int4 yyxx => new(y, y, x, x);
public readonly int4 yyxy => new(y, y, x, y);
public readonly int4 yyxz => new(y, y, x, z);
public readonly int4 yyxw => new(y, y, x, w);
public readonly int4 yyyx => new(y, y, y, x);
public readonly int4 yyyy => new(y, y, y, y);
public readonly int4 yyyz => new(y, y, y, z);
public readonly int4 yyyw => new(y, y, y, w);
public readonly int4 yyzx => new(y, y, z, x);
public readonly int4 yyzy => new(y, y, z, y);
public readonly int4 yyzz => new(y, y, z, z);
public readonly int4 yyzw => new(y, y, z, w);
public readonly int4 yywx => new(y, y, w, x);
public readonly int4 yywy => new(y, y, w, y);
public readonly int4 yywz => new(y, y, w, z);
public readonly int4 yyww => new(y, y, w, w);
public readonly int4 yzxx => new(y, z, x, x);
public readonly int4 yzxy => new(y, z, x, y);
public readonly int4 yzxz => new(y, z, x, z);
public int4 yzxw { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly int4 yzyx => new(y, z, y, x);
public readonly int4 yzyy => new(y, z, y, y);
public readonly int4 yzyz => new(y, z, y, z);
public readonly int4 yzyw => new(y, z, y, w);
public readonly int4 yzzx => new(y, z, z, x);
public readonly int4 yzzy => new(y, z, z, y);
public readonly int4 yzzz => new(y, z, z, z);
public readonly int4 yzzw => new(y, z, z, w);
public int4 yzwx { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly int4 yzwy => new(y, z, w, y);
public readonly int4 yzwz => new(y, z, w, z);
public readonly int4 yzww => new(y, z, w, w);
public readonly int4 ywxx => new(y, w, x, x);
public readonly int4 ywxy => new(y, w, x, y);
public int4 ywxz { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly int4 ywxw => new(y, w, x, w);
public readonly int4 ywyx => new(y, w, y, x);
public readonly int4 ywyy => new(y, w, y, y);
public readonly int4 ywyz => new(y, w, y, z);
public readonly int4 ywyw => new(y, w, y, w);
public int4 ywzx { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly int4 ywzy => new(y, w, z, y);
public readonly int4 ywzz => new(y, w, z, z);
public readonly int4 ywzw => new(y, w, z, w);
public readonly int4 ywwx => new(y, w, w, x);
public readonly int4 ywwy => new(y, w, w, y);
public readonly int4 ywwz => new(y, w, w, z);
public readonly int4 ywww => new(y, w, w, w);
public readonly int4 zxxx => new(z, x, x, x);
public readonly int4 zxxy => new(z, x, x, y);
public readonly int4 zxxz => new(z, x, x, z);
public readonly int4 zxxw => new(z, x, x, w);
public readonly int4 zxyx => new(z, x, y, x);
public readonly int4 zxyy => new(z, x, y, y);
public readonly int4 zxyz => new(z, x, y, z);
public int4 zxyw { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly int4 zxzx => new(z, x, z, x);
public readonly int4 zxzy => new(z, x, z, y);
public readonly int4 zxzz => new(z, x, z, z);
public readonly int4 zxzw => new(z, x, z, w);
public readonly int4 zxwx => new(z, x, w, x);
public int4 zxwy { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly int4 zxwz => new(z, x, w, z);
public readonly int4 zxww => new(z, x, w, w);
public readonly int4 zyxx => new(z, y, x, x);
public readonly int4 zyxy => new(z, y, x, y);
public readonly int4 zyxz => new(z, y, x, z);
public int4 zyxw { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly int4 zyyx => new(z, y, y, x);
public readonly int4 zyyy => new(z, y, y, y);
public readonly int4 zyyz => new(z, y, y, z);
public readonly int4 zyyw => new(z, y, y, w);
public readonly int4 zyzx => new(z, y, z, x);
public readonly int4 zyzy => new(z, y, z, y);
public readonly int4 zyzz => new(z, y, z, z);
public readonly int4 zyzw => new(z, y, z, w);
public int4 zywx { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly int4 zywy => new(z, y, w, y);
public readonly int4 zywz => new(z, y, w, z);
public readonly int4 zyww => new(z, y, w, w);
public readonly int4 zzxx => new(z, z, x, x);
public readonly int4 zzxy => new(z, z, x, y);
public readonly int4 zzxz => new(z, z, x, z);
public readonly int4 zzxw => new(z, z, x, w);
public readonly int4 zzyx => new(z, z, y, x);
public readonly int4 zzyy => new(z, z, y, y);
public readonly int4 zzyz => new(z, z, y, z);
public readonly int4 zzyw => new(z, z, y, w);
public readonly int4 zzzx => new(z, z, z, x);
public readonly int4 zzzy => new(z, z, z, y);
public readonly int4 zzzz => new(z, z, z, z);
public readonly int4 zzzw => new(z, z, z, w);
public readonly int4 zzwx => new(z, z, w, x);
public readonly int4 zzwy => new(z, z, w, y);
public readonly int4 zzwz => new(z, z, w, z);
public readonly int4 zzww => new(z, z, w, w);
public readonly int4 zwxx => new(z, w, x, x);
public int4 zwxy { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly int4 zwxz => new(z, w, x, z);
public readonly int4 zwxw => new(z, w, x, w);
public int4 zwyx { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly int4 zwyy => new(z, w, y, y);
public readonly int4 zwyz => new(z, w, y, z);
public readonly int4 zwyw => new(z, w, y, w);
public readonly int4 zwzx => new(z, w, z, x);
public readonly int4 zwzy => new(z, w, z, y);
public readonly int4 zwzz => new(z, w, z, z);
public readonly int4 zwzw => new(z, w, z, w);
public readonly int4 zwwx => new(z, w, w, x);
public readonly int4 zwwy => new(z, w, w, y);
public readonly int4 zwwz => new(z, w, w, z);
public readonly int4 zwww => new(z, w, w, w);
public readonly int4 wxxx => new(w, x, x, x);
public readonly int4 wxxy => new(w, x, x, y);
public readonly int4 wxxz => new(w, x, x, z);
public readonly int4 wxxw => new(w, x, x, w);
public readonly int4 wxyx => new(w, x, y, x);
public readonly int4 wxyy => new(w, x, y, y);
public int4 wxyz { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly int4 wxyw => new(w, x, y, w);
public readonly int4 wxzx => new(w, x, z, x);
public int4 wxzy { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly int4 wxzz => new(w, x, z, z);
public readonly int4 wxzw => new(w, x, z, w);
public readonly int4 wxwx => new(w, x, w, x);
public readonly int4 wxwy => new(w, x, w, y);
public readonly int4 wxwz => new(w, x, w, z);
public readonly int4 wxww => new(w, x, w, w);
public readonly int4 wyxx => new(w, y, x, x);
public readonly int4 wyxy => new(w, y, x, y);
public int4 wyxz { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly int4 wyxw => new(w, y, x, w);
public readonly int4 wyyx => new(w, y, y, x);
public readonly int4 wyyy => new(w, y, y, y);
public readonly int4 wyyz => new(w, y, y, z);
public readonly int4 wyyw => new(w, y, y, w);
public int4 wyzx { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly int4 wyzy => new(w, y, z, y);
public readonly int4 wyzz => new(w, y, z, z);
public readonly int4 wyzw => new(w, y, z, w);
public readonly int4 wywx => new(w, y, w, x);
public readonly int4 wywy => new(w, y, w, y);
public readonly int4 wywz => new(w, y, w, z);
public readonly int4 wyww => new(w, y, w, w);
public readonly int4 wzxx => new(w, z, x, x);
public int4 wzxy { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly int4 wzxz => new(w, z, x, z);
public readonly int4 wzxw => new(w, z, x, w);
public int4 wzyx { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly int4 wzyy => new(w, z, y, y);
public readonly int4 wzyz => new(w, z, y, z);
public readonly int4 wzyw => new(w, z, y, w);
public readonly int4 wzzx => new(w, z, z, x);
public readonly int4 wzzy => new(w, z, z, y);
public readonly int4 wzzz => new(w, z, z, z);
public readonly int4 wzzw => new(w, z, z, w);
public readonly int4 wzwx => new(w, z, w, x);
public readonly int4 wzwy => new(w, z, w, y);
public readonly int4 wzwz => new(w, z, w, z);
public readonly int4 wzww => new(w, z, w, w);
public readonly int4 wwxx => new(w, w, x, x);
public readonly int4 wwxy => new(w, w, x, y);
public readonly int4 wwxz => new(w, w, x, z);
public readonly int4 wwxw => new(w, w, x, w);
public readonly int4 wwyx => new(w, w, y, x);
public readonly int4 wwyy => new(w, w, y, y);
public readonly int4 wwyz => new(w, w, y, z);
public readonly int4 wwyw => new(w, w, y, w);
public readonly int4 wwzx => new(w, w, z, x);
public readonly int4 wwzy => new(w, w, z, y);
public readonly int4 wwzz => new(w, w, z, z);
public readonly int4 wwzw => new(w, w, z, w);
public readonly int4 wwwx => new(w, w, w, x);
public readonly int4 wwwy => new(w, w, w, y);
public readonly int4 wwwz => new(w, w, w, z);
public readonly int4 wwww => new(w, w, w, w);
public readonly int2 rr => new(x, x);
public int2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public int2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public int2 ra { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public int2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly int2 gg => new(y, y);
public int2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public int2 ga { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public int2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public int2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly int2 bb => new(z, z);
public int2 ba { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public int2 ar { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public int2 ag { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public int2 ab { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly int2 aa => new(w, w);
public readonly int3 rrr => new(x, x, x);
public readonly int3 rrg => new(x, x, y);
public readonly int3 rrb => new(x, x, z);
public readonly int3 rra => new(x, x, w);
public readonly int3 rgr => new(x, y, x);
public readonly int3 rgg => new(x, y, y);
public int3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public int3 rga { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly int3 rbr => new(x, z, x);
public int3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly int3 rbb => new(x, z, z);
public int3 rba { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly int3 rar => new(x, w, x);
public int3 rag { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public int3 rab { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly int3 raa => new(x, w, w);
public readonly int3 grr => new(y, x, x);
public readonly int3 grg => new(y, x, y);
public int3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public int3 gra { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly int3 ggr => new(y, y, x);
public readonly int3 ggg => new(y, y, y);
public readonly int3 ggb => new(y, y, z);
public readonly int3 gga => new(y, y, w);
public int3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly int3 gbg => new(y, z, y);
public readonly int3 gbb => new(y, z, z);
public int3 gba { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public int3 gar { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly int3 gag => new(y, w, y);
public int3 gab { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly int3 gaa => new(y, w, w);
public readonly int3 brr => new(z, x, x);
public int3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly int3 brb => new(z, x, z);
public int3 bra { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public int3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly int3 bgg => new(z, y, y);
public readonly int3 bgb => new(z, y, z);
public int3 bga { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly int3 bbr => new(z, z, x);
public readonly int3 bbg => new(z, z, y);
public readonly int3 bbb => new(z, z, z);
public readonly int3 bba => new(z, z, w);
public int3 bar { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public int3 bag { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly int3 bab => new(z, w, z);
public readonly int3 baa => new(z, w, w);
public readonly int3 arr => new(w, x, x);
public int3 arg { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public int3 arb { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly int3 ara => new(w, x, w);
public int3 agr { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly int3 agg => new(w, y, y);
public int3 agb { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly int3 aga => new(w, y, w);
public int3 abr { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public int3 abg { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly int3 abb => new(w, z, z);
public readonly int3 aba => new(w, z, w);
public readonly int3 aar => new(w, w, x);
public readonly int3 aag => new(w, w, y);
public readonly int3 aab => new(w, w, z);
public readonly int3 aaa => new(w, w, w);
public readonly int4 rrrr => new(x, x, x, x);
public readonly int4 rrrg => new(x, x, x, y);
public readonly int4 rrrb => new(x, x, x, z);
public readonly int4 rrra => new(x, x, x, w);
public readonly int4 rrgr => new(x, x, y, x);
public readonly int4 rrgg => new(x, x, y, y);
public readonly int4 rrgb => new(x, x, y, z);
public readonly int4 rrga => new(x, x, y, w);
public readonly int4 rrbr => new(x, x, z, x);
public readonly int4 rrbg => new(x, x, z, y);
public readonly int4 rrbb => new(x, x, z, z);
public readonly int4 rrba => new(x, x, z, w);
public readonly int4 rrar => new(x, x, w, x);
public readonly int4 rrag => new(x, x, w, y);
public readonly int4 rrab => new(x, x, w, z);
public readonly int4 rraa => new(x, x, w, w);
public readonly int4 rgrr => new(x, y, x, x);
public readonly int4 rgrg => new(x, y, x, y);
public readonly int4 rgrb => new(x, y, x, z);
public readonly int4 rgra => new(x, y, x, w);
public readonly int4 rggr => new(x, y, y, x);
public readonly int4 rggg => new(x, y, y, y);
public readonly int4 rggb => new(x, y, y, z);
public readonly int4 rgga => new(x, y, y, w);
public readonly int4 rgbr => new(x, y, z, x);
public readonly int4 rgbg => new(x, y, z, y);
public readonly int4 rgbb => new(x, y, z, z);
public int4 rgba { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly int4 rgar => new(x, y, w, x);
public readonly int4 rgag => new(x, y, w, y);
public int4 rgab { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly int4 rgaa => new(x, y, w, w);
public readonly int4 rbrr => new(x, z, x, x);
public readonly int4 rbrg => new(x, z, x, y);
public readonly int4 rbrb => new(x, z, x, z);
public readonly int4 rbra => new(x, z, x, w);
public readonly int4 rbgr => new(x, z, y, x);
public readonly int4 rbgg => new(x, z, y, y);
public readonly int4 rbgb => new(x, z, y, z);
public int4 rbga { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly int4 rbbr => new(x, z, z, x);
public readonly int4 rbbg => new(x, z, z, y);
public readonly int4 rbbb => new(x, z, z, z);
public readonly int4 rbba => new(x, z, z, w);
public readonly int4 rbar => new(x, z, w, x);
public int4 rbag { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly int4 rbab => new(x, z, w, z);
public readonly int4 rbaa => new(x, z, w, w);
public readonly int4 rarr => new(x, w, x, x);
public readonly int4 rarg => new(x, w, x, y);
public readonly int4 rarb => new(x, w, x, z);
public readonly int4 rara => new(x, w, x, w);
public readonly int4 ragr => new(x, w, y, x);
public readonly int4 ragg => new(x, w, y, y);
public int4 ragb { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly int4 raga => new(x, w, y, w);
public readonly int4 rabr => new(x, w, z, x);
public int4 rabg { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly int4 rabb => new(x, w, z, z);
public readonly int4 raba => new(x, w, z, w);
public readonly int4 raar => new(x, w, w, x);
public readonly int4 raag => new(x, w, w, y);
public readonly int4 raab => new(x, w, w, z);
public readonly int4 raaa => new(x, w, w, w);
public readonly int4 grrr => new(y, x, x, x);
public readonly int4 grrg => new(y, x, x, y);
public readonly int4 grrb => new(y, x, x, z);
public readonly int4 grra => new(y, x, x, w);
public readonly int4 grgr => new(y, x, y, x);
public readonly int4 grgg => new(y, x, y, y);
public readonly int4 grgb => new(y, x, y, z);
public readonly int4 grga => new(y, x, y, w);
public readonly int4 grbr => new(y, x, z, x);
public readonly int4 grbg => new(y, x, z, y);
public readonly int4 grbb => new(y, x, z, z);
public int4 grba { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly int4 grar => new(y, x, w, x);
public readonly int4 grag => new(y, x, w, y);
public int4 grab { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly int4 graa => new(y, x, w, w);
public readonly int4 ggrr => new(y, y, x, x);
public readonly int4 ggrg => new(y, y, x, y);
public readonly int4 ggrb => new(y, y, x, z);
public readonly int4 ggra => new(y, y, x, w);
public readonly int4 gggr => new(y, y, y, x);
public readonly int4 gggg => new(y, y, y, y);
public readonly int4 gggb => new(y, y, y, z);
public readonly int4 ggga => new(y, y, y, w);
public readonly int4 ggbr => new(y, y, z, x);
public readonly int4 ggbg => new(y, y, z, y);
public readonly int4 ggbb => new(y, y, z, z);
public readonly int4 ggba => new(y, y, z, w);
public readonly int4 ggar => new(y, y, w, x);
public readonly int4 ggag => new(y, y, w, y);
public readonly int4 ggab => new(y, y, w, z);
public readonly int4 ggaa => new(y, y, w, w);
public readonly int4 gbrr => new(y, z, x, x);
public readonly int4 gbrg => new(y, z, x, y);
public readonly int4 gbrb => new(y, z, x, z);
public int4 gbra { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly int4 gbgr => new(y, z, y, x);
public readonly int4 gbgg => new(y, z, y, y);
public readonly int4 gbgb => new(y, z, y, z);
public readonly int4 gbga => new(y, z, y, w);
public readonly int4 gbbr => new(y, z, z, x);
public readonly int4 gbbg => new(y, z, z, y);
public readonly int4 gbbb => new(y, z, z, z);
public readonly int4 gbba => new(y, z, z, w);
public int4 gbar { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly int4 gbag => new(y, z, w, y);
public readonly int4 gbab => new(y, z, w, z);
public readonly int4 gbaa => new(y, z, w, w);
public readonly int4 garr => new(y, w, x, x);
public readonly int4 garg => new(y, w, x, y);
public int4 garb { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly int4 gara => new(y, w, x, w);
public readonly int4 gagr => new(y, w, y, x);
public readonly int4 gagg => new(y, w, y, y);
public readonly int4 gagb => new(y, w, y, z);
public readonly int4 gaga => new(y, w, y, w);
public int4 gabr { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly int4 gabg => new(y, w, z, y);
public readonly int4 gabb => new(y, w, z, z);
public readonly int4 gaba => new(y, w, z, w);
public readonly int4 gaar => new(y, w, w, x);
public readonly int4 gaag => new(y, w, w, y);
public readonly int4 gaab => new(y, w, w, z);
public readonly int4 gaaa => new(y, w, w, w);
public readonly int4 brrr => new(z, x, x, x);
public readonly int4 brrg => new(z, x, x, y);
public readonly int4 brrb => new(z, x, x, z);
public readonly int4 brra => new(z, x, x, w);
public readonly int4 brgr => new(z, x, y, x);
public readonly int4 brgg => new(z, x, y, y);
public readonly int4 brgb => new(z, x, y, z);
public int4 brga { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly int4 brbr => new(z, x, z, x);
public readonly int4 brbg => new(z, x, z, y);
public readonly int4 brbb => new(z, x, z, z);
public readonly int4 brba => new(z, x, z, w);
public readonly int4 brar => new(z, x, w, x);
public int4 brag { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly int4 brab => new(z, x, w, z);
public readonly int4 braa => new(z, x, w, w);
public readonly int4 bgrr => new(z, y, x, x);
public readonly int4 bgrg => new(z, y, x, y);
public readonly int4 bgrb => new(z, y, x, z);
public int4 bgra { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly int4 bggr => new(z, y, y, x);
public readonly int4 bggg => new(z, y, y, y);
public readonly int4 bggb => new(z, y, y, z);
public readonly int4 bgga => new(z, y, y, w);
public readonly int4 bgbr => new(z, y, z, x);
public readonly int4 bgbg => new(z, y, z, y);
public readonly int4 bgbb => new(z, y, z, z);
public readonly int4 bgba => new(z, y, z, w);
public int4 bgar { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly int4 bgag => new(z, y, w, y);
public readonly int4 bgab => new(z, y, w, z);
public readonly int4 bgaa => new(z, y, w, w);
public readonly int4 bbrr => new(z, z, x, x);
public readonly int4 bbrg => new(z, z, x, y);
public readonly int4 bbrb => new(z, z, x, z);
public readonly int4 bbra => new(z, z, x, w);
public readonly int4 bbgr => new(z, z, y, x);
public readonly int4 bbgg => new(z, z, y, y);
public readonly int4 bbgb => new(z, z, y, z);
public readonly int4 bbga => new(z, z, y, w);
public readonly int4 bbbr => new(z, z, z, x);
public readonly int4 bbbg => new(z, z, z, y);
public readonly int4 bbbb => new(z, z, z, z);
public readonly int4 bbba => new(z, z, z, w);
public readonly int4 bbar => new(z, z, w, x);
public readonly int4 bbag => new(z, z, w, y);
public readonly int4 bbab => new(z, z, w, z);
public readonly int4 bbaa => new(z, z, w, w);
public readonly int4 barr => new(z, w, x, x);
public int4 barg { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly int4 barb => new(z, w, x, z);
public readonly int4 bara => new(z, w, x, w);
public int4 bagr { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly int4 bagg => new(z, w, y, y);
public readonly int4 bagb => new(z, w, y, z);
public readonly int4 baga => new(z, w, y, w);
public readonly int4 babr => new(z, w, z, x);
public readonly int4 babg => new(z, w, z, y);
public readonly int4 babb => new(z, w, z, z);
public readonly int4 baba => new(z, w, z, w);
public readonly int4 baar => new(z, w, w, x);
public readonly int4 baag => new(z, w, w, y);
public readonly int4 baab => new(z, w, w, z);
public readonly int4 baaa => new(z, w, w, w);
public readonly int4 arrr => new(w, x, x, x);
public readonly int4 arrg => new(w, x, x, y);
public readonly int4 arrb => new(w, x, x, z);
public readonly int4 arra => new(w, x, x, w);
public readonly int4 argr => new(w, x, y, x);
public readonly int4 argg => new(w, x, y, y);
public int4 argb { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly int4 arga => new(w, x, y, w);
public readonly int4 arbr => new(w, x, z, x);
public int4 arbg { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly int4 arbb => new(w, x, z, z);
public readonly int4 arba => new(w, x, z, w);
public readonly int4 arar => new(w, x, w, x);
public readonly int4 arag => new(w, x, w, y);
public readonly int4 arab => new(w, x, w, z);
public readonly int4 araa => new(w, x, w, w);
public readonly int4 agrr => new(w, y, x, x);
public readonly int4 agrg => new(w, y, x, y);
public int4 agrb { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly int4 agra => new(w, y, x, w);
public readonly int4 aggr => new(w, y, y, x);
public readonly int4 aggg => new(w, y, y, y);
public readonly int4 aggb => new(w, y, y, z);
public readonly int4 agga => new(w, y, y, w);
public int4 agbr { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly int4 agbg => new(w, y, z, y);
public readonly int4 agbb => new(w, y, z, z);
public readonly int4 agba => new(w, y, z, w);
public readonly int4 agar => new(w, y, w, x);
public readonly int4 agag => new(w, y, w, y);
public readonly int4 agab => new(w, y, w, z);
public readonly int4 agaa => new(w, y, w, w);
public readonly int4 abrr => new(w, z, x, x);
public int4 abrg { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly int4 abrb => new(w, z, x, z);
public readonly int4 abra => new(w, z, x, w);
public int4 abgr { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly int4 abgg => new(w, z, y, y);
public readonly int4 abgb => new(w, z, y, z);
public readonly int4 abga => new(w, z, y, w);
public readonly int4 abbr => new(w, z, z, x);
public readonly int4 abbg => new(w, z, z, y);
public readonly int4 abbb => new(w, z, z, z);
public readonly int4 abba => new(w, z, z, w);
public readonly int4 abar => new(w, z, w, x);
public readonly int4 abag => new(w, z, w, y);
public readonly int4 abab => new(w, z, w, z);
public readonly int4 abaa => new(w, z, w, w);
public readonly int4 aarr => new(w, w, x, x);
public readonly int4 aarg => new(w, w, x, y);
public readonly int4 aarb => new(w, w, x, z);
public readonly int4 aara => new(w, w, x, w);
public readonly int4 aagr => new(w, w, y, x);
public readonly int4 aagg => new(w, w, y, y);
public readonly int4 aagb => new(w, w, y, z);
public readonly int4 aaga => new(w, w, y, w);
public readonly int4 aabr => new(w, w, z, x);
public readonly int4 aabg => new(w, w, z, y);
public readonly int4 aabb => new(w, w, z, z);
public readonly int4 aaba => new(w, w, z, w);
public readonly int4 aaar => new(w, w, w, x);
public readonly int4 aaag => new(w, w, w, y);
public readonly int4 aaab => new(w, w, w, z);
public readonly int4 aaaa => new(w, w, w, w);
}
public partial struct bool2
{
public bool2(bool2 xy) : this(xy.x, xy.y) { }
public bool2(float2 value) : this(value.x != 0.0f, value.y != 0.0f) { }
public bool2(int2 value) : this(value.x != 0, value.y != 0) { }
public bool r { readonly get => x; set => x = value; }
public bool g { readonly get => y; set => y = value; }
public readonly bool2 xx => new(x, x);
public bool2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 yy => new(y, y);
public readonly bool3 xxx => new(x, x, x);
public readonly bool3 xxy => new(x, x, y);
public readonly bool3 xyx => new(x, y, x);
public readonly bool3 xyy => new(x, y, y);
public readonly bool3 yxx => new(y, x, x);
public readonly bool3 yxy => new(y, x, y);
public readonly bool3 yyx => new(y, y, x);
public readonly bool3 yyy => new(y, y, y);
public readonly bool4 xxxx => new(x, x, x, x);
public readonly bool4 xxxy => new(x, x, x, y);
public readonly bool4 xxyx => new(x, x, y, x);
public readonly bool4 xxyy => new(x, x, y, y);
public readonly bool4 xyxx => new(x, y, x, x);
public readonly bool4 xyxy => new(x, y, x, y);
public readonly bool4 xyyx => new(x, y, y, x);
public readonly bool4 xyyy => new(x, y, y, y);
public readonly bool4 yxxx => new(y, x, x, x);
public readonly bool4 yxxy => new(y, x, x, y);
public readonly bool4 yxyx => new(y, x, y, x);
public readonly bool4 yxyy => new(y, x, y, y);
public readonly bool4 yyxx => new(y, y, x, x);
public readonly bool4 yyxy => new(y, y, x, y);
public readonly bool4 yyyx => new(y, y, y, x);
public readonly bool4 yyyy => new(y, y, y, y);
public readonly bool2 rr => new(x, x);
public bool2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 gg => new(y, y);
public readonly bool3 rrr => new(x, x, x);
public readonly bool3 rrg => new(x, x, y);
public readonly bool3 rgr => new(x, y, x);
public readonly bool3 rgg => new(x, y, y);
public readonly bool3 grr => new(y, x, x);
public readonly bool3 grg => new(y, x, y);
public readonly bool3 ggr => new(y, y, x);
public readonly bool3 ggg => new(y, y, y);
public readonly bool4 rrrr => new(x, x, x, x);
public readonly bool4 rrrg => new(x, x, x, y);
public readonly bool4 rrgr => new(x, x, y, x);
public readonly bool4 rrgg => new(x, x, y, y);
public readonly bool4 rgrr => new(x, y, x, x);
public readonly bool4 rgrg => new(x, y, x, y);
public readonly bool4 rggr => new(x, y, y, x);
public readonly bool4 rggg => new(x, y, y, y);
public readonly bool4 grrr => new(y, x, x, x);
public readonly bool4 grrg => new(y, x, x, y);
public readonly bool4 grgr => new(y, x, y, x);
public readonly bool4 grgg => new(y, x, y, y);
public readonly bool4 ggrr => new(y, y, x, x);
public readonly bool4 ggrg => new(y, y, x, y);
public readonly bool4 gggr => new(y, y, y, x);
public readonly bool4 gggg => new(y, y, y, y);
}
public partial struct bool3
{
public bool3(bool x, bool2 yz) : this(x, yz.x, yz.y) { }
public bool3(bool2 xy, bool z) : this(xy.x, xy.y, z) { }
public bool3(bool3 xyz) : this(xyz.x, xyz.y, xyz.z) { }
public bool3(float3 value) : this(value.x != 0.0f, value.y != 0.0f, value.z != 0.0f) { }
public bool3(int3 value) : this(value.x != 0, value.y != 0, value.z != 0) { }
public bool r { readonly get => x; set => x = value; }
public bool g { readonly get => y; set => y = value; }
public bool b { readonly get => z; set => z = value; }
public readonly bool2 xx => new(x, x);
public bool2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public bool2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 yy => new(y, y);
public bool2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public bool2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public bool2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly bool2 zz => new(z, z);
public readonly bool3 xxx => new(x, x, x);
public readonly bool3 xxy => new(x, x, y);
public readonly bool3 xxz => new(x, x, z);
public readonly bool3 xyx => new(x, y, x);
public readonly bool3 xyy => new(x, y, y);
public bool3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly bool3 xzx => new(x, z, x);
public bool3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly bool3 xzz => new(x, z, z);
public readonly bool3 yxx => new(y, x, x);
public readonly bool3 yxy => new(y, x, y);
public bool3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly bool3 yyx => new(y, y, x);
public readonly bool3 yyy => new(y, y, y);
public readonly bool3 yyz => new(y, y, z);
public bool3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly bool3 yzy => new(y, z, y);
public readonly bool3 yzz => new(y, z, z);
public readonly bool3 zxx => new(z, x, x);
public bool3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly bool3 zxz => new(z, x, z);
public bool3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly bool3 zyy => new(z, y, y);
public readonly bool3 zyz => new(z, y, z);
public readonly bool3 zzx => new(z, z, x);
public readonly bool3 zzy => new(z, z, y);
public readonly bool3 zzz => new(z, z, z);
public readonly bool4 xxxx => new(x, x, x, x);
public readonly bool4 xxxy => new(x, x, x, y);
public readonly bool4 xxxz => new(x, x, x, z);
public readonly bool4 xxyx => new(x, x, y, x);
public readonly bool4 xxyy => new(x, x, y, y);
public readonly bool4 xxyz => new(x, x, y, z);
public readonly bool4 xxzx => new(x, x, z, x);
public readonly bool4 xxzy => new(x, x, z, y);
public readonly bool4 xxzz => new(x, x, z, z);
public readonly bool4 xyxx => new(x, y, x, x);
public readonly bool4 xyxy => new(x, y, x, y);
public readonly bool4 xyxz => new(x, y, x, z);
public readonly bool4 xyyx => new(x, y, y, x);
public readonly bool4 xyyy => new(x, y, y, y);
public readonly bool4 xyyz => new(x, y, y, z);
public readonly bool4 xyzx => new(x, y, z, x);
public readonly bool4 xyzy => new(x, y, z, y);
public readonly bool4 xyzz => new(x, y, z, z);
public readonly bool4 xzxx => new(x, z, x, x);
public readonly bool4 xzxy => new(x, z, x, y);
public readonly bool4 xzxz => new(x, z, x, z);
public readonly bool4 xzyx => new(x, z, y, x);
public readonly bool4 xzyy => new(x, z, y, y);
public readonly bool4 xzyz => new(x, z, y, z);
public readonly bool4 xzzx => new(x, z, z, x);
public readonly bool4 xzzy => new(x, z, z, y);
public readonly bool4 xzzz => new(x, z, z, z);
public readonly bool4 yxxx => new(y, x, x, x);
public readonly bool4 yxxy => new(y, x, x, y);
public readonly bool4 yxxz => new(y, x, x, z);
public readonly bool4 yxyx => new(y, x, y, x);
public readonly bool4 yxyy => new(y, x, y, y);
public readonly bool4 yxyz => new(y, x, y, z);
public readonly bool4 yxzx => new(y, x, z, x);
public readonly bool4 yxzy => new(y, x, z, y);
public readonly bool4 yxzz => new(y, x, z, z);
public readonly bool4 yyxx => new(y, y, x, x);
public readonly bool4 yyxy => new(y, y, x, y);
public readonly bool4 yyxz => new(y, y, x, z);
public readonly bool4 yyyx => new(y, y, y, x);
public readonly bool4 yyyy => new(y, y, y, y);
public readonly bool4 yyyz => new(y, y, y, z);
public readonly bool4 yyzx => new(y, y, z, x);
public readonly bool4 yyzy => new(y, y, z, y);
public readonly bool4 yyzz => new(y, y, z, z);
public readonly bool4 yzxx => new(y, z, x, x);
public readonly bool4 yzxy => new(y, z, x, y);
public readonly bool4 yzxz => new(y, z, x, z);
public readonly bool4 yzyx => new(y, z, y, x);
public readonly bool4 yzyy => new(y, z, y, y);
public readonly bool4 yzyz => new(y, z, y, z);
public readonly bool4 yzzx => new(y, z, z, x);
public readonly bool4 yzzy => new(y, z, z, y);
public readonly bool4 yzzz => new(y, z, z, z);
public readonly bool4 zxxx => new(z, x, x, x);
public readonly bool4 zxxy => new(z, x, x, y);
public readonly bool4 zxxz => new(z, x, x, z);
public readonly bool4 zxyx => new(z, x, y, x);
public readonly bool4 zxyy => new(z, x, y, y);
public readonly bool4 zxyz => new(z, x, y, z);
public readonly bool4 zxzx => new(z, x, z, x);
public readonly bool4 zxzy => new(z, x, z, y);
public readonly bool4 zxzz => new(z, x, z, z);
public readonly bool4 zyxx => new(z, y, x, x);
public readonly bool4 zyxy => new(z, y, x, y);
public readonly bool4 zyxz => new(z, y, x, z);
public readonly bool4 zyyx => new(z, y, y, x);
public readonly bool4 zyyy => new(z, y, y, y);
public readonly bool4 zyyz => new(z, y, y, z);
public readonly bool4 zyzx => new(z, y, z, x);
public readonly bool4 zyzy => new(z, y, z, y);
public readonly bool4 zyzz => new(z, y, z, z);
public readonly bool4 zzxx => new(z, z, x, x);
public readonly bool4 zzxy => new(z, z, x, y);
public readonly bool4 zzxz => new(z, z, x, z);
public readonly bool4 zzyx => new(z, z, y, x);
public readonly bool4 zzyy => new(z, z, y, y);
public readonly bool4 zzyz => new(z, z, y, z);
public readonly bool4 zzzx => new(z, z, z, x);
public readonly bool4 zzzy => new(z, z, z, y);
public readonly bool4 zzzz => new(z, z, z, z);
public readonly bool2 rr => new(x, x);
public bool2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public bool2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 gg => new(y, y);
public bool2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public bool2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public bool2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly bool2 bb => new(z, z);
public readonly bool3 rrr => new(x, x, x);
public readonly bool3 rrg => new(x, x, y);
public readonly bool3 rrb => new(x, x, z);
public readonly bool3 rgr => new(x, y, x);
public readonly bool3 rgg => new(x, y, y);
public bool3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly bool3 rbr => new(x, z, x);
public bool3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly bool3 rbb => new(x, z, z);
public readonly bool3 grr => new(y, x, x);
public readonly bool3 grg => new(y, x, y);
public bool3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly bool3 ggr => new(y, y, x);
public readonly bool3 ggg => new(y, y, y);
public readonly bool3 ggb => new(y, y, z);
public bool3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly bool3 gbg => new(y, z, y);
public readonly bool3 gbb => new(y, z, z);
public readonly bool3 brr => new(z, x, x);
public bool3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly bool3 brb => new(z, x, z);
public bool3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly bool3 bgg => new(z, y, y);
public readonly bool3 bgb => new(z, y, z);
public readonly bool3 bbr => new(z, z, x);
public readonly bool3 bbg => new(z, z, y);
public readonly bool3 bbb => new(z, z, z);
public readonly bool4 rrrr => new(x, x, x, x);
public readonly bool4 rrrg => new(x, x, x, y);
public readonly bool4 rrrb => new(x, x, x, z);
public readonly bool4 rrgr => new(x, x, y, x);
public readonly bool4 rrgg => new(x, x, y, y);
public readonly bool4 rrgb => new(x, x, y, z);
public readonly bool4 rrbr => new(x, x, z, x);
public readonly bool4 rrbg => new(x, x, z, y);
public readonly bool4 rrbb => new(x, x, z, z);
public readonly bool4 rgrr => new(x, y, x, x);
public readonly bool4 rgrg => new(x, y, x, y);
public readonly bool4 rgrb => new(x, y, x, z);
public readonly bool4 rggr => new(x, y, y, x);
public readonly bool4 rggg => new(x, y, y, y);
public readonly bool4 rggb => new(x, y, y, z);
public readonly bool4 rgbr => new(x, y, z, x);
public readonly bool4 rgbg => new(x, y, z, y);
public readonly bool4 rgbb => new(x, y, z, z);
public readonly bool4 rbrr => new(x, z, x, x);
public readonly bool4 rbrg => new(x, z, x, y);
public readonly bool4 rbrb => new(x, z, x, z);
public readonly bool4 rbgr => new(x, z, y, x);
public readonly bool4 rbgg => new(x, z, y, y);
public readonly bool4 rbgb => new(x, z, y, z);
public readonly bool4 rbbr => new(x, z, z, x);
public readonly bool4 rbbg => new(x, z, z, y);
public readonly bool4 rbbb => new(x, z, z, z);
public readonly bool4 grrr => new(y, x, x, x);
public readonly bool4 grrg => new(y, x, x, y);
public readonly bool4 grrb => new(y, x, x, z);
public readonly bool4 grgr => new(y, x, y, x);
public readonly bool4 grgg => new(y, x, y, y);
public readonly bool4 grgb => new(y, x, y, z);
public readonly bool4 grbr => new(y, x, z, x);
public readonly bool4 grbg => new(y, x, z, y);
public readonly bool4 grbb => new(y, x, z, z);
public readonly bool4 ggrr => new(y, y, x, x);
public readonly bool4 ggrg => new(y, y, x, y);
public readonly bool4 ggrb => new(y, y, x, z);
public readonly bool4 gggr => new(y, y, y, x);
public readonly bool4 gggg => new(y, y, y, y);
public readonly bool4 gggb => new(y, y, y, z);
public readonly bool4 ggbr => new(y, y, z, x);
public readonly bool4 ggbg => new(y, y, z, y);
public readonly bool4 ggbb => new(y, y, z, z);
public readonly bool4 gbrr => new(y, z, x, x);
public readonly bool4 gbrg => new(y, z, x, y);
public readonly bool4 gbrb => new(y, z, x, z);
public readonly bool4 gbgr => new(y, z, y, x);
public readonly bool4 gbgg => new(y, z, y, y);
public readonly bool4 gbgb => new(y, z, y, z);
public readonly bool4 gbbr => new(y, z, z, x);
public readonly bool4 gbbg => new(y, z, z, y);
public readonly bool4 gbbb => new(y, z, z, z);
public readonly bool4 brrr => new(z, x, x, x);
public readonly bool4 brrg => new(z, x, x, y);
public readonly bool4 brrb => new(z, x, x, z);
public readonly bool4 brgr => new(z, x, y, x);
public readonly bool4 brgg => new(z, x, y, y);
public readonly bool4 brgb => new(z, x, y, z);
public readonly bool4 brbr => new(z, x, z, x);
public readonly bool4 brbg => new(z, x, z, y);
public readonly bool4 brbb => new(z, x, z, z);
public readonly bool4 bgrr => new(z, y, x, x);
public readonly bool4 bgrg => new(z, y, x, y);
public readonly bool4 bgrb => new(z, y, x, z);
public readonly bool4 bggr => new(z, y, y, x);
public readonly bool4 bggg => new(z, y, y, y);
public readonly bool4 bggb => new(z, y, y, z);
public readonly bool4 bgbr => new(z, y, z, x);
public readonly bool4 bgbg => new(z, y, z, y);
public readonly bool4 bgbb => new(z, y, z, z);
public readonly bool4 bbrr => new(z, z, x, x);
public readonly bool4 bbrg => new(z, z, x, y);
public readonly bool4 bbrb => new(z, z, x, z);
public readonly bool4 bbgr => new(z, z, y, x);
public readonly bool4 bbgg => new(z, z, y, y);
public readonly bool4 bbgb => new(z, z, y, z);
public readonly bool4 bbbr => new(z, z, z, x);
public readonly bool4 bbbg => new(z, z, z, y);
public readonly bool4 bbbb => new(z, z, z, z);
}
public partial struct bool4
{
public bool4(bool x, bool y, bool2 zw) : this(x, y, zw.x, zw.y) { }
public bool4(bool x, bool2 yz, bool w) : this(x, yz.x, yz.y, w) { }
public bool4(bool x, bool3 yzw) : this(x, yzw.x, yzw.y, yzw.z) { }
public bool4(bool2 xy, bool z, bool w) : this(xy.x, xy.y, z, w) { }
public bool4(bool2 xy, bool2 zw) : this(xy.x, xy.y, zw.x, zw.y) { }
public bool4(bool3 xyz, bool w) : this(xyz.x, xyz.y, xyz.z, w) { }
public bool4(bool4 xyzw) : this(xyzw.x, xyzw.y, xyzw.z, xyzw.w) { }
public bool4(float4 value) : this(value.x != 0.0f, value.y != 0.0f, value.z != 0.0f, value.w != 0.0f) { }
public bool4(int4 value) : this(value.x != 0, value.y != 0, value.z != 0, value.w != 0) { }
public bool r { readonly get => x; set => x = value; }
public bool g { readonly get => y; set => y = value; }
public bool b { readonly get => z; set => z = value; }
public bool a { readonly get => w; set => w = value; }
public readonly bool2 xx => new(x, x);
public bool2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public bool2 xw { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public bool2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 yy => new(y, y);
public bool2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public bool2 yw { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public bool2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public bool2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly bool2 zz => new(z, z);
public bool2 zw { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public bool2 wx { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public bool2 wy { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public bool2 wz { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly bool2 ww => new(w, w);
public readonly bool3 xxx => new(x, x, x);
public readonly bool3 xxy => new(x, x, y);
public readonly bool3 xxz => new(x, x, z);
public readonly bool3 xxw => new(x, x, w);
public readonly bool3 xyx => new(x, y, x);
public readonly bool3 xyy => new(x, y, y);
public bool3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public bool3 xyw { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly bool3 xzx => new(x, z, x);
public bool3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly bool3 xzz => new(x, z, z);
public bool3 xzw { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly bool3 xwx => new(x, w, x);
public bool3 xwy { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public bool3 xwz { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly bool3 xww => new(x, w, w);
public readonly bool3 yxx => new(y, x, x);
public readonly bool3 yxy => new(y, x, y);
public bool3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public bool3 yxw { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly bool3 yyx => new(y, y, x);
public readonly bool3 yyy => new(y, y, y);
public readonly bool3 yyz => new(y, y, z);
public readonly bool3 yyw => new(y, y, w);
public bool3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly bool3 yzy => new(y, z, y);
public readonly bool3 yzz => new(y, z, z);
public bool3 yzw { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public bool3 ywx { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly bool3 ywy => new(y, w, y);
public bool3 ywz { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly bool3 yww => new(y, w, w);
public readonly bool3 zxx => new(z, x, x);
public bool3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly bool3 zxz => new(z, x, z);
public bool3 zxw { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public bool3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly bool3 zyy => new(z, y, y);
public readonly bool3 zyz => new(z, y, z);
public bool3 zyw { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly bool3 zzx => new(z, z, x);
public readonly bool3 zzy => new(z, z, y);
public readonly bool3 zzz => new(z, z, z);
public readonly bool3 zzw => new(z, z, w);
public bool3 zwx { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public bool3 zwy { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly bool3 zwz => new(z, w, z);
public readonly bool3 zww => new(z, w, w);
public readonly bool3 wxx => new(w, x, x);
public bool3 wxy { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public bool3 wxz { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly bool3 wxw => new(w, x, w);
public bool3 wyx { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly bool3 wyy => new(w, y, y);
public bool3 wyz { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly bool3 wyw => new(w, y, w);
public bool3 wzx { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public bool3 wzy { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly bool3 wzz => new(w, z, z);
public readonly bool3 wzw => new(w, z, w);
public readonly bool3 wwx => new(w, w, x);
public readonly bool3 wwy => new(w, w, y);
public readonly bool3 wwz => new(w, w, z);
public readonly bool3 www => new(w, w, w);
public readonly bool4 xxxx => new(x, x, x, x);
public readonly bool4 xxxy => new(x, x, x, y);
public readonly bool4 xxxz => new(x, x, x, z);
public readonly bool4 xxxw => new(x, x, x, w);
public readonly bool4 xxyx => new(x, x, y, x);
public readonly bool4 xxyy => new(x, x, y, y);
public readonly bool4 xxyz => new(x, x, y, z);
public readonly bool4 xxyw => new(x, x, y, w);
public readonly bool4 xxzx => new(x, x, z, x);
public readonly bool4 xxzy => new(x, x, z, y);
public readonly bool4 xxzz => new(x, x, z, z);
public readonly bool4 xxzw => new(x, x, z, w);
public readonly bool4 xxwx => new(x, x, w, x);
public readonly bool4 xxwy => new(x, x, w, y);
public readonly bool4 xxwz => new(x, x, w, z);
public readonly bool4 xxww => new(x, x, w, w);
public readonly bool4 xyxx => new(x, y, x, x);
public readonly bool4 xyxy => new(x, y, x, y);
public readonly bool4 xyxz => new(x, y, x, z);
public readonly bool4 xyxw => new(x, y, x, w);
public readonly bool4 xyyx => new(x, y, y, x);
public readonly bool4 xyyy => new(x, y, y, y);
public readonly bool4 xyyz => new(x, y, y, z);
public readonly bool4 xyyw => new(x, y, y, w);
public readonly bool4 xyzx => new(x, y, z, x);
public readonly bool4 xyzy => new(x, y, z, y);
public readonly bool4 xyzz => new(x, y, z, z);
public bool4 xyzw { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly bool4 xywx => new(x, y, w, x);
public readonly bool4 xywy => new(x, y, w, y);
public bool4 xywz { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly bool4 xyww => new(x, y, w, w);
public readonly bool4 xzxx => new(x, z, x, x);
public readonly bool4 xzxy => new(x, z, x, y);
public readonly bool4 xzxz => new(x, z, x, z);
public readonly bool4 xzxw => new(x, z, x, w);
public readonly bool4 xzyx => new(x, z, y, x);
public readonly bool4 xzyy => new(x, z, y, y);
public readonly bool4 xzyz => new(x, z, y, z);
public bool4 xzyw { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly bool4 xzzx => new(x, z, z, x);
public readonly bool4 xzzy => new(x, z, z, y);
public readonly bool4 xzzz => new(x, z, z, z);
public readonly bool4 xzzw => new(x, z, z, w);
public readonly bool4 xzwx => new(x, z, w, x);
public bool4 xzwy { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly bool4 xzwz => new(x, z, w, z);
public readonly bool4 xzww => new(x, z, w, w);
public readonly bool4 xwxx => new(x, w, x, x);
public readonly bool4 xwxy => new(x, w, x, y);
public readonly bool4 xwxz => new(x, w, x, z);
public readonly bool4 xwxw => new(x, w, x, w);
public readonly bool4 xwyx => new(x, w, y, x);
public readonly bool4 xwyy => new(x, w, y, y);
public bool4 xwyz { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly bool4 xwyw => new(x, w, y, w);
public readonly bool4 xwzx => new(x, w, z, x);
public bool4 xwzy { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly bool4 xwzz => new(x, w, z, z);
public readonly bool4 xwzw => new(x, w, z, w);
public readonly bool4 xwwx => new(x, w, w, x);
public readonly bool4 xwwy => new(x, w, w, y);
public readonly bool4 xwwz => new(x, w, w, z);
public readonly bool4 xwww => new(x, w, w, w);
public readonly bool4 yxxx => new(y, x, x, x);
public readonly bool4 yxxy => new(y, x, x, y);
public readonly bool4 yxxz => new(y, x, x, z);
public readonly bool4 yxxw => new(y, x, x, w);
public readonly bool4 yxyx => new(y, x, y, x);
public readonly bool4 yxyy => new(y, x, y, y);
public readonly bool4 yxyz => new(y, x, y, z);
public readonly bool4 yxyw => new(y, x, y, w);
public readonly bool4 yxzx => new(y, x, z, x);
public readonly bool4 yxzy => new(y, x, z, y);
public readonly bool4 yxzz => new(y, x, z, z);
public bool4 yxzw { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly bool4 yxwx => new(y, x, w, x);
public readonly bool4 yxwy => new(y, x, w, y);
public bool4 yxwz { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly bool4 yxww => new(y, x, w, w);
public readonly bool4 yyxx => new(y, y, x, x);
public readonly bool4 yyxy => new(y, y, x, y);
public readonly bool4 yyxz => new(y, y, x, z);
public readonly bool4 yyxw => new(y, y, x, w);
public readonly bool4 yyyx => new(y, y, y, x);
public readonly bool4 yyyy => new(y, y, y, y);
public readonly bool4 yyyz => new(y, y, y, z);
public readonly bool4 yyyw => new(y, y, y, w);
public readonly bool4 yyzx => new(y, y, z, x);
public readonly bool4 yyzy => new(y, y, z, y);
public readonly bool4 yyzz => new(y, y, z, z);
public readonly bool4 yyzw => new(y, y, z, w);
public readonly bool4 yywx => new(y, y, w, x);
public readonly bool4 yywy => new(y, y, w, y);
public readonly bool4 yywz => new(y, y, w, z);
public readonly bool4 yyww => new(y, y, w, w);
public readonly bool4 yzxx => new(y, z, x, x);
public readonly bool4 yzxy => new(y, z, x, y);
public readonly bool4 yzxz => new(y, z, x, z);
public bool4 yzxw { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly bool4 yzyx => new(y, z, y, x);
public readonly bool4 yzyy => new(y, z, y, y);
public readonly bool4 yzyz => new(y, z, y, z);
public readonly bool4 yzyw => new(y, z, y, w);
public readonly bool4 yzzx => new(y, z, z, x);
public readonly bool4 yzzy => new(y, z, z, y);
public readonly bool4 yzzz => new(y, z, z, z);
public readonly bool4 yzzw => new(y, z, z, w);
public bool4 yzwx { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly bool4 yzwy => new(y, z, w, y);
public readonly bool4 yzwz => new(y, z, w, z);
public readonly bool4 yzww => new(y, z, w, w);
public readonly bool4 ywxx => new(y, w, x, x);
public readonly bool4 ywxy => new(y, w, x, y);
public bool4 ywxz { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly bool4 ywxw => new(y, w, x, w);
public readonly bool4 ywyx => new(y, w, y, x);
public readonly bool4 ywyy => new(y, w, y, y);
public readonly bool4 ywyz => new(y, w, y, z);
public readonly bool4 ywyw => new(y, w, y, w);
public bool4 ywzx { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly bool4 ywzy => new(y, w, z, y);
public readonly bool4 ywzz => new(y, w, z, z);
public readonly bool4 ywzw => new(y, w, z, w);
public readonly bool4 ywwx => new(y, w, w, x);
public readonly bool4 ywwy => new(y, w, w, y);
public readonly bool4 ywwz => new(y, w, w, z);
public readonly bool4 ywww => new(y, w, w, w);
public readonly bool4 zxxx => new(z, x, x, x);
public readonly bool4 zxxy => new(z, x, x, y);
public readonly bool4 zxxz => new(z, x, x, z);
public readonly bool4 zxxw => new(z, x, x, w);
public readonly bool4 zxyx => new(z, x, y, x);
public readonly bool4 zxyy => new(z, x, y, y);
public readonly bool4 zxyz => new(z, x, y, z);
public bool4 zxyw { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly bool4 zxzx => new(z, x, z, x);
public readonly bool4 zxzy => new(z, x, z, y);
public readonly bool4 zxzz => new(z, x, z, z);
public readonly bool4 zxzw => new(z, x, z, w);
public readonly bool4 zxwx => new(z, x, w, x);
public bool4 zxwy { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly bool4 zxwz => new(z, x, w, z);
public readonly bool4 zxww => new(z, x, w, w);
public readonly bool4 zyxx => new(z, y, x, x);
public readonly bool4 zyxy => new(z, y, x, y);
public readonly bool4 zyxz => new(z, y, x, z);
public bool4 zyxw { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly bool4 zyyx => new(z, y, y, x);
public readonly bool4 zyyy => new(z, y, y, y);
public readonly bool4 zyyz => new(z, y, y, z);
public readonly bool4 zyyw => new(z, y, y, w);
public readonly bool4 zyzx => new(z, y, z, x);
public readonly bool4 zyzy => new(z, y, z, y);
public readonly bool4 zyzz => new(z, y, z, z);
public readonly bool4 zyzw => new(z, y, z, w);
public bool4 zywx { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly bool4 zywy => new(z, y, w, y);
public readonly bool4 zywz => new(z, y, w, z);
public readonly bool4 zyww => new(z, y, w, w);
public readonly bool4 zzxx => new(z, z, x, x);
public readonly bool4 zzxy => new(z, z, x, y);
public readonly bool4 zzxz => new(z, z, x, z);
public readonly bool4 zzxw => new(z, z, x, w);
public readonly bool4 zzyx => new(z, z, y, x);
public readonly bool4 zzyy => new(z, z, y, y);
public readonly bool4 zzyz => new(z, z, y, z);
public readonly bool4 zzyw => new(z, z, y, w);
public readonly bool4 zzzx => new(z, z, z, x);
public readonly bool4 zzzy => new(z, z, z, y);
public readonly bool4 zzzz => new(z, z, z, z);
public readonly bool4 zzzw => new(z, z, z, w);
public readonly bool4 zzwx => new(z, z, w, x);
public readonly bool4 zzwy => new(z, z, w, y);
public readonly bool4 zzwz => new(z, z, w, z);
public readonly bool4 zzww => new(z, z, w, w);
public readonly bool4 zwxx => new(z, w, x, x);
public bool4 zwxy { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly bool4 zwxz => new(z, w, x, z);
public readonly bool4 zwxw => new(z, w, x, w);
public bool4 zwyx { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly bool4 zwyy => new(z, w, y, y);
public readonly bool4 zwyz => new(z, w, y, z);
public readonly bool4 zwyw => new(z, w, y, w);
public readonly bool4 zwzx => new(z, w, z, x);
public readonly bool4 zwzy => new(z, w, z, y);
public readonly bool4 zwzz => new(z, w, z, z);
public readonly bool4 zwzw => new(z, w, z, w);
public readonly bool4 zwwx => new(z, w, w, x);
public readonly bool4 zwwy => new(z, w, w, y);
public readonly bool4 zwwz => new(z, w, w, z);
public readonly bool4 zwww => new(z, w, w, w);
public readonly bool4 wxxx => new(w, x, x, x);
public readonly bool4 wxxy => new(w, x, x, y);
public readonly bool4 wxxz => new(w, x, x, z);
public readonly bool4 wxxw => new(w, x, x, w);
public readonly bool4 wxyx => new(w, x, y, x);
public readonly bool4 wxyy => new(w, x, y, y);
public bool4 wxyz { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly bool4 wxyw => new(w, x, y, w);
public readonly bool4 wxzx => new(w, x, z, x);
public bool4 wxzy { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly bool4 wxzz => new(w, x, z, z);
public readonly bool4 wxzw => new(w, x, z, w);
public readonly bool4 wxwx => new(w, x, w, x);
public readonly bool4 wxwy => new(w, x, w, y);
public readonly bool4 wxwz => new(w, x, w, z);
public readonly bool4 wxww => new(w, x, w, w);
public readonly bool4 wyxx => new(w, y, x, x);
public readonly bool4 wyxy => new(w, y, x, y);
public bool4 wyxz { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly bool4 wyxw => new(w, y, x, w);
public readonly bool4 wyyx => new(w, y, y, x);
public readonly bool4 wyyy => new(w, y, y, y);
public readonly bool4 wyyz => new(w, y, y, z);
public readonly bool4 wyyw => new(w, y, y, w);
public bool4 wyzx { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly bool4 wyzy => new(w, y, z, y);
public readonly bool4 wyzz => new(w, y, z, z);
public readonly bool4 wyzw => new(w, y, z, w);
public readonly bool4 wywx => new(w, y, w, x);
public readonly bool4 wywy => new(w, y, w, y);
public readonly bool4 wywz => new(w, y, w, z);
public readonly bool4 wyww => new(w, y, w, w);
public readonly bool4 wzxx => new(w, z, x, x);
public bool4 wzxy { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly bool4 wzxz => new(w, z, x, z);
public readonly bool4 wzxw => new(w, z, x, w);
public bool4 wzyx { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly bool4 wzyy => new(w, z, y, y);
public readonly bool4 wzyz => new(w, z, y, z);
public readonly bool4 wzyw => new(w, z, y, w);
public readonly bool4 wzzx => new(w, z, z, x);
public readonly bool4 wzzy => new(w, z, z, y);
public readonly bool4 wzzz => new(w, z, z, z);
public readonly bool4 wzzw => new(w, z, z, w);
public readonly bool4 wzwx => new(w, z, w, x);
public readonly bool4 wzwy => new(w, z, w, y);
public readonly bool4 wzwz => new(w, z, w, z);
public readonly bool4 wzww => new(w, z, w, w);
public readonly bool4 wwxx => new(w, w, x, x);
public readonly bool4 wwxy => new(w, w, x, y);
public readonly bool4 wwxz => new(w, w, x, z);
public readonly bool4 wwxw => new(w, w, x, w);
public readonly bool4 wwyx => new(w, w, y, x);
public readonly bool4 wwyy => new(w, w, y, y);
public readonly bool4 wwyz => new(w, w, y, z);
public readonly bool4 wwyw => new(w, w, y, w);
public readonly bool4 wwzx => new(w, w, z, x);
public readonly bool4 wwzy => new(w, w, z, y);
public readonly bool4 wwzz => new(w, w, z, z);
public readonly bool4 wwzw => new(w, w, z, w);
public readonly bool4 wwwx => new(w, w, w, x);
public readonly bool4 wwwy => new(w, w, w, y);
public readonly bool4 wwwz => new(w, w, w, z);
public readonly bool4 wwww => new(w, w, w, w);
public readonly bool2 rr => new(x, x);
public bool2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public bool2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public bool2 ra { readonly get => new(x, w); set { x = value.x; w = value.y; } }
public bool2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly bool2 gg => new(y, y);
public bool2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public bool2 ga { readonly get => new(y, w); set { y = value.x; w = value.y; } }
public bool2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public bool2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly bool2 bb => new(z, z);
public bool2 ba { readonly get => new(z, w); set { z = value.x; w = value.y; } }
public bool2 ar { readonly get => new(w, x); set { w = value.x; x = value.y; } }
public bool2 ag { readonly get => new(w, y); set { w = value.x; y = value.y; } }
public bool2 ab { readonly get => new(w, z); set { w = value.x; z = value.y; } }
public readonly bool2 aa => new(w, w);
public readonly bool3 rrr => new(x, x, x);
public readonly bool3 rrg => new(x, x, y);
public readonly bool3 rrb => new(x, x, z);
public readonly bool3 rra => new(x, x, w);
public readonly bool3 rgr => new(x, y, x);
public readonly bool3 rgg => new(x, y, y);
public bool3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public bool3 rga { readonly get => new(x, y, w); set { x = value.x; y = value.y; w = value.z; } }
public readonly bool3 rbr => new(x, z, x);
public bool3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly bool3 rbb => new(x, z, z);
public bool3 rba { readonly get => new(x, z, w); set { x = value.x; z = value.y; w = value.z; } }
public readonly bool3 rar => new(x, w, x);
public bool3 rag { readonly get => new(x, w, y); set { x = value.x; w = value.y; y = value.z; } }
public bool3 rab { readonly get => new(x, w, z); set { x = value.x; w = value.y; z = value.z; } }
public readonly bool3 raa => new(x, w, w);
public readonly bool3 grr => new(y, x, x);
public readonly bool3 grg => new(y, x, y);
public bool3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public bool3 gra { readonly get => new(y, x, w); set { y = value.x; x = value.y; w = value.z; } }
public readonly bool3 ggr => new(y, y, x);
public readonly bool3 ggg => new(y, y, y);
public readonly bool3 ggb => new(y, y, z);
public readonly bool3 gga => new(y, y, w);
public bool3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly bool3 gbg => new(y, z, y);
public readonly bool3 gbb => new(y, z, z);
public bool3 gba { readonly get => new(y, z, w); set { y = value.x; z = value.y; w = value.z; } }
public bool3 gar { readonly get => new(y, w, x); set { y = value.x; w = value.y; x = value.z; } }
public readonly bool3 gag => new(y, w, y);
public bool3 gab { readonly get => new(y, w, z); set { y = value.x; w = value.y; z = value.z; } }
public readonly bool3 gaa => new(y, w, w);
public readonly bool3 brr => new(z, x, x);
public bool3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly bool3 brb => new(z, x, z);
public bool3 bra { readonly get => new(z, x, w); set { z = value.x; x = value.y; w = value.z; } }
public bool3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly bool3 bgg => new(z, y, y);
public readonly bool3 bgb => new(z, y, z);
public bool3 bga { readonly get => new(z, y, w); set { z = value.x; y = value.y; w = value.z; } }
public readonly bool3 bbr => new(z, z, x);
public readonly bool3 bbg => new(z, z, y);
public readonly bool3 bbb => new(z, z, z);
public readonly bool3 bba => new(z, z, w);
public bool3 bar { readonly get => new(z, w, x); set { z = value.x; w = value.y; x = value.z; } }
public bool3 bag { readonly get => new(z, w, y); set { z = value.x; w = value.y; y = value.z; } }
public readonly bool3 bab => new(z, w, z);
public readonly bool3 baa => new(z, w, w);
public readonly bool3 arr => new(w, x, x);
public bool3 arg { readonly get => new(w, x, y); set { w = value.x; x = value.y; y = value.z; } }
public bool3 arb { readonly get => new(w, x, z); set { w = value.x; x = value.y; z = value.z; } }
public readonly bool3 ara => new(w, x, w);
public bool3 agr { readonly get => new(w, y, x); set { w = value.x; y = value.y; x = value.z; } }
public readonly bool3 agg => new(w, y, y);
public bool3 agb { readonly get => new(w, y, z); set { w = value.x; y = value.y; z = value.z; } }
public readonly bool3 aga => new(w, y, w);
public bool3 abr { readonly get => new(w, z, x); set { w = value.x; z = value.y; x = value.z; } }
public bool3 abg { readonly get => new(w, z, y); set { w = value.x; z = value.y; y = value.z; } }
public readonly bool3 abb => new(w, z, z);
public readonly bool3 aba => new(w, z, w);
public readonly bool3 aar => new(w, w, x);
public readonly bool3 aag => new(w, w, y);
public readonly bool3 aab => new(w, w, z);
public readonly bool3 aaa => new(w, w, w);
public readonly bool4 rrrr => new(x, x, x, x);
public readonly bool4 rrrg => new(x, x, x, y);
public readonly bool4 rrrb => new(x, x, x, z);
public readonly bool4 rrra => new(x, x, x, w);
public readonly bool4 rrgr => new(x, x, y, x);
public readonly bool4 rrgg => new(x, x, y, y);
public readonly bool4 rrgb => new(x, x, y, z);
public readonly bool4 rrga => new(x, x, y, w);
public readonly bool4 rrbr => new(x, x, z, x);
public readonly bool4 rrbg => new(x, x, z, y);
public readonly bool4 rrbb => new(x, x, z, z);
public readonly bool4 rrba => new(x, x, z, w);
public readonly bool4 rrar => new(x, x, w, x);
public readonly bool4 rrag => new(x, x, w, y);
public readonly bool4 rrab => new(x, x, w, z);
public readonly bool4 rraa => new(x, x, w, w);
public readonly bool4 rgrr => new(x, y, x, x);
public readonly bool4 rgrg => new(x, y, x, y);
public readonly bool4 rgrb => new(x, y, x, z);
public readonly bool4 rgra => new(x, y, x, w);
public readonly bool4 rggr => new(x, y, y, x);
public readonly bool4 rggg => new(x, y, y, y);
public readonly bool4 rggb => new(x, y, y, z);
public readonly bool4 rgga => new(x, y, y, w);
public readonly bool4 rgbr => new(x, y, z, x);
public readonly bool4 rgbg => new(x, y, z, y);
public readonly bool4 rgbb => new(x, y, z, z);
public bool4 rgba { readonly get => new(x, y, z, w); set { x = value.x; y = value.y; z = value.z; w = value.w; } }
public readonly bool4 rgar => new(x, y, w, x);
public readonly bool4 rgag => new(x, y, w, y);
public bool4 rgab { readonly get => new(x, y, w, z); set { x = value.x; y = value.y; w = value.z; z = value.w; } }
public readonly bool4 rgaa => new(x, y, w, w);
public readonly bool4 rbrr => new(x, z, x, x);
public readonly bool4 rbrg => new(x, z, x, y);
public readonly bool4 rbrb => new(x, z, x, z);
public readonly bool4 rbra => new(x, z, x, w);
public readonly bool4 rbgr => new(x, z, y, x);
public readonly bool4 rbgg => new(x, z, y, y);
public readonly bool4 rbgb => new(x, z, y, z);
public bool4 rbga { readonly get => new(x, z, y, w); set { x = value.x; z = value.y; y = value.z; w = value.w; } }
public readonly bool4 rbbr => new(x, z, z, x);
public readonly bool4 rbbg => new(x, z, z, y);
public readonly bool4 rbbb => new(x, z, z, z);
public readonly bool4 rbba => new(x, z, z, w);
public readonly bool4 rbar => new(x, z, w, x);
public bool4 rbag { readonly get => new(x, z, w, y); set { x = value.x; z = value.y; w = value.z; y = value.w; } }
public readonly bool4 rbab => new(x, z, w, z);
public readonly bool4 rbaa => new(x, z, w, w);
public readonly bool4 rarr => new(x, w, x, x);
public readonly bool4 rarg => new(x, w, x, y);
public readonly bool4 rarb => new(x, w, x, z);
public readonly bool4 rara => new(x, w, x, w);
public readonly bool4 ragr => new(x, w, y, x);
public readonly bool4 ragg => new(x, w, y, y);
public bool4 ragb { readonly get => new(x, w, y, z); set { x = value.x; w = value.y; y = value.z; z = value.w; } }
public readonly bool4 raga => new(x, w, y, w);
public readonly bool4 rabr => new(x, w, z, x);
public bool4 rabg { readonly get => new(x, w, z, y); set { x = value.x; w = value.y; z = value.z; y = value.w; } }
public readonly bool4 rabb => new(x, w, z, z);
public readonly bool4 raba => new(x, w, z, w);
public readonly bool4 raar => new(x, w, w, x);
public readonly bool4 raag => new(x, w, w, y);
public readonly bool4 raab => new(x, w, w, z);
public readonly bool4 raaa => new(x, w, w, w);
public readonly bool4 grrr => new(y, x, x, x);
public readonly bool4 grrg => new(y, x, x, y);
public readonly bool4 grrb => new(y, x, x, z);
public readonly bool4 grra => new(y, x, x, w);
public readonly bool4 grgr => new(y, x, y, x);
public readonly bool4 grgg => new(y, x, y, y);
public readonly bool4 grgb => new(y, x, y, z);
public readonly bool4 grga => new(y, x, y, w);
public readonly bool4 grbr => new(y, x, z, x);
public readonly bool4 grbg => new(y, x, z, y);
public readonly bool4 grbb => new(y, x, z, z);
public bool4 grba { readonly get => new(y, x, z, w); set { y = value.x; x = value.y; z = value.z; w = value.w; } }
public readonly bool4 grar => new(y, x, w, x);
public readonly bool4 grag => new(y, x, w, y);
public bool4 grab { readonly get => new(y, x, w, z); set { y = value.x; x = value.y; w = value.z; z = value.w; } }
public readonly bool4 graa => new(y, x, w, w);
public readonly bool4 ggrr => new(y, y, x, x);
public readonly bool4 ggrg => new(y, y, x, y);
public readonly bool4 ggrb => new(y, y, x, z);
public readonly bool4 ggra => new(y, y, x, w);
public readonly bool4 gggr => new(y, y, y, x);
public readonly bool4 gggg => new(y, y, y, y);
public readonly bool4 gggb => new(y, y, y, z);
public readonly bool4 ggga => new(y, y, y, w);
public readonly bool4 ggbr => new(y, y, z, x);
public readonly bool4 ggbg => new(y, y, z, y);
public readonly bool4 ggbb => new(y, y, z, z);
public readonly bool4 ggba => new(y, y, z, w);
public readonly bool4 ggar => new(y, y, w, x);
public readonly bool4 ggag => new(y, y, w, y);
public readonly bool4 ggab => new(y, y, w, z);
public readonly bool4 ggaa => new(y, y, w, w);
public readonly bool4 gbrr => new(y, z, x, x);
public readonly bool4 gbrg => new(y, z, x, y);
public readonly bool4 gbrb => new(y, z, x, z);
public bool4 gbra { readonly get => new(y, z, x, w); set { y = value.x; z = value.y; x = value.z; w = value.w; } }
public readonly bool4 gbgr => new(y, z, y, x);
public readonly bool4 gbgg => new(y, z, y, y);
public readonly bool4 gbgb => new(y, z, y, z);
public readonly bool4 gbga => new(y, z, y, w);
public readonly bool4 gbbr => new(y, z, z, x);
public readonly bool4 gbbg => new(y, z, z, y);
public readonly bool4 gbbb => new(y, z, z, z);
public readonly bool4 gbba => new(y, z, z, w);
public bool4 gbar { readonly get => new(y, z, w, x); set { y = value.x; z = value.y; w = value.z; x = value.w; } }
public readonly bool4 gbag => new(y, z, w, y);
public readonly bool4 gbab => new(y, z, w, z);
public readonly bool4 gbaa => new(y, z, w, w);
public readonly bool4 garr => new(y, w, x, x);
public readonly bool4 garg => new(y, w, x, y);
public bool4 garb { readonly get => new(y, w, x, z); set { y = value.x; w = value.y; x = value.z; z = value.w; } }
public readonly bool4 gara => new(y, w, x, w);
public readonly bool4 gagr => new(y, w, y, x);
public readonly bool4 gagg => new(y, w, y, y);
public readonly bool4 gagb => new(y, w, y, z);
public readonly bool4 gaga => new(y, w, y, w);
public bool4 gabr { readonly get => new(y, w, z, x); set { y = value.x; w = value.y; z = value.z; x = value.w; } }
public readonly bool4 gabg => new(y, w, z, y);
public readonly bool4 gabb => new(y, w, z, z);
public readonly bool4 gaba => new(y, w, z, w);
public readonly bool4 gaar => new(y, w, w, x);
public readonly bool4 gaag => new(y, w, w, y);
public readonly bool4 gaab => new(y, w, w, z);
public readonly bool4 gaaa => new(y, w, w, w);
public readonly bool4 brrr => new(z, x, x, x);
public readonly bool4 brrg => new(z, x, x, y);
public readonly bool4 brrb => new(z, x, x, z);
public readonly bool4 brra => new(z, x, x, w);
public readonly bool4 brgr => new(z, x, y, x);
public readonly bool4 brgg => new(z, x, y, y);
public readonly bool4 brgb => new(z, x, y, z);
public bool4 brga { readonly get => new(z, x, y, w); set { z = value.x; x = value.y; y = value.z; w = value.w; } }
public readonly bool4 brbr => new(z, x, z, x);
public readonly bool4 brbg => new(z, x, z, y);
public readonly bool4 brbb => new(z, x, z, z);
public readonly bool4 brba => new(z, x, z, w);
public readonly bool4 brar => new(z, x, w, x);
public bool4 brag { readonly get => new(z, x, w, y); set { z = value.x; x = value.y; w = value.z; y = value.w; } }
public readonly bool4 brab => new(z, x, w, z);
public readonly bool4 braa => new(z, x, w, w);
public readonly bool4 bgrr => new(z, y, x, x);
public readonly bool4 bgrg => new(z, y, x, y);
public readonly bool4 bgrb => new(z, y, x, z);
public bool4 bgra { readonly get => new(z, y, x, w); set { z = value.x; y = value.y; x = value.z; w = value.w; } }
public readonly bool4 bggr => new(z, y, y, x);
public readonly bool4 bggg => new(z, y, y, y);
public readonly bool4 bggb => new(z, y, y, z);
public readonly bool4 bgga => new(z, y, y, w);
public readonly bool4 bgbr => new(z, y, z, x);
public readonly bool4 bgbg => new(z, y, z, y);
public readonly bool4 bgbb => new(z, y, z, z);
public readonly bool4 bgba => new(z, y, z, w);
public bool4 bgar { readonly get => new(z, y, w, x); set { z = value.x; y = value.y; w = value.z; x = value.w; } }
public readonly bool4 bgag => new(z, y, w, y);
public readonly bool4 bgab => new(z, y, w, z);
public readonly bool4 bgaa => new(z, y, w, w);
public readonly bool4 bbrr => new(z, z, x, x);
public readonly bool4 bbrg => new(z, z, x, y);
public readonly bool4 bbrb => new(z, z, x, z);
public readonly bool4 bbra => new(z, z, x, w);
public readonly bool4 bbgr => new(z, z, y, x);
public readonly bool4 bbgg => new(z, z, y, y);
public readonly bool4 bbgb => new(z, z, y, z);
public readonly bool4 bbga => new(z, z, y, w);
public readonly bool4 bbbr => new(z, z, z, x);
public readonly bool4 bbbg => new(z, z, z, y);
public readonly bool4 bbbb => new(z, z, z, z);
public readonly bool4 bbba => new(z, z, z, w);
public readonly bool4 bbar => new(z, z, w, x);
public readonly bool4 bbag => new(z, z, w, y);
public readonly bool4 bbab => new(z, z, w, z);
public readonly bool4 bbaa => new(z, z, w, w);
public readonly bool4 barr => new(z, w, x, x);
public bool4 barg { readonly get => new(z, w, x, y); set { z = value.x; w = value.y; x = value.z; y = value.w; } }
public readonly bool4 barb => new(z, w, x, z);
public readonly bool4 bara => new(z, w, x, w);
public bool4 bagr { readonly get => new(z, w, y, x); set { z = value.x; w = value.y; y = value.z; x = value.w; } }
public readonly bool4 bagg => new(z, w, y, y);
public readonly bool4 bagb => new(z, w, y, z);
public readonly bool4 baga => new(z, w, y, w);
public readonly bool4 babr => new(z, w, z, x);
public readonly bool4 babg => new(z, w, z, y);
public readonly bool4 babb => new(z, w, z, z);
public readonly bool4 baba => new(z, w, z, w);
public readonly bool4 baar => new(z, w, w, x);
public readonly bool4 baag => new(z, w, w, y);
public readonly bool4 baab => new(z, w, w, z);
public readonly bool4 baaa => new(z, w, w, w);
public readonly bool4 arrr => new(w, x, x, x);
public readonly bool4 arrg => new(w, x, x, y);
public readonly bool4 arrb => new(w, x, x, z);
public readonly bool4 arra => new(w, x, x, w);
public readonly bool4 argr => new(w, x, y, x);
public readonly bool4 argg => new(w, x, y, y);
public bool4 argb { readonly get => new(w, x, y, z); set { w = value.x; x = value.y; y = value.z; z = value.w; } }
public readonly bool4 arga => new(w, x, y, w);
public readonly bool4 arbr => new(w, x, z, x);
public bool4 arbg { readonly get => new(w, x, z, y); set { w = value.x; x = value.y; z = value.z; y = value.w; } }
public readonly bool4 arbb => new(w, x, z, z);
public readonly bool4 arba => new(w, x, z, w);
public readonly bool4 arar => new(w, x, w, x);
public readonly bool4 arag => new(w, x, w, y);
public readonly bool4 arab => new(w, x, w, z);
public readonly bool4 araa => new(w, x, w, w);
public readonly bool4 agrr => new(w, y, x, x);
public readonly bool4 agrg => new(w, y, x, y);
public bool4 agrb { readonly get => new(w, y, x, z); set { w = value.x; y = value.y; x = value.z; z = value.w; } }
public readonly bool4 agra => new(w, y, x, w);
public readonly bool4 aggr => new(w, y, y, x);
public readonly bool4 aggg => new(w, y, y, y);
public readonly bool4 aggb => new(w, y, y, z);
public readonly bool4 agga => new(w, y, y, w);
public bool4 agbr { readonly get => new(w, y, z, x); set { w = value.x; y = value.y; z = value.z; x = value.w; } }
public readonly bool4 agbg => new(w, y, z, y);
public readonly bool4 agbb => new(w, y, z, z);
public readonly bool4 agba => new(w, y, z, w);
public readonly bool4 agar => new(w, y, w, x);
public readonly bool4 agag => new(w, y, w, y);
public readonly bool4 agab => new(w, y, w, z);
public readonly bool4 agaa => new(w, y, w, w);
public readonly bool4 abrr => new(w, z, x, x);
public bool4 abrg { readonly get => new(w, z, x, y); set { w = value.x; z = value.y; x = value.z; y = value.w; } }
public readonly bool4 abrb => new(w, z, x, z);
public readonly bool4 abra => new(w, z, x, w);
public bool4 abgr { readonly get => new(w, z, y, x); set { w = value.x; z = value.y; y = value.z; x = value.w; } }
public readonly bool4 abgg => new(w, z, y, y);
public readonly bool4 abgb => new(w, z, y, z);
public readonly bool4 abga => new(w, z, y, w);
public readonly bool4 abbr => new(w, z, z, x);
public readonly bool4 abbg => new(w, z, z, y);
public readonly bool4 abbb => new(w, z, z, z);
public readonly bool4 abba => new(w, z, z, w);
public readonly bool4 abar => new(w, z, w, x);
public readonly bool4 abag => new(w, z, w, y);
public readonly bool4 abab => new(w, z, w, z);
public readonly bool4 abaa => new(w, z, w, w);
public readonly bool4 aarr => new(w, w, x, x);
public readonly bool4 aarg => new(w, w, x, y);
public readonly bool4 aarb => new(w, w, x, z);
public readonly bool4 aara => new(w, w, x, w);
public readonly bool4 aagr => new(w, w, y, x);
public readonly bool4 aagg => new(w, w, y, y);
public readonly bool4 aagb => new(w, w, y, z);
public readonly bool4 aaga => new(w, w, y, w);
public readonly bool4 aabr => new(w, w, z, x);
public readonly bool4 aabg => new(w, w, z, y);
public readonly bool4 aabb => new(w, w, z, z);
public readonly bool4 aaba => new(w, w, z, w);
public readonly bool4 aaar => new(w, w, w, x);
public readonly bool4 aaag => new(w, w, w, y);
public readonly bool4 aaab => new(w, w, w, z);
public readonly bool4 aaaa => new(w, w, w, w);
}
public partial struct double2
{
public double2(double2 xy) : this(xy.x, xy.y) { }
public double r { readonly get => x; set => x = value; }
public double g { readonly get => y; set => y = value; }
public readonly double2 xx => new(x, x);
public double2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public double2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly double2 yy => new(y, y);
public readonly double3 xxx => new(x, x, x);
public readonly double3 xxy => new(x, x, y);
public readonly double3 xyx => new(x, y, x);
public readonly double3 xyy => new(x, y, y);
public readonly double3 yxx => new(y, x, x);
public readonly double3 yxy => new(y, x, y);
public readonly double3 yyx => new(y, y, x);
public readonly double3 yyy => new(y, y, y);
public readonly double2 rr => new(x, x);
public double2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public double2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly double2 gg => new(y, y);
public readonly double3 rrr => new(x, x, x);
public readonly double3 rrg => new(x, x, y);
public readonly double3 rgr => new(x, y, x);
public readonly double3 rgg => new(x, y, y);
public readonly double3 grr => new(y, x, x);
public readonly double3 grg => new(y, x, y);
public readonly double3 ggr => new(y, y, x);
public readonly double3 ggg => new(y, y, y);
}
public partial struct double3
{
public double3(double x, double2 yz) : this(x, yz.x, yz.y) { }
public double3(double2 xy, double z) : this(xy.x, xy.y, z) { }
public double3(double3 xyz) : this(xyz.x, xyz.y, xyz.z) { }
public double r { readonly get => x; set => x = value; }
public double g { readonly get => y; set => y = value; }
public double b { readonly get => z; set => z = value; }
public readonly double2 xx => new(x, x);
public double2 xy { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public double2 xz { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public double2 yx { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly double2 yy => new(y, y);
public double2 yz { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public double2 zx { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public double2 zy { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly double2 zz => new(z, z);
public readonly double3 xxx => new(x, x, x);
public readonly double3 xxy => new(x, x, y);
public readonly double3 xxz => new(x, x, z);
public readonly double3 xyx => new(x, y, x);
public readonly double3 xyy => new(x, y, y);
public double3 xyz { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly double3 xzx => new(x, z, x);
public double3 xzy { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly double3 xzz => new(x, z, z);
public readonly double3 yxx => new(y, x, x);
public readonly double3 yxy => new(y, x, y);
public double3 yxz { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly double3 yyx => new(y, y, x);
public readonly double3 yyy => new(y, y, y);
public readonly double3 yyz => new(y, y, z);
public double3 yzx { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly double3 yzy => new(y, z, y);
public readonly double3 yzz => new(y, z, z);
public readonly double3 zxx => new(z, x, x);
public double3 zxy { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly double3 zxz => new(z, x, z);
public double3 zyx { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly double3 zyy => new(z, y, y);
public readonly double3 zyz => new(z, y, z);
public readonly double3 zzx => new(z, z, x);
public readonly double3 zzy => new(z, z, y);
public readonly double3 zzz => new(z, z, z);
public readonly double2 rr => new(x, x);
public double2 rg { readonly get => new(x, y); set { x = value.x; y = value.y; } }
public double2 rb { readonly get => new(x, z); set { x = value.x; z = value.y; } }
public double2 gr { readonly get => new(y, x); set { y = value.x; x = value.y; } }
public readonly double2 gg => new(y, y);
public double2 gb { readonly get => new(y, z); set { y = value.x; z = value.y; } }
public double2 br { readonly get => new(z, x); set { z = value.x; x = value.y; } }
public double2 bg { readonly get => new(z, y); set { z = value.x; y = value.y; } }
public readonly double2 bb => new(z, z);
public readonly double3 rrr => new(x, x, x);
public readonly double3 rrg => new(x, x, y);
public readonly double3 rrb => new(x, x, z);
public readonly double3 rgr => new(x, y, x);
public readonly double3 rgg => new(x, y, y);
public double3 rgb { readonly get => new(x, y, z); set { x = value.x; y = value.y; z = value.z; } }
public readonly double3 rbr => new(x, z, x);
public double3 rbg { readonly get => new(x, z, y); set { x = value.x; z = value.y; y = value.z; } }
public readonly double3 rbb => new(x, z, z);
public readonly double3 grr => new(y, x, x);
public readonly double3 grg => new(y, x, y);
public double3 grb { readonly get => new(y, x, z); set { y = value.x; x = value.y; z = value.z; } }
public readonly double3 ggr => new(y, y, x);
public readonly double3 ggg => new(y, y, y);
public readonly double3 ggb => new(y, y, z);
public double3 gbr { readonly get => new(y, z, x); set { y = value.x; z = value.y; x = value.z; } }
public readonly double3 gbg => new(y, z, y);
public readonly double3 gbb => new(y, z, z);
public readonly double3 brr => new(z, x, x);
public double3 brg { readonly get => new(z, x, y); set { z = value.x; x = value.y; y = value.z; } }
public readonly double3 brb => new(z, x, z);
public double3 bgr { readonly get => new(z, y, x); set { z = value.x; y = value.y; x = value.z; } }
public readonly double3 bgg => new(z, y, y);
public readonly double3 bgb => new(z, y, z);
public readonly double3 bbr => new(z, z, x);
public readonly double3 bbg => new(z, z, y);
public readonly double3 bbb => new(z, z, z);
}
public static partial class math
{
public static float2 float2(float2 xy) => new(xy);
public static float2 float2(int2 value) => new(value);
public static float2 float2(bool2 value) => new(value);
public static float2 float2(int value) => new(value, value);
public static float3 float3(float x, float2 yz) => new(x, yz);
public static float3 float3(float2 xy, float z) => new(xy, z);
public static float3 float3(float3 xyz) => new(xyz);
public static float3 float3(int3 value) => new(value);
public static float3 float3(bool3 value) => new(value);
public static float3 float3(int value) => new(value, value, value);
public static float4 float4(float x, float y, float2 zw) => new(x, y, zw);
public static float4 float4(float x, float2 yz, float w) => new(x, yz, w);
public static float4 float4(float x, float3 yzw) => new(x, yzw);
public static float4 float4(float2 xy, float z, float w) => new(xy, z, w);
public static float4 float4(float2 xy, float2 zw) => new(xy, zw);
public static float4 float4(float3 xyz, float w) => new(xyz, w);
public static float4 float4(float4 xyzw) => new(xyzw);
public static float4 float4(int4 value) => new(value);
public static float4 float4(bool4 value) => new(value);
public static float4 float4(int value) => new(value, value, value, value);
public static int2 int2(int2 xy) => new(xy);
public static int2 int2(float2 value) => new(value);
public static int2 int2(bool2 value) => new(value);
public static int3 int3(int x, int2 yz) => new(x, yz);
public static int3 int3(int2 xy, int z) => new(xy, z);
public static int3 int3(int3 xyz) => new(xyz);
public static int3 int3(float3 value) => new(value);
public static int3 int3(bool3 value) => new(value);
public static int4 int4(int x, int y, int2 zw) => new(x, y, zw);
public static int4 int4(int x, int2 yz, int w) => new(x, yz, w);
public static int4 int4(int x, int3 yzw) => new(x, yzw);
public static int4 int4(int2 xy, int z, int w) => new(xy, z, w);
public static int4 int4(int2 xy, int2 zw) => new(xy, zw);
public static int4 int4(int3 xyz, int w) => new(xyz, w);
public static int4 int4(int4 xyzw) => new(xyzw);
public static int4 int4(float4 value) => new(value);
public static int4 int4(bool4 value) => new(value);
public static bool2 bool2(bool2 xy) => new(xy);
public static bool2 bool2(float2 value) => new(value);
public static bool2 bool2(int2 value) => new(value);
public static bool3 bool3(bool x, bool2 yz) => new(x, yz);
public static bool3 bool3(bool2 xy, bool z) => new(xy, z);
public static bool3 bool3(bool3 xyz) => new(xyz);
public static bool3 bool3(float3 value) => new(value);
public static bool3 bool3(int3 value) => new(value);
public static bool4 bool4(bool x, bool y, bool2 zw) => new(x, y, zw);
public static bool4 bool4(bool x, bool2 yz, bool w) => new(x, yz, w);
public static bool4 bool4(bool x, bool3 yzw) => new(x, yzw);
public static bool4 bool4(bool2 xy, bool z, bool w) => new(xy, z, w);
public static bool4 bool4(bool2 xy, bool2 zw) => new(xy, zw);
public static bool4 bool4(bool3 xyz, bool w) => new(xyz, w);
public static bool4 bool4(bool4 xyzw) => new(xyzw);
public static bool4 bool4(float4 value) => new(value);
public static bool4 bool4(int4 value) => new(value);
}