using System; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using Unity.IL2CPP.CompilerServices; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Unity.Mathematics")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Unity.Mathematics")] [assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("19810344-7387-4155-935F-BDD5CC61F0BF")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: InternalsVisibleTo("Unity.Mathematics.Tests")] [assembly: InternalsVisibleTo("Unity.Mathematics.PerformanceTests")] [assembly: InternalsVisibleTo("btests")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Unity.IL2CPP.CompilerServices { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false, AllowMultiple = false)] internal class Il2CppEagerStaticClassConstructionAttribute : Attribute { } } namespace Unity.Mathematics { [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct bool2 : IEquatable { internal sealed class DebuggerProxy { public bool x; public bool y; public DebuggerProxy(bool2 v) { x = v.x; y = v.y; } } [MarshalAs(UnmanagedType.U1)] public bool x; [MarshalAs(UnmanagedType.U1)] public bool y; [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, y); } } public unsafe bool this[int index] { get { fixed (bool2* ptr = &this) { return ((byte*)ptr)[index] != 0; } } set { fixed (bool* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool x, bool y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool2(bool v) { return new bool2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool2 lhs, bool2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool2 lhs, bool rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool lhs, bool2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool2 lhs, bool2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool2 lhs, bool rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool lhs, bool2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !(bool2 val) { return new bool2(!val.x, !val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool2 lhs, bool2 rhs) { return new bool2(lhs.x & rhs.x, lhs.y & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool2 lhs, bool rhs) { return new bool2(lhs.x && rhs, lhs.y && rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool lhs, bool2 rhs) { return new bool2(lhs & rhs.x, lhs & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool2 lhs, bool2 rhs) { return new bool2(lhs.x | rhs.x, lhs.y | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool2 lhs, bool rhs) { return new bool2(lhs.x || rhs, lhs.y || rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool lhs, bool2 rhs) { return new bool2(lhs | rhs.x, lhs | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool2 lhs, bool2 rhs) { return new bool2(lhs.x ^ rhs.x, lhs.y ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool2 lhs, bool rhs) { return new bool2(lhs.x ^ rhs, lhs.y ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool lhs, bool2 rhs) { return new bool2(lhs ^ rhs.x, lhs ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is bool2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool2({x}, {y})"; } } [Il2CppEagerStaticClassConstruction] public static class math { public enum RotationOrder : byte { XYZ = 0, XZY = 1, YXZ = 2, YZX = 3, ZXY = 4, ZYX = 5, Default = 4 } public enum ShuffleComponent : byte { LeftX, LeftY, LeftZ, LeftW, RightX, RightY, RightZ, RightW } [StructLayout(LayoutKind.Explicit)] internal struct IntFloatUnion { [FieldOffset(0)] public int intValue; [FieldOffset(0)] public float floatValue; } [StructLayout(LayoutKind.Explicit)] internal struct LongDoubleUnion { [FieldOffset(0)] public long longValue; [FieldOffset(0)] public double doubleValue; } public const double E_DBL = Math.E; public const double LOG2E_DBL = 1.4426950408889634; public const double LOG10E_DBL = 0.4342944819032518; public const double LN2_DBL = 0.6931471805599453; public const double LN10_DBL = 2.302585092994046; public const double PI_DBL = Math.PI; public const double SQRT2_DBL = 1.4142135623730951; public const double EPSILON_DBL = 2.220446049250313E-16; public const double INFINITY_DBL = double.PositiveInfinity; public const double NAN_DBL = double.NaN; public const float FLT_MIN_NORMAL = 1.1754944E-38f; public const double DBL_MIN_NORMAL = 2.2250738585072014E-308; public const float E = MathF.E; public const float LOG2E = 1.442695f; public const float LOG10E = 0.4342945f; public const float LN2 = 0.6931472f; public const float LN10 = 2.3025851f; public const float PI = MathF.PI; public const float SQRT2 = 1.4142135f; public const float EPSILON = 1.1920929E-07f; public const float INFINITY = float.PositiveInfinity; public const float NAN = float.NaN; [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool x, bool y) { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool2 xy) { return new bool2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool v) { return new bool2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2 v) { return csum(select(uint2(2426570171u, 1561977301u), uint2(4205774813u, 1650214333u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2 v) { return select(uint2(3388112843u, 1831150513u), uint2(1848374953u, 3430200247u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool2 left, bool2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool2 a, bool2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool2 c0, bool2 c1) { return new bool2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool m00, bool m01, bool m10, bool m11) { return new bool2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool v) { return new bool2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 transpose(bool2x2 v) { return bool2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x2 v) { return csum(select(uint2(2062756937u, 2920485769u), uint2(1562056283u, 2265541847u), v.c0) + select(uint2(1283419601u, 1210229737u), uint2(2864955997u, 3525118277u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x2 v) { return select(uint2(2298260269u, 1632478733u), uint2(1537393931u, 2353355467u), v.c0) + select(uint2(3441847433u, 4052036147u), uint2(2011389559u, 2252224297u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool2 c0, bool2 c1, bool2 c2) { return new bool2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12) { return new bool2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool v) { return new bool2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 transpose(bool2x3 v) { return bool3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x3 v) { return csum(select(uint2(2078515003u, 4206465343u), uint2(3025146473u, 3763046909u), v.c0) + select(uint2(3678265601u, 2070747979u), uint2(1480171127u, 1588341193u), v.c1) + select(uint2(4234155257u, 1811310911u), uint2(2635799963u, 4165137857u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x3 v) { return select(uint2(2759770933u, 2759319383u), uint2(3299952959u, 3121178323u), v.c0) + select(uint2(2948522579u, 1531026433u), uint2(1365086453u, 3969870067u), v.c1) + select(uint2(4192899797u, 3271228601u), uint2(1634639009u, 3318036811u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool2 c0, bool2 c1, bool2 c2, bool2 c3) { return new bool2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13) { return new bool2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool v) { return new bool2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 transpose(bool2x4 v) { return bool4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x4 v) { return csum(select(uint2(1168253063u, 4228926523u), uint2(1610574617u, 1584185147u), v.c0) + select(uint2(3041325733u, 3150930919u), uint2(3309258581u, 1770373673u), v.c1) + select(uint2(3778261171u, 3286279097u), uint2(4264629071u, 1898591447u), v.c2) + select(uint2(2641864091u, 1229113913u), uint2(3020867117u, 1449055807u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x4 v) { return select(uint2(2479033387u, 3702457169u), uint2(1845824257u, 1963973621u), v.c0) + select(uint2(2134758553u, 1391111867u), uint2(1167706003u, 2209736489u), v.c1) + select(uint2(3261535807u, 1740411209u), uint2(2910609089u, 2183822701u), v.c2) + select(uint2(3029516053u, 3547472099u), uint2(2057487037u, 3781937309u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool x, bool y, bool z) { return new bool3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool x, bool2 yz) { return new bool3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool2 xy, bool z) { return new bool3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool3 xyz) { return new bool3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool v) { return new bool3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3 v) { return csum(select(uint3(2716413241u, 1166264321u, 2503385333u), uint3(2944493077u, 2599999021u, 3814721321u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3 v) { return select(uint3(1595355149u, 1728931849u, 2062756937u), uint3(2920485769u, 1562056283u, 2265541847u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool3 left, bool3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool3 a, bool3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool3 c0, bool3 c1) { return new bool3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21) { return new bool3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool v) { return new bool3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 transpose(bool3x2 v) { return bool2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x2 v) { return csum(select(uint3(2627668003u, 1520214331u, 2949502447u), uint3(2827819133u, 3480140317u, 2642994593u), v.c0) + select(uint3(3940484981u, 1954192763u, 1091696537u), uint3(3052428017u, 4253034763u, 2338696631u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x2 v) { return select(uint3(3757372771u, 1885959949u, 3508684087u), uint3(3919501043u, 1209161033u, 4007793211u), v.c0) + select(uint3(3819806693u, 3458005183u, 2078515003u), uint3(4206465343u, 3025146473u, 3763046909u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool3 c0, bool3 c1, bool3 c2) { return new bool3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22) { return new bool3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool v) { return new bool3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 transpose(bool3x3 v) { return bool3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x3 v) { return csum(select(uint3(3881277847u, 4017968839u, 1727237899u), uint3(1648514723u, 1385344481u, 3538260197u), v.c0) + select(uint3(4066109527u, 2613148903u, 3367528529u), uint3(1678332449u, 2918459647u, 2744611081u), v.c1) + select(uint3(1952372791u, 2631698677u, 4200781601u), uint3(2119021007u, 1760485621u, 3157985881u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x3 v) { return select(uint3(2171534173u, 2723054263u, 1168253063u), uint3(4228926523u, 1610574617u, 1584185147u), v.c0) + select(uint3(3041325733u, 3150930919u, 3309258581u), uint3(1770373673u, 3778261171u, 3286279097u), v.c1) + select(uint3(4264629071u, 1898591447u, 2641864091u), uint3(1229113913u, 3020867117u, 1449055807u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool3 c0, bool3 c1, bool3 c2, bool3 c3) { return new bool3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23) { return new bool3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool v) { return new bool3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 transpose(bool3x4 v) { return bool4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x4 v) { return csum(select(uint3(2209710647u, 2201894441u, 2849577407u), uint3(3287031191u, 3098675399u, 1564399943u), v.c0) + select(uint3(1148435377u, 3416333663u, 1750611407u), uint3(3285396193u, 3110507567u, 4271396531u), v.c1) + select(uint3(4198118021u, 2908068253u, 3705492289u), uint3(2497566569u, 2716413241u, 1166264321u), v.c2) + select(uint3(2503385333u, 2944493077u, 2599999021u), uint3(3814721321u, 1595355149u, 1728931849u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x4 v) { return select(uint3(2062756937u, 2920485769u, 1562056283u), uint3(2265541847u, 1283419601u, 1210229737u), v.c0) + select(uint3(2864955997u, 3525118277u, 2298260269u), uint3(1632478733u, 1537393931u, 2353355467u), v.c1) + select(uint3(3441847433u, 4052036147u, 2011389559u), uint3(2252224297u, 3784421429u, 1750626223u), v.c2) + select(uint3(3571447507u, 3412283213u, 2601761069u), uint3(1254033427u, 2248573027u, 3612677113u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool y, bool z, bool w) { return new bool4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool y, bool2 zw) { return new bool4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool2 yz, bool w) { return new bool4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool3 yzw) { return new bool4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool2 xy, bool z, bool w) { return new bool4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool2 xy, bool2 zw) { return new bool4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool3 xyz, bool w) { return new bool4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool4 xyzw) { return new bool4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool v) { return new bool4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4 v) { return csum(select(uint4(1610574617u, 1584185147u, 3041325733u, 3150930919u), uint4(3309258581u, 1770373673u, 3778261171u, 3286279097u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4 v) { return select(uint4(4264629071u, 1898591447u, 2641864091u, 1229113913u), uint4(3020867117u, 1449055807u, 2479033387u, 3702457169u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool4 left, bool4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool4 a, bool4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool4 c0, bool4 c1) { return new bool4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21, bool m30, bool m31) { return new bool4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool v) { return new bool4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 transpose(bool4x2 v) { return bool2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x2 v) { return csum(select(uint4(3516359879u, 3050356579u, 4178586719u, 2558655391u), uint4(1453413133u, 2152428077u, 1938706661u, 1338588197u), v.c0) + select(uint4(3439609253u, 3535343003u, 3546061613u, 2702024231u), uint4(1452124841u, 1966089551u, 2668168249u, 1587512777u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x2 v) { return select(uint4(2353831999u, 3101256173u, 2891822459u, 2837054189u), uint4(3016004371u, 4097481403u, 2229788699u, 2382715877u), v.c0) + select(uint4(1851936439u, 1938025801u, 3712598587u, 3956330501u), uint4(2437373431u, 1441286183u, 2426570171u, 1561977301u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool4 c0, bool4 c1, bool4 c2) { return new bool4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22, bool m30, bool m31, bool m32) { return new bool4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool v) { return new bool4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 transpose(bool4x3 v) { return bool3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x3 v) { return csum(select(uint4(3940484981u, 1954192763u, 1091696537u, 3052428017u), uint4(4253034763u, 2338696631u, 3757372771u, 1885959949u), v.c0) + select(uint4(3508684087u, 3919501043u, 1209161033u, 4007793211u), uint4(3819806693u, 3458005183u, 2078515003u, 4206465343u), v.c1) + select(uint4(3025146473u, 3763046909u, 3678265601u, 2070747979u), uint4(1480171127u, 1588341193u, 4234155257u, 1811310911u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x3 v) { return select(uint4(2635799963u, 4165137857u, 2759770933u, 2759319383u), uint4(3299952959u, 3121178323u, 2948522579u, 1531026433u), v.c0) + select(uint4(1365086453u, 3969870067u, 4192899797u, 3271228601u), uint4(1634639009u, 3318036811u, 3404170631u, 2048213449u), v.c1) + select(uint4(4164671783u, 1780759499u, 1352369353u, 2446407751u), uint4(1391928079u, 3475533443u, 3777095341u, 3385463369u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool4 c0, bool4 c1, bool4 c2, bool4 c3) { return new bool4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23, bool m30, bool m31, bool m32, bool m33) { return new bool4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool v) { return new bool4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 transpose(bool4x4 v) { return bool4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x4 v) { return csum(select(uint4(3516359879u, 3050356579u, 4178586719u, 2558655391u), uint4(1453413133u, 2152428077u, 1938706661u, 1338588197u), v.c0) + select(uint4(3439609253u, 3535343003u, 3546061613u, 2702024231u), uint4(1452124841u, 1966089551u, 2668168249u, 1587512777u), v.c1) + select(uint4(2353831999u, 3101256173u, 2891822459u, 2837054189u), uint4(3016004371u, 4097481403u, 2229788699u, 2382715877u), v.c2) + select(uint4(1851936439u, 1938025801u, 3712598587u, 3956330501u), uint4(2437373431u, 1441286183u, 2426570171u, 1561977301u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x4 v) { return select(uint4(4205774813u, 1650214333u, 3388112843u, 1831150513u), uint4(1848374953u, 3430200247u, 2209710647u, 2201894441u), v.c0) + select(uint4(2849577407u, 3287031191u, 3098675399u, 1564399943u), uint4(1148435377u, 3416333663u, 1750611407u, 3285396193u), v.c1) + select(uint4(3110507567u, 4271396531u, 4198118021u, 2908068253u), uint4(3705492289u, 2497566569u, 2716413241u, 1166264321u), v.c2) + select(uint4(2503385333u, 2944493077u, 2599999021u, 3814721321u), uint4(1595355149u, 1728931849u, 2062756937u, 2920485769u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double x, double y) { return new double2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double2 xy) { return new double2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(bool v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(bool2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(int v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(int2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(uint v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(uint2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(half v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(half2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(float v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(float2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double2 v) { return csum(fold_to_uint(v) * uint2(2503385333u, 2944493077u)) + 2599999021u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(double2 v) { return fold_to_uint(v) * uint2(3814721321u, 1595355149u) + 1728931849u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double shuffle(double2 left, double2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 shuffle(double2 left, double2 right, ShuffleComponent x, ShuffleComponent y) { return double2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 shuffle(double2 left, double2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return double3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 shuffle(double2 left, double2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return double4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double select_shuffle_component(double2 a, double2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(double2 c0, double2 c1) { return new double2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(double m00, double m01, double m10, double m11) { return new double2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(double v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(bool v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(bool2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(int v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(int2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(uint v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(uint2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(float v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 double2x2(float2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 transpose(double2x2 v) { return double2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 inverse(double2x2 m) { double x = m.c0.x; double x2 = m.c1.x; double y = m.c0.y; double y2 = m.c1.y; double num = x * y2 - x2 * y; return double2x2(y2, 0.0 - x2, 0.0 - y, x) * (1.0 / num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double determinant(double2x2 m) { double x = m.c0.x; double x2 = m.c1.x; double y = m.c0.y; double y2 = m.c1.y; return x * y2 - x2 * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double2x2 v) { return csum(fold_to_uint(v.c0) * uint2(4253034763u, 2338696631u) + fold_to_uint(v.c1) * uint2(3757372771u, 1885959949u)) + 3508684087u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(double2x2 v) { return fold_to_uint(v.c0) * uint2(3919501043u, 1209161033u) + fold_to_uint(v.c1) * uint2(4007793211u, 3819806693u) + 3458005183u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(double2 c0, double2 c1, double2 c2) { return new double2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(double m00, double m01, double m02, double m10, double m11, double m12) { return new double2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(double v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(bool v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(bool2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(int v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(int2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(uint v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(uint2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(float v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 double2x3(float2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 transpose(double2x3 v) { return double3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double2x3 v) { return csum(fold_to_uint(v.c0) * uint2(4066109527u, 2613148903u) + fold_to_uint(v.c1) * uint2(3367528529u, 1678332449u) + fold_to_uint(v.c2) * uint2(2918459647u, 2744611081u)) + 1952372791; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(double2x3 v) { return fold_to_uint(v.c0) * uint2(2631698677u, 4200781601u) + fold_to_uint(v.c1) * uint2(2119021007u, 1760485621u) + fold_to_uint(v.c2) * uint2(3157985881u, 2171534173u) + 2723054263u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(double2 c0, double2 c1, double2 c2, double2 c3) { return new double2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13) { return new double2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(double v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(bool v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(bool2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(int v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(int2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(uint v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(uint2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(float v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 double2x4(float2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 transpose(double2x4 v) { return double4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double2x4 v) { return csum(fold_to_uint(v.c0) * uint2(2437373431u, 1441286183u) + fold_to_uint(v.c1) * uint2(2426570171u, 1561977301u) + fold_to_uint(v.c2) * uint2(4205774813u, 1650214333u) + fold_to_uint(v.c3) * uint2(3388112843u, 1831150513u)) + 1848374953; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(double2x4 v) { return fold_to_uint(v.c0) * uint2(3430200247u, 2209710647u) + fold_to_uint(v.c1) * uint2(2201894441u, 2849577407u) + fold_to_uint(v.c2) * uint2(3287031191u, 3098675399u) + fold_to_uint(v.c3) * uint2(1564399943u, 1148435377u) + 3416333663u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(double x, double y, double z) { return new double3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(double x, double2 yz) { return new double3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(double2 xy, double z) { return new double3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(double3 xyz) { return new double3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(double v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(bool v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(bool3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(int v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(int3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(uint v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(uint3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(half v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(half3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(float v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 double3(float3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double3 v) { return csum(fold_to_uint(v) * uint3(2937008387u, 3835713223u, 2216526373u)) + 3375971453u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(double3 v) { return fold_to_uint(v) * uint3(3559829411u, 3652178029u, 2544260129u) + 2013864031u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double shuffle(double3 left, double3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 shuffle(double3 left, double3 right, ShuffleComponent x, ShuffleComponent y) { return double2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 shuffle(double3 left, double3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return double3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 shuffle(double3 left, double3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return double4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double select_shuffle_component(double3 a, double3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(double3 c0, double3 c1) { return new double3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(double m00, double m01, double m10, double m11, double m20, double m21) { return new double3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(double v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(bool v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(bool3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(int v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(int3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(uint v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(uint3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(float v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 double3x2(float3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 transpose(double3x2 v) { return double2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double3x2 v) { return csum(fold_to_uint(v.c0) * uint3(3996716183u, 2626301701u, 1306289417u) + fold_to_uint(v.c1) * uint3(2096137163u, 1548578029u, 4178800919u)) + 3898072289u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(double3x2 v) { return fold_to_uint(v.c0) * uint3(4129428421u, 2631575897u, 2854656703u) + fold_to_uint(v.c1) * uint3(3578504047u, 4245178297u, 2173281923u) + 2973357649u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(double3 c0, double3 c1, double3 c2) { return new double3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) { return new double3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(double v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(bool v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(bool3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(int v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(int3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(uint v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(uint3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(float v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 double3x3(float3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 transpose(double3x3 v) { return double3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } public static double3x3 inverse(double3x3 m) { double3 c = m.c0; double3 c2 = m.c1; double3 c3 = m.c2; double3 double5 = double3(c2.x, c3.x, c.x); double3 double6 = double3(c2.y, c3.y, c.y); double3 double7 = double3(c2.z, c3.z, c.z); double3 double8 = double6 * double7.yzx - double6.yzx * double7; double3 c4 = double5.yzx * double7 - double5 * double7.yzx; double3 c5 = double5 * double6.yzx - double5.yzx * double6; double num = 1.0 / csum(double5.zxy * double8); return double3x3(double8, c4, c5) * num; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double determinant(double3x3 m) { double3 c = m.c0; double3 c2 = m.c1; double3 c3 = m.c2; double num = c2.y * c3.z - c2.z * c3.y; double num2 = c.y * c3.z - c.z * c3.y; double num3 = c.y * c2.z - c.z * c2.y; return c.x * num - c2.x * num2 + c3.x * num3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double3x3 v) { return csum(fold_to_uint(v.c0) * uint3(2891822459u, 2837054189u, 3016004371u) + fold_to_uint(v.c1) * uint3(4097481403u, 2229788699u, 2382715877u) + fold_to_uint(v.c2) * uint3(1851936439u, 1938025801u, 3712598587u)) + 3956330501u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(double3x3 v) { return fold_to_uint(v.c0) * uint3(2437373431u, 1441286183u, 2426570171u) + fold_to_uint(v.c1) * uint3(1561977301u, 4205774813u, 1650214333u) + fold_to_uint(v.c2) * uint3(3388112843u, 1831150513u, 1848374953u) + 3430200247u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(double3 c0, double3 c1, double3 c2, double3 c3) { return new double3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23) { return new double3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(double v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(bool v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(bool3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(int v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(int3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(uint v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(uint3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(float v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 double3x4(float3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 transpose(double3x4 v) { return double4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } public static double3x4 fastinverse(double3x4 m) { double3 c = m.c0; double3 c2 = m.c1; double3 c3 = m.c2; double3 c4 = m.c3; double3 double5 = double3(c.x, c2.x, c3.x); double3 double6 = double3(c.y, c2.y, c3.y); double3 double7 = double3(c.z, c2.z, c3.z); c4 = -(double5 * c4.x + double6 * c4.y + double7 * c4.z); return double3x4(double5, double6, double7, c4); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double3x4 v) { return csum(fold_to_uint(v.c0) * uint3(3996716183u, 2626301701u, 1306289417u) + fold_to_uint(v.c1) * uint3(2096137163u, 1548578029u, 4178800919u) + fold_to_uint(v.c2) * uint3(3898072289u, 4129428421u, 2631575897u) + fold_to_uint(v.c3) * uint3(2854656703u, 3578504047u, 4245178297u)) + 2173281923u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(double3x4 v) { return fold_to_uint(v.c0) * uint3(2973357649u, 3881277847u, 4017968839u) + fold_to_uint(v.c1) * uint3(1727237899u, 1648514723u, 1385344481u) + fold_to_uint(v.c2) * uint3(3538260197u, 4066109527u, 2613148903u) + fold_to_uint(v.c3) * uint3(3367528529u, 1678332449u, 2918459647u) + 2744611081u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double x, double y, double z, double w) { return new double4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double x, double y, double2 zw) { return new double4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double x, double2 yz, double w) { return new double4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double x, double3 yzw) { return new double4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double2 xy, double z, double w) { return new double4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double2 xy, double2 zw) { return new double4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double3 xyz, double w) { return new double4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double4 xyzw) { return new double4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(double v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(bool v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(bool4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(int v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(int4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(uint v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(uint4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(half v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(half4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(float v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 double4(float4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double4 v) { return csum(fold_to_uint(v) * uint4(2669441947u, 1260114311u, 2650080659u, 4052675461u)) + 2652487619u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(double4 v) { return fold_to_uint(v) * uint4(2174136431u, 3528391193u, 2105559227u, 1899745391u) + 1966790317u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double shuffle(double4 left, double4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 shuffle(double4 left, double4 right, ShuffleComponent x, ShuffleComponent y) { return double2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 shuffle(double4 left, double4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return double3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 shuffle(double4 left, double4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return double4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double select_shuffle_component(double4 a, double4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(double4 c0, double4 c1) { return new double4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(double m00, double m01, double m10, double m11, double m20, double m21, double m30, double m31) { return new double4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(double v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(bool v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(bool4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(int v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(int4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(uint v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(uint4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(float v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 double4x2(float4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 transpose(double4x2 v) { return double2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double4x2 v) { return csum(fold_to_uint(v.c0) * uint4(1521739981u, 1735296007u, 3010324327u, 1875523709u) + fold_to_uint(v.c1) * uint4(2937008387u, 3835713223u, 2216526373u, 3375971453u)) + 3559829411u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(double4x2 v) { return fold_to_uint(v.c0) * uint4(3652178029u, 2544260129u, 2013864031u, 2627668003u) + fold_to_uint(v.c1) * uint4(1520214331u, 2949502447u, 2827819133u, 3480140317u) + 2642994593u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(double4 c0, double4 c1, double4 c2) { return new double4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22, double m30, double m31, double m32) { return new double4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(double v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(bool v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(bool4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(int v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(int4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(uint v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(uint4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(float v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 double4x3(float4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 transpose(double4x3 v) { return double3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double4x3 v) { return csum(fold_to_uint(v.c0) * uint4(2057338067u, 2942577577u, 2834440507u, 2671762487u) + fold_to_uint(v.c1) * uint4(2892026051u, 2455987759u, 3868600063u, 3170963179u) + fold_to_uint(v.c2) * uint4(2632835537u, 1136528209u, 2944626401u, 2972762423u)) + 1417889653; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(double4x3 v) { return fold_to_uint(v.c0) * uint4(2080514593u, 2731544287u, 2828498809u, 2669441947u) + fold_to_uint(v.c1) * uint4(1260114311u, 2650080659u, 4052675461u, 2652487619u) + fold_to_uint(v.c2) * uint4(2174136431u, 3528391193u, 2105559227u, 1899745391u) + 1966790317u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(double4 c0, double4 c1, double4 c2, double4 c3) { return new double4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33) { return new double4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(double v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(bool v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(bool4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(int v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(int4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(uint v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(uint4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(float v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 double4x4(float4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 rotate(double4x4 a, double3 b) { return (a.c0 * b.x + a.c1 * b.y + a.c2 * b.z).xyz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 transform(double4x4 a, double3 b) { return (a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3).xyz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 transpose(double4x4 v) { return double4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } public static double4x4 inverse(double4x4 m) { double4 c = m.c0; double4 c2 = m.c1; double4 c3 = m.c2; double4 c4 = m.c3; double4 double5 = movelh(c2, c); double4 double6 = movelh(c3, c4); double4 double7 = movehl(c, c2); double4 double8 = movehl(c4, c3); double4 double9 = shuffle(c2, c, ShuffleComponent.LeftY, ShuffleComponent.LeftZ, ShuffleComponent.RightY, ShuffleComponent.RightZ); double4 double10 = shuffle(c3, c4, ShuffleComponent.LeftY, ShuffleComponent.LeftZ, ShuffleComponent.RightY, ShuffleComponent.RightZ); double4 double11 = shuffle(c2, c, ShuffleComponent.LeftW, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightX); double4 double12 = shuffle(c3, c4, ShuffleComponent.LeftW, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightX); double4 double13 = shuffle(double6, double5, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); double4 double14 = shuffle(double6, double5, ShuffleComponent.LeftW, ShuffleComponent.LeftY, ShuffleComponent.RightY, ShuffleComponent.RightW); double4 double15 = shuffle(double8, double7, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); double4 double16 = shuffle(double8, double7, ShuffleComponent.LeftW, ShuffleComponent.LeftY, ShuffleComponent.RightY, ShuffleComponent.RightW); double4 double17 = shuffle(double5, double6, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); double4 double18 = double9 * double8 - double10 * double7; double4 double19 = double5 * double8 - double6 * double7; double4 double20 = double12 * double5 - double11 * double6; double4 double21 = shuffle(double18, double18, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); double4 double22 = shuffle(double18, double18, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); double4 double23 = shuffle(double19, double19, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); double4 double24 = shuffle(double19, double19, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); double4 double25 = double16 * double21 - double15 * double24 + double14 * double22; double4 double26 = double17 * double25; double26 += shuffle(double26, double26, ShuffleComponent.LeftY, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightZ); double26 -= shuffle(double26, double26, ShuffleComponent.LeftZ, ShuffleComponent.LeftZ, ShuffleComponent.RightX, ShuffleComponent.RightX); double4 double27 = double4(1.0) / double26; double4x4 result = default(double4x4); result.c0 = double25 * double27; double4 double28 = shuffle(double20, double20, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); double4 double29 = shuffle(double20, double20, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); double4 double30 = double15 * double28 - double13 * double22 - double16 * double23; result.c1 = double30 * double27; double4 double31 = double13 * double24 - double14 * double28 - double16 * double29; result.c2 = double31 * double27; double4 double32 = double14 * double23 - double13 * double21 + double15 * double29; result.c3 = double32 * double27; return result; } public static double4x4 fastinverse(double4x4 m) { double4 c = m.c0; double4 c2 = m.c1; double4 c3 = m.c2; double4 c4 = m.c3; double4 b = double4(0); double4 a = unpacklo(c, c3); double4 b2 = unpacklo(c2, b); double4 a2 = unpackhi(c, c3); double4 b3 = unpackhi(c2, b); double4 double5 = unpacklo(a, b2); double4 double6 = unpackhi(a, b2); double4 double7 = unpacklo(a2, b3); c4 = -(double5 * c4.x + double6 * c4.y + double7 * c4.z); c4.w = 1.0; return double4x4(double5, double6, double7, c4); } public static double determinant(double4x4 m) { double4 c = m.c0; double4 c2 = m.c1; double4 c3 = m.c2; double4 c4 = m.c3; double num = c2.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c2.z * c4.w - c2.w * c4.z) + c4.y * (c2.z * c3.w - c2.w * c3.z); double num2 = c.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c3.w - c.w * c3.z); double num3 = c.y * (c2.z * c4.w - c2.w * c4.z) - c2.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c2.w - c.w * c2.z); double num4 = c.y * (c2.z * c3.w - c2.w * c3.z) - c2.y * (c.z * c3.w - c.w * c3.z) + c3.y * (c.z * c2.w - c.w * c2.z); return c.x * num - c2.x * num2 + c3.x * num3 - c4.x * num4; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double4x4 v) { return csum(fold_to_uint(v.c0) * uint4(1306289417u, 2096137163u, 1548578029u, 4178800919u) + fold_to_uint(v.c1) * uint4(3898072289u, 4129428421u, 2631575897u, 2854656703u) + fold_to_uint(v.c2) * uint4(3578504047u, 4245178297u, 2173281923u, 2973357649u) + fold_to_uint(v.c3) * uint4(3881277847u, 4017968839u, 1727237899u, 1648514723u)) + 1385344481; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(double4x4 v) { return fold_to_uint(v.c0) * uint4(3538260197u, 4066109527u, 2613148903u, 3367528529u) + fold_to_uint(v.c1) * uint4(1678332449u, 2918459647u, 2744611081u, 1952372791u) + fold_to_uint(v.c2) * uint4(2631698677u, 4200781601u, 2119021007u, 1760485621u) + fold_to_uint(v.c3) * uint4(3157985881u, 2171534173u, 2723054263u, 1168253063u) + 4228926523u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(float x, float y) { return new float2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(float2 xy) { return new float2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(float v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(bool v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(bool2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(int v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(int2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(uint v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(uint2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(half v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(half2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(double v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 float2(double2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float2 v) { return csum(asuint(v) * uint2(4198118021u, 2908068253u)) + 3705492289u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(float2 v) { return asuint(v) * uint2(2497566569u, 2716413241u) + 1166264321u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float shuffle(float2 left, float2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 shuffle(float2 left, float2 right, ShuffleComponent x, ShuffleComponent y) { return float2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 shuffle(float2 left, float2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return float3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 shuffle(float2 left, float2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return float4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float select_shuffle_component(float2 a, float2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(float2 c0, float2 c1) { return new float2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(float m00, float m01, float m10, float m11) { return new float2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(float v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(bool v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(bool2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(int v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(int2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(uint v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(uint2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(double v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 float2x2(double2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 transpose(float2x2 v) { return float2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 inverse(float2x2 m) { float x = m.c0.x; float x2 = m.c1.x; float y = m.c0.y; float y2 = m.c1.y; float num = x * y2 - x2 * y; return float2x2(y2, 0f - x2, 0f - y, x) * (1f / num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float determinant(float2x2 m) { float x = m.c0.x; float x2 = m.c1.x; float y = m.c0.y; float y2 = m.c1.y; return x * y2 - x2 * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float2x2 v) { return csum(asuint(v.c0) * uint2(2627668003u, 1520214331u) + asuint(v.c1) * uint2(2949502447u, 2827819133u)) + 3480140317u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(float2x2 v) { return asuint(v.c0) * uint2(2642994593u, 3940484981u) + asuint(v.c1) * uint2(1954192763u, 1091696537u) + 3052428017u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(float2 c0, float2 c1, float2 c2) { return new float2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(float m00, float m01, float m02, float m10, float m11, float m12) { return new float2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(float v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(bool v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(bool2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(int v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(int2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(uint v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(uint2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(double v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 float2x3(double2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 transpose(float2x3 v) { return float3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float2x3 v) { return csum(asuint(v.c0) * uint2(3898072289u, 4129428421u) + asuint(v.c1) * uint2(2631575897u, 2854656703u) + asuint(v.c2) * uint2(3578504047u, 4245178297u)) + 2173281923u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(float2x3 v) { return asuint(v.c0) * uint2(2973357649u, 3881277847u) + asuint(v.c1) * uint2(4017968839u, 1727237899u) + asuint(v.c2) * uint2(1648514723u, 1385344481u) + 3538260197u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(float2 c0, float2 c1, float2 c2, float2 c3) { return new float2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13) { return new float2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(float v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(bool v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(bool2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(int v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(int2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(uint v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(uint2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(double v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 float2x4(double2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 transpose(float2x4 v) { return float4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float2x4 v) { return csum(asuint(v.c0) * uint2(3546061613u, 2702024231u) + asuint(v.c1) * uint2(1452124841u, 1966089551u) + asuint(v.c2) * uint2(2668168249u, 1587512777u) + asuint(v.c3) * uint2(2353831999u, 3101256173u)) + 2891822459u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(float2x4 v) { return asuint(v.c0) * uint2(2837054189u, 3016004371u) + asuint(v.c1) * uint2(4097481403u, 2229788699u) + asuint(v.c2) * uint2(2382715877u, 1851936439u) + asuint(v.c3) * uint2(1938025801u, 3712598587u) + 3956330501u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(float x, float y, float z) { return new float3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(float x, float2 yz) { return new float3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(float2 xy, float z) { return new float3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(float3 xyz) { return new float3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(float v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(bool v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(bool3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(int v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(int3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(uint v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(uint3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(half v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(half3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(double v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 float3(double3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float3 v) { return csum(asuint(v) * uint3(2601761069u, 1254033427u, 2248573027u)) + 3612677113u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(float3 v) { return asuint(v) * uint3(1521739981u, 1735296007u, 3010324327u) + 1875523709u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float shuffle(float3 left, float3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 shuffle(float3 left, float3 right, ShuffleComponent x, ShuffleComponent y) { return float2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 shuffle(float3 left, float3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return float3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 shuffle(float3 left, float3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return float4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float select_shuffle_component(float3 a, float3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(float3 c0, float3 c1) { return new float3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(float m00, float m01, float m10, float m11, float m20, float m21) { return new float3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(float v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(bool v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(bool3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(int v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(int3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(uint v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(uint3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(double v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 float3x2(double3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 transpose(float3x2 v) { return float2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float3x2 v) { return csum(asuint(v.c0) * uint3(3777095341u, 3385463369u, 1773538433u) + asuint(v.c1) * uint3(3773525029u, 4131962539u, 1809525511u)) + 4016293529u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(float3x2 v) { return asuint(v.c0) * uint3(2416021567u, 2828384717u, 2636362241u) + asuint(v.c1) * uint3(1258410977u, 1952565773u, 2037535609u) + 3592785499u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(float3 c0, float3 c1, float3 c2) { return new float3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22) { return new float3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(float v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(bool v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(bool3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(int v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(int3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(uint v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(uint3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(double v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(double3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 transpose(float3x3 v) { return float3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } public static float3x3 inverse(float3x3 m) { float3 c = m.c0; float3 c2 = m.c1; float3 c3 = m.c2; float3 float5 = float3(c2.x, c3.x, c.x); float3 float6 = float3(c2.y, c3.y, c.y); float3 float7 = float3(c2.z, c3.z, c.z); float3 float8 = float6 * float7.yzx - float6.yzx * float7; float3 c4 = float5.yzx * float7 - float5 * float7.yzx; float3 c5 = float5 * float6.yzx - float5.yzx * float6; float num = 1f / csum(float5.zxy * float8); return float3x3(float8, c4, c5) * num; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float determinant(float3x3 m) { float3 c = m.c0; float3 c2 = m.c1; float3 c3 = m.c2; float num = c2.y * c3.z - c2.z * c3.y; float num2 = c.y * c3.z - c.z * c3.y; float num3 = c.y * c2.z - c.z * c2.y; return c.x * num - c2.x * num2 + c3.x * num3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float3x3 v) { return csum(asuint(v.c0) * uint3(1899745391u, 1966790317u, 3516359879u) + asuint(v.c1) * uint3(3050356579u, 4178586719u, 2558655391u) + asuint(v.c2) * uint3(1453413133u, 2152428077u, 1938706661u)) + 1338588197; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(float3x3 v) { return asuint(v.c0) * uint3(3439609253u, 3535343003u, 3546061613u) + asuint(v.c1) * uint3(2702024231u, 1452124841u, 1966089551u) + asuint(v.c2) * uint3(2668168249u, 1587512777u, 2353831999u) + 3101256173u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(float3 c0, float3 c1, float3 c2, float3 c3) { return new float3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23) { return new float3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(float v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(bool v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(bool3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(int v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(int3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(uint v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(uint3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(double v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 float3x4(double3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 transpose(float3x4 v) { return float4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } public static float3x4 fastinverse(float3x4 m) { float3 c = m.c0; float3 c2 = m.c1; float3 c3 = m.c2; float3 c4 = m.c3; float3 float5 = float3(c.x, c2.x, c3.x); float3 float6 = float3(c.y, c2.y, c3.y); float3 float7 = float3(c.z, c2.z, c3.z); c4 = -(float5 * c4.x + float6 * c4.y + float7 * c4.z); return float3x4(float5, float6, float7, c4); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float3x4 v) { return csum(asuint(v.c0) * uint3(4192899797u, 3271228601u, 1634639009u) + asuint(v.c1) * uint3(3318036811u, 3404170631u, 2048213449u) + asuint(v.c2) * uint3(4164671783u, 1780759499u, 1352369353u) + asuint(v.c3) * uint3(2446407751u, 1391928079u, 3475533443u)) + 3777095341u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(float3x4 v) { return asuint(v.c0) * uint3(3385463369u, 1773538433u, 3773525029u) + asuint(v.c1) * uint3(4131962539u, 1809525511u, 4016293529u) + asuint(v.c2) * uint3(2416021567u, 2828384717u, 2636362241u) + asuint(v.c3) * uint3(1258410977u, 1952565773u, 2037535609u) + 3592785499u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float x, float y, float z, float w) { return new float4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float x, float y, float2 zw) { return new float4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float x, float2 yz, float w) { return new float4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float x, float3 yzw) { return new float4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float2 xy, float z, float w) { return new float4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float2 xy, float2 zw) { return new float4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float3 xyz, float w) { return new float4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float4 xyzw) { return new float4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(float v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(bool v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(bool4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(int v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(int4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(uint v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(uint4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(half v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(half4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(double v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 float4(double4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float4 v) { return csum(asuint(v) * uint4(3868600063u, 3170963179u, 2632835537u, 1136528209u)) + 2944626401u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(float4 v) { return asuint(v) * uint4(2972762423u, 1417889653u, 2080514593u, 2731544287u) + 2828498809u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float shuffle(float4 left, float4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 shuffle(float4 left, float4 right, ShuffleComponent x, ShuffleComponent y) { return float2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 shuffle(float4 left, float4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return float3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 shuffle(float4 left, float4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return float4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float select_shuffle_component(float4 a, float4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(float4 c0, float4 c1) { return new float4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(float m00, float m01, float m10, float m11, float m20, float m21, float m30, float m31) { return new float4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(float v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(bool v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(bool4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(int v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(int4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(uint v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(uint4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(double v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 float4x2(double4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 transpose(float4x2 v) { return float2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float4x2 v) { return csum(asuint(v.c0) * uint4(2864955997u, 3525118277u, 2298260269u, 1632478733u) + asuint(v.c1) * uint4(1537393931u, 2353355467u, 3441847433u, 4052036147u)) + 2011389559; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(float4x2 v) { return asuint(v.c0) * uint4(2252224297u, 3784421429u, 1750626223u, 3571447507u) + asuint(v.c1) * uint4(3412283213u, 2601761069u, 1254033427u, 2248573027u) + 3612677113u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(float4 c0, float4 c1, float4 c2) { return new float4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22, float m30, float m31, float m32) { return new float4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(float v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(bool v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(bool4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(int v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(int4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(uint v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(uint4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(double v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 float4x3(double4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 transpose(float4x3 v) { return float3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float4x3 v) { return csum(asuint(v.c0) * uint4(3309258581u, 1770373673u, 3778261171u, 3286279097u) + asuint(v.c1) * uint4(4264629071u, 1898591447u, 2641864091u, 1229113913u) + asuint(v.c2) * uint4(3020867117u, 1449055807u, 2479033387u, 3702457169u)) + 1845824257; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(float4x3 v) { return asuint(v.c0) * uint4(1963973621u, 2134758553u, 1391111867u, 1167706003u) + asuint(v.c1) * uint4(2209736489u, 3261535807u, 1740411209u, 2910609089u) + asuint(v.c2) * uint4(2183822701u, 3029516053u, 3547472099u, 2057487037u) + 3781937309u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(float4 c0, float4 c1, float4 c2, float4 c3) { return new float4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) { return new float4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(float v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(bool v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(bool4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(int v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(int4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(uint v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(uint4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(double v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(double4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 rotate(float4x4 a, float3 b) { return (a.c0 * b.x + a.c1 * b.y + a.c2 * b.z).xyz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 transform(float4x4 a, float3 b) { return (a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3).xyz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 transpose(float4x4 v) { return float4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } public static float4x4 inverse(float4x4 m) { float4 c = m.c0; float4 c2 = m.c1; float4 c3 = m.c2; float4 c4 = m.c3; float4 float5 = movelh(c2, c); float4 float6 = movelh(c3, c4); float4 float7 = movehl(c, c2); float4 float8 = movehl(c4, c3); float4 float9 = shuffle(c2, c, ShuffleComponent.LeftY, ShuffleComponent.LeftZ, ShuffleComponent.RightY, ShuffleComponent.RightZ); float4 float10 = shuffle(c3, c4, ShuffleComponent.LeftY, ShuffleComponent.LeftZ, ShuffleComponent.RightY, ShuffleComponent.RightZ); float4 float11 = shuffle(c2, c, ShuffleComponent.LeftW, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightX); float4 float12 = shuffle(c3, c4, ShuffleComponent.LeftW, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightX); float4 float13 = shuffle(float6, float5, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); float4 float14 = shuffle(float6, float5, ShuffleComponent.LeftW, ShuffleComponent.LeftY, ShuffleComponent.RightY, ShuffleComponent.RightW); float4 float15 = shuffle(float8, float7, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); float4 float16 = shuffle(float8, float7, ShuffleComponent.LeftW, ShuffleComponent.LeftY, ShuffleComponent.RightY, ShuffleComponent.RightW); float4 float17 = shuffle(float5, float6, ShuffleComponent.LeftZ, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.RightZ); float4 float18 = float9 * float8 - float10 * float7; float4 float19 = float5 * float8 - float6 * float7; float4 float20 = float12 * float5 - float11 * float6; float4 float21 = shuffle(float18, float18, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); float4 float22 = shuffle(float18, float18, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); float4 float23 = shuffle(float19, float19, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); float4 float24 = shuffle(float19, float19, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); float4 float25 = float16 * float21 - float15 * float24 + float14 * float22; float4 float26 = float17 * float25; float26 += shuffle(float26, float26, ShuffleComponent.LeftY, ShuffleComponent.LeftX, ShuffleComponent.RightW, ShuffleComponent.RightZ); float26 -= shuffle(float26, float26, ShuffleComponent.LeftZ, ShuffleComponent.LeftZ, ShuffleComponent.RightX, ShuffleComponent.RightX); float4 float27 = float4(1f) / float26; float4x4 result = default(float4x4); result.c0 = float25 * float27; float4 float28 = shuffle(float20, float20, ShuffleComponent.LeftX, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.RightX); float4 float29 = shuffle(float20, float20, ShuffleComponent.LeftY, ShuffleComponent.LeftW, ShuffleComponent.RightW, ShuffleComponent.RightY); float4 float30 = float15 * float28 - float13 * float22 - float16 * float23; result.c1 = float30 * float27; float4 float31 = float13 * float24 - float14 * float28 - float16 * float29; result.c2 = float31 * float27; float4 float32 = float14 * float23 - float13 * float21 + float15 * float29; result.c3 = float32 * float27; return result; } public static float4x4 fastinverse(float4x4 m) { float4 c = m.c0; float4 c2 = m.c1; float4 c3 = m.c2; float4 c4 = m.c3; float4 b = float4(0); float4 a = unpacklo(c, c3); float4 b2 = unpacklo(c2, b); float4 a2 = unpackhi(c, c3); float4 b3 = unpackhi(c2, b); float4 float5 = unpacklo(a, b2); float4 float6 = unpackhi(a, b2); float4 float7 = unpacklo(a2, b3); c4 = -(float5 * c4.x + float6 * c4.y + float7 * c4.z); c4.w = 1f; return float4x4(float5, float6, float7, c4); } public static float determinant(float4x4 m) { float4 c = m.c0; float4 c2 = m.c1; float4 c3 = m.c2; float4 c4 = m.c3; float num = c2.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c2.z * c4.w - c2.w * c4.z) + c4.y * (c2.z * c3.w - c2.w * c3.z); float num2 = c.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c3.w - c.w * c3.z); float num3 = c.y * (c2.z * c4.w - c2.w * c4.z) - c2.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c2.w - c.w * c2.z); float num4 = c.y * (c2.z * c3.w - c2.w * c3.z) - c2.y * (c.z * c3.w - c.w * c3.z) + c3.y * (c.z * c2.w - c.w * c2.z); return c.x * num - c2.x * num2 + c3.x * num3 - c4.x * num4; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(float4x4 v) { return csum(asuint(v.c0) * uint4(3299952959u, 3121178323u, 2948522579u, 1531026433u) + asuint(v.c1) * uint4(1365086453u, 3969870067u, 4192899797u, 3271228601u) + asuint(v.c2) * uint4(1634639009u, 3318036811u, 3404170631u, 2048213449u) + asuint(v.c3) * uint4(4164671783u, 1780759499u, 1352369353u, 2446407751u)) + 1391928079; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(float4x4 v) { return asuint(v.c0) * uint4(3475533443u, 3777095341u, 3385463369u, 1773538433u) + asuint(v.c1) * uint4(3773525029u, 4131962539u, 1809525511u, 4016293529u) + asuint(v.c2) * uint4(2416021567u, 2828384717u, 2636362241u, 1258410977u) + asuint(v.c3) * uint4(1952565773u, 2037535609u, 3592785499u, 3996716183u) + 2626301701u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half half(half x) { return new half(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half half(float v) { return new half(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half half(double v) { return new half(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(half v) { return (uint)(v.value * 1952372791 + -2123433123); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(half x, half y) { return new half2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(half2 xy) { return new half2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(half v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(float v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(float2 v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(double v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half2 half2(double2 v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(half2 v) { return csum(uint2(v.x.value, v.y.value) * uint2(1851936439u, 1938025801u)) + 3712598587u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(half2 v) { return uint2(v.x.value, v.y.value) * uint2(3956330501u, 2437373431u) + 1441286183u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(half x, half y, half z) { return new half3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(half x, half2 yz) { return new half3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(half2 xy, half z) { return new half3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(half3 xyz) { return new half3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(half v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(float v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(float3 v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(double v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half3 half3(double3 v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(half3 v) { return csum(uint3(v.x.value, v.y.value, v.z.value) * uint3(1750611407u, 3285396193u, 3110507567u)) + 4271396531u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(half3 v) { return uint3(v.x.value, v.y.value, v.z.value) * uint3(4198118021u, 2908068253u, 3705492289u) + 2497566569u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half x, half y, half z, half w) { return new half4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half x, half y, half2 zw) { return new half4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half x, half2 yz, half w) { return new half4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half x, half3 yzw) { return new half4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half2 xy, half z, half w) { return new half4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half2 xy, half2 zw) { return new half4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half3 xyz, half w) { return new half4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half4 xyzw) { return new half4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(half v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(float v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(float4 v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(double v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static half4 half4(double4 v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(half4 v) { return csum(uint4(v.x.value, v.y.value, v.z.value, v.w.value) * uint4(1952372791u, 2631698677u, 4200781601u, 2119021007u)) + 1760485621; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(half4 v) { return uint4(v.x.value, v.y.value, v.z.value, v.w.value) * uint4(3157985881u, 2171534173u, 2723054263u, 1168253063u) + 4228926523u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(int x, int y) { return new int2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(int2 xy) { return new int2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(int v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(bool v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(bool2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(uint v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(uint2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(float v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(float2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(double v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 int2(double2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int2 v) { return csum(asuint(v) * uint2(2209710647u, 2201894441u)) + 2849577407u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(int2 v) { return asuint(v) * uint2(3287031191u, 3098675399u) + 1564399943u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int shuffle(int2 left, int2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 shuffle(int2 left, int2 right, ShuffleComponent x, ShuffleComponent y) { return int2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 shuffle(int2 left, int2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return int3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 shuffle(int2 left, int2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return int4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static int select_shuffle_component(int2 a, int2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(int2 c0, int2 c1) { return new int2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(int m00, int m01, int m10, int m11) { return new int2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(int v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(bool v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(bool2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(uint v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(uint2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(float v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(float2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(double v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 int2x2(double2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 transpose(int2x2 v) { return int2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int determinant(int2x2 m) { int x = m.c0.x; int x2 = m.c1.x; int y = m.c0.y; int y2 = m.c1.y; return x * y2 - x2 * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int2x2 v) { return csum(asuint(v.c0) * uint2(3784421429u, 1750626223u) + asuint(v.c1) * uint2(3571447507u, 3412283213u)) + 2601761069u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(int2x2 v) { return asuint(v.c0) * uint2(1254033427u, 2248573027u) + asuint(v.c1) * uint2(3612677113u, 1521739981u) + 1735296007u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(int2 c0, int2 c1, int2 c2) { return new int2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(int m00, int m01, int m02, int m10, int m11, int m12) { return new int2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(int v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(bool v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(bool2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(uint v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(uint2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(float v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(float2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(double v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 int2x3(double2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 transpose(int2x3 v) { return int3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int2x3 v) { return csum(asuint(v.c0) * uint2(3404170631u, 2048213449u) + asuint(v.c1) * uint2(4164671783u, 1780759499u) + asuint(v.c2) * uint2(1352369353u, 2446407751u)) + 1391928079; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(int2x3 v) { return asuint(v.c0) * uint2(3475533443u, 3777095341u) + asuint(v.c1) * uint2(3385463369u, 1773538433u) + asuint(v.c2) * uint2(3773525029u, 4131962539u) + 1809525511u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(int2 c0, int2 c1, int2 c2, int2 c3) { return new int2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13) { return new int2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(int v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(bool v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(bool2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(uint v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(uint2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(float v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(float2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(double v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 int2x4(double2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 transpose(int2x4 v) { return int4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int2x4 v) { return csum(asuint(v.c0) * uint2(2057338067u, 2942577577u) + asuint(v.c1) * uint2(2834440507u, 2671762487u) + asuint(v.c2) * uint2(2892026051u, 2455987759u) + asuint(v.c3) * uint2(3868600063u, 3170963179u)) + 2632835537u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(int2x4 v) { return asuint(v.c0) * uint2(1136528209u, 2944626401u) + asuint(v.c1) * uint2(2972762423u, 1417889653u) + asuint(v.c2) * uint2(2080514593u, 2731544287u) + asuint(v.c3) * uint2(2828498809u, 2669441947u) + 1260114311u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(int x, int y, int z) { return new int3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(int x, int2 yz) { return new int3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(int2 xy, int z) { return new int3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(int3 xyz) { return new int3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(int v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(bool v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(bool3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(uint v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(uint3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(float v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(float3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(double v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 int3(double3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int3 v) { return csum(asuint(v) * uint3(1283419601u, 1210229737u, 2864955997u)) + 3525118277u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(int3 v) { return asuint(v) * uint3(2298260269u, 1632478733u, 1537393931u) + 2353355467u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int shuffle(int3 left, int3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y) { return int2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return int3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return int4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static int select_shuffle_component(int3 a, int3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(int3 c0, int3 c1) { return new int3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(int m00, int m01, int m10, int m11, int m20, int m21) { return new int3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(int v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(bool v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(bool3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(uint v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(uint3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(float v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(float3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(double v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 int3x2(double3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 transpose(int3x2 v) { return int2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int3x2 v) { return csum(asuint(v.c0) * uint3(3678265601u, 2070747979u, 1480171127u) + asuint(v.c1) * uint3(1588341193u, 4234155257u, 1811310911u)) + 2635799963u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(int3x2 v) { return asuint(v.c0) * uint3(4165137857u, 2759770933u, 2759319383u) + asuint(v.c1) * uint3(3299952959u, 3121178323u, 2948522579u) + 1531026433u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(int3 c0, int3 c1, int3 c2) { return new int3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(int m00, int m01, int m02, int m10, int m11, int m12, int m20, int m21, int m22) { return new int3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(int v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(bool v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(bool3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(uint v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(uint3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(float v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(float3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(double v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 int3x3(double3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 transpose(int3x3 v) { return int3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int determinant(int3x3 m) { int3 c = m.c0; int3 c2 = m.c1; int3 c3 = m.c2; int num = c2.y * c3.z - c2.z * c3.y; int num2 = c.y * c3.z - c.z * c3.y; int num3 = c.y * c2.z - c.z * c2.y; return c.x * num - c2.x * num2 + c3.x * num3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int3x3 v) { return csum(asuint(v.c0) * uint3(2479033387u, 3702457169u, 1845824257u) + asuint(v.c1) * uint3(1963973621u, 2134758553u, 1391111867u) + asuint(v.c2) * uint3(1167706003u, 2209736489u, 3261535807u)) + 1740411209; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(int3x3 v) { return asuint(v.c0) * uint3(2910609089u, 2183822701u, 3029516053u) + asuint(v.c1) * uint3(3547472099u, 2057487037u, 3781937309u) + asuint(v.c2) * uint3(2057338067u, 2942577577u, 2834440507u) + 2671762487u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(int3 c0, int3 c1, int3 c2, int3 c3) { return new int3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13, int m20, int m21, int m22, int m23) { return new int3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(int v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(bool v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(bool3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(uint v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(uint3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(float v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(float3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(double v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 int3x4(double3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 transpose(int3x4 v) { return int4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int3x4 v) { return csum(asuint(v.c0) * uint3(1521739981u, 1735296007u, 3010324327u) + asuint(v.c1) * uint3(1875523709u, 2937008387u, 3835713223u) + asuint(v.c2) * uint3(2216526373u, 3375971453u, 3559829411u) + asuint(v.c3) * uint3(3652178029u, 2544260129u, 2013864031u)) + 2627668003u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(int3x4 v) { return asuint(v.c0) * uint3(1520214331u, 2949502447u, 2827819133u) + asuint(v.c1) * uint3(3480140317u, 2642994593u, 3940484981u) + asuint(v.c2) * uint3(1954192763u, 1091696537u, 3052428017u) + asuint(v.c3) * uint3(4253034763u, 2338696631u, 3757372771u) + 1885959949u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int x, int y, int z, int w) { return new int4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int x, int y, int2 zw) { return new int4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int x, int2 yz, int w) { return new int4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int x, int3 yzw) { return new int4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int2 xy, int z, int w) { return new int4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int2 xy, int2 zw) { return new int4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int3 xyz, int w) { return new int4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int4 xyzw) { return new int4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(int v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(bool v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(bool4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(uint v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(uint4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(float v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(float4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(double v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 int4(double4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int4 v) { return csum(asuint(v) * uint4(1845824257u, 1963973621u, 2134758553u, 1391111867u)) + 1167706003; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(int4 v) { return asuint(v) * uint4(2209736489u, 3261535807u, 1740411209u, 2910609089u) + 2183822701u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int shuffle(int4 left, int4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 shuffle(int4 left, int4 right, ShuffleComponent x, ShuffleComponent y) { return int2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 shuffle(int4 left, int4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return int3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 shuffle(int4 left, int4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return int4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static int select_shuffle_component(int4 a, int4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(int4 c0, int4 c1) { return new int4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(int m00, int m01, int m10, int m11, int m20, int m21, int m30, int m31) { return new int4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(int v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(bool v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(bool4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(uint v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(uint4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(float v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(float4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(double v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 int4x2(double4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 transpose(int4x2 v) { return int2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int4x2 v) { return csum(asuint(v.c0) * uint4(4205774813u, 1650214333u, 3388112843u, 1831150513u) + asuint(v.c1) * uint4(1848374953u, 3430200247u, 2209710647u, 2201894441u)) + 2849577407u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(int4x2 v) { return asuint(v.c0) * uint4(3287031191u, 3098675399u, 1564399943u, 1148435377u) + asuint(v.c1) * uint4(3416333663u, 1750611407u, 3285396193u, 3110507567u) + 4271396531u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(int4 c0, int4 c1, int4 c2) { return new int4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(int m00, int m01, int m02, int m10, int m11, int m12, int m20, int m21, int m22, int m30, int m31, int m32) { return new int4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(int v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(bool v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(bool4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(uint v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(uint4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(float v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(float4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(double v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 int4x3(double4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 transpose(int4x3 v) { return int3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int4x3 v) { return csum(asuint(v.c0) * uint4(1773538433u, 3773525029u, 4131962539u, 1809525511u) + asuint(v.c1) * uint4(4016293529u, 2416021567u, 2828384717u, 2636362241u) + asuint(v.c2) * uint4(1258410977u, 1952565773u, 2037535609u, 3592785499u)) + 3996716183u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(int4x3 v) { return asuint(v.c0) * uint4(2626301701u, 1306289417u, 2096137163u, 1548578029u) + asuint(v.c1) * uint4(4178800919u, 3898072289u, 4129428421u, 2631575897u) + asuint(v.c2) * uint4(2854656703u, 3578504047u, 4245178297u, 2173281923u) + 2973357649u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(int4 c0, int4 c1, int4 c2, int4 c3) { return new int4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13, int m20, int m21, int m22, int m23, int m30, int m31, int m32, int m33) { return new int4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(int v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(bool v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(bool4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(uint v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(uint4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(float v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(float4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(double v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 int4x4(double4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 transpose(int4x4 v) { return int4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } public static int determinant(int4x4 m) { int4 c = m.c0; int4 c2 = m.c1; int4 c3 = m.c2; int4 c4 = m.c3; int num = c2.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c2.z * c4.w - c2.w * c4.z) + c4.y * (c2.z * c3.w - c2.w * c3.z); int num2 = c.y * (c3.z * c4.w - c3.w * c4.z) - c3.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c3.w - c.w * c3.z); int num3 = c.y * (c2.z * c4.w - c2.w * c4.z) - c2.y * (c.z * c4.w - c.w * c4.z) + c4.y * (c.z * c2.w - c.w * c2.z); int num4 = c.y * (c2.z * c3.w - c2.w * c3.z) - c2.y * (c.z * c3.w - c.w * c3.z) + c3.y * (c.z * c2.w - c.w * c2.z); return c.x * num - c2.x * num2 + c3.x * num3 - c4.x * num4; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(int4x4 v) { return csum(asuint(v.c0) * uint4(1562056283u, 2265541847u, 1283419601u, 1210229737u) + asuint(v.c1) * uint4(2864955997u, 3525118277u, 2298260269u, 1632478733u) + asuint(v.c2) * uint4(1537393931u, 2353355467u, 3441847433u, 4052036147u) + asuint(v.c3) * uint4(2011389559u, 2252224297u, 3784421429u, 1750626223u)) + 3571447507u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(int4x4 v) { return asuint(v.c0) * uint4(3412283213u, 2601761069u, 1254033427u, 2248573027u) + asuint(v.c1) * uint4(3612677113u, 1521739981u, 1735296007u, 3010324327u) + asuint(v.c2) * uint4(1875523709u, 2937008387u, 3835713223u, 2216526373u) + asuint(v.c3) * uint4(3375971453u, 3559829411u, 3652178029u, 2544260129u) + 2013864031u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int asint(uint x) { return (int)x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 asint(uint2 x) { return int2((int)x.x, (int)x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 asint(uint3 x) { return int3((int)x.x, (int)x.y, (int)x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 asint(uint4 x) { return int4((int)x.x, (int)x.y, (int)x.z, (int)x.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int asint(float x) { IntFloatUnion intFloatUnion = default(IntFloatUnion); intFloatUnion.intValue = 0; intFloatUnion.floatValue = x; return intFloatUnion.intValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 asint(float2 x) { return int2(asint(x.x), asint(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 asint(float3 x) { return int3(asint(x.x), asint(x.y), asint(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 asint(float4 x) { return int4(asint(x.x), asint(x.y), asint(x.z), asint(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint asuint(int x) { return (uint)x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 asuint(int2 x) { return uint2((uint)x.x, (uint)x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 asuint(int3 x) { return uint3((uint)x.x, (uint)x.y, (uint)x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 asuint(int4 x) { return uint4((uint)x.x, (uint)x.y, (uint)x.z, (uint)x.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint asuint(float x) { return (uint)asint(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 asuint(float2 x) { return uint2(asuint(x.x), asuint(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 asuint(float3 x) { return uint3(asuint(x.x), asuint(x.y), asuint(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 asuint(float4 x) { return uint4(asuint(x.x), asuint(x.y), asuint(x.z), asuint(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long aslong(ulong x) { return (long)x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long aslong(double x) { LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.longValue = 0L; longDoubleUnion.doubleValue = x; return longDoubleUnion.longValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong asulong(long x) { return (ulong)x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong asulong(double x) { return (ulong)aslong(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float asfloat(int x) { IntFloatUnion intFloatUnion = default(IntFloatUnion); intFloatUnion.floatValue = 0f; intFloatUnion.intValue = x; return intFloatUnion.floatValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 asfloat(int2 x) { return float2(asfloat(x.x), asfloat(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 asfloat(int3 x) { return float3(asfloat(x.x), asfloat(x.y), asfloat(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 asfloat(int4 x) { return float4(asfloat(x.x), asfloat(x.y), asfloat(x.z), asfloat(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float asfloat(uint x) { return asfloat((int)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 asfloat(uint2 x) { return float2(asfloat(x.x), asfloat(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 asfloat(uint3 x) { return float3(asfloat(x.x), asfloat(x.y), asfloat(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 asfloat(uint4 x) { return float4(asfloat(x.x), asfloat(x.y), asfloat(x.z), asfloat(x.w)); } public static int bitmask(bool4 value) { int num = 0; if (value.x) { num |= 1; } if (value.y) { num |= 2; } if (value.z) { num |= 4; } if (value.w) { num |= 8; } return num; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double asdouble(long x) { LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.doubleValue = 0.0; longDoubleUnion.longValue = x; return longDoubleUnion.doubleValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double asdouble(ulong x) { return asdouble((long)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isfinite(float x) { return abs(x) < float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isfinite(float2 x) { return abs(x) < float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isfinite(float3 x) { return abs(x) < float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isfinite(float4 x) { return abs(x) < float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isfinite(double x) { return abs(x) < double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isfinite(double2 x) { return abs(x) < double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isfinite(double3 x) { return abs(x) < double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isfinite(double4 x) { return abs(x) < double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isinf(float x) { return abs(x) == float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isinf(float2 x) { return abs(x) == float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isinf(float3 x) { return abs(x) == float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isinf(float4 x) { return abs(x) == float.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isinf(double x) { return abs(x) == double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isinf(double2 x) { return abs(x) == double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isinf(double3 x) { return abs(x) == double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isinf(double4 x) { return abs(x) == double.PositiveInfinity; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isnan(float x) { return (asuint(x) & 0x7FFFFFFF) > 2139095040; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isnan(float2 x) { return (asuint(x) & 2147483647u) > 2139095040u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isnan(float3 x) { return (asuint(x) & 2147483647u) > 2139095040u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isnan(float4 x) { return (asuint(x) & 2147483647u) > 2139095040u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool isnan(double x) { return (asulong(x) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 isnan(double2 x) { return bool2((asulong(x.x) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.y) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 isnan(double3 x) { return bool3((asulong(x.x) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.y) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.z) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 isnan(double4 x) { return bool4((asulong(x.x) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.y) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.z) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L, (asulong(x.w) & 0x7FFFFFFFFFFFFFFFL) > 9218868437227405312L); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool ispow2(int x) { return x > 0 && (x & (x - 1)) == 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 ispow2(int2 x) { return new bool2(ispow2(x.x), ispow2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 ispow2(int3 x) { return new bool3(ispow2(x.x), ispow2(x.y), ispow2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 ispow2(int4 x) { return new bool4(ispow2(x.x), ispow2(x.y), ispow2(x.z), ispow2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool ispow2(uint x) { return x != 0 && (x & (x - 1)) == 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 ispow2(uint2 x) { return new bool2(ispow2(x.x), ispow2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 ispow2(uint3 x) { return new bool3(ispow2(x.x), ispow2(x.y), ispow2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 ispow2(uint4 x) { return new bool4(ispow2(x.x), ispow2(x.y), ispow2(x.z), ispow2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int min(int x, int y) { return (x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 min(int2 x, int2 y) { return new int2(min(x.x, y.x), min(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 min(int3 x, int3 y) { return new int3(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 min(int4 x, int4 y) { return new int4(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z), min(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint min(uint x, uint y) { return (x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 min(uint2 x, uint2 y) { return new uint2(min(x.x, y.x), min(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 min(uint3 x, uint3 y) { return new uint3(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 min(uint4 x, uint4 y) { return new uint4(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z), min(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long min(long x, long y) { return (x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong min(ulong x, ulong y) { return (x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float min(float x, float y) { return (float.IsNaN(y) || x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 min(float2 x, float2 y) { return new float2(min(x.x, y.x), min(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 min(float3 x, float3 y) { return new float3(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 min(float4 x, float4 y) { return new float4(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z), min(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double min(double x, double y) { return (double.IsNaN(y) || x < y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 min(double2 x, double2 y) { return new double2(min(x.x, y.x), min(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 min(double3 x, double3 y) { return new double3(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 min(double4 x, double4 y) { return new double4(min(x.x, y.x), min(x.y, y.y), min(x.z, y.z), min(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int max(int x, int y) { return (x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 max(int2 x, int2 y) { return new int2(max(x.x, y.x), max(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 max(int3 x, int3 y) { return new int3(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 max(int4 x, int4 y) { return new int4(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z), max(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint max(uint x, uint y) { return (x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 max(uint2 x, uint2 y) { return new uint2(max(x.x, y.x), max(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 max(uint3 x, uint3 y) { return new uint3(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 max(uint4 x, uint4 y) { return new uint4(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z), max(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long max(long x, long y) { return (x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong max(ulong x, ulong y) { return (x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float max(float x, float y) { return (float.IsNaN(y) || x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 max(float2 x, float2 y) { return new float2(max(x.x, y.x), max(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 max(float3 x, float3 y) { return new float3(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 max(float4 x, float4 y) { return new float4(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z), max(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double max(double x, double y) { return (double.IsNaN(y) || x > y) ? x : y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 max(double2 x, double2 y) { return new double2(max(x.x, y.x), max(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 max(double3 x, double3 y) { return new double3(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 max(double4 x, double4 y) { return new double4(max(x.x, y.x), max(x.y, y.y), max(x.z, y.z), max(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lerp(float x, float y, float s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 lerp(float2 x, float2 y, float s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 lerp(float3 x, float3 y, float s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 lerp(float4 x, float4 y, float s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 lerp(float2 x, float2 y, float2 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 lerp(float3 x, float3 y, float3 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 lerp(float4 x, float4 y, float4 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double lerp(double x, double y, double s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 lerp(double2 x, double2 y, double s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 lerp(double3 x, double3 y, double s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 lerp(double4 x, double4 y, double s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 lerp(double2 x, double2 y, double2 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 lerp(double3 x, double3 y, double3 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 lerp(double4 x, double4 y, double4 s) { return x + s * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float unlerp(float a, float b, float x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 unlerp(float2 a, float2 b, float2 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 unlerp(float3 a, float3 b, float3 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 unlerp(float4 a, float4 b, float4 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double unlerp(double a, double b, double x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 unlerp(double2 a, double2 b, double2 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 unlerp(double3 a, double3 b, double3 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 unlerp(double4 a, double4 b, double4 x) { return (x - a) / (b - a); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float remap(float a, float b, float c, float d, float x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 remap(float2 a, float2 b, float2 c, float2 d, float2 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 remap(float3 a, float3 b, float3 c, float3 d, float3 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 remap(float4 a, float4 b, float4 c, float4 d, float4 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double remap(double a, double b, double c, double d, double x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 remap(double2 a, double2 b, double2 c, double2 d, double2 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 remap(double3 a, double3 b, double3 c, double3 d, double3 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 remap(double4 a, double4 b, double4 c, double4 d, double4 x) { return lerp(c, d, unlerp(a, b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int mad(int a, int b, int c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mad(int2 a, int2 b, int2 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mad(int3 a, int3 b, int3 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mad(int4 a, int4 b, int4 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint mad(uint a, uint b, uint c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mad(uint2 a, uint2 b, uint2 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mad(uint3 a, uint3 b, uint3 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mad(uint4 a, uint4 b, uint4 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long mad(long a, long b, long c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong mad(ulong a, ulong b, ulong c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float mad(float a, float b, float c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mad(float2 a, float2 b, float2 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mad(float3 a, float3 b, float3 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mad(float4 a, float4 b, float4 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double mad(double a, double b, double c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mad(double2 a, double2 b, double2 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mad(double3 a, double3 b, double3 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mad(double4 a, double4 b, double4 c) { return a * b + c; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int clamp(int x, int a, int b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 clamp(int2 x, int2 a, int2 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 clamp(int3 x, int3 a, int3 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 clamp(int4 x, int4 a, int4 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint clamp(uint x, uint a, uint b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 clamp(uint2 x, uint2 a, uint2 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 clamp(uint3 x, uint3 a, uint3 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 clamp(uint4 x, uint4 a, uint4 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long clamp(long x, long a, long b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong clamp(ulong x, ulong a, ulong b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float clamp(float x, float a, float b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 clamp(float2 x, float2 a, float2 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 clamp(float3 x, float3 a, float3 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 clamp(float4 x, float4 a, float4 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double clamp(double x, double a, double b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 clamp(double2 x, double2 a, double2 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 clamp(double3 x, double3 a, double3 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 clamp(double4 x, double4 a, double4 b) { return max(a, min(b, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float saturate(float x) { return clamp(x, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 saturate(float2 x) { return clamp(x, new float2(0f), new float2(1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 saturate(float3 x) { return clamp(x, new float3(0f), new float3(1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 saturate(float4 x) { return clamp(x, new float4(0f), new float4(1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double saturate(double x) { return clamp(x, 0.0, 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 saturate(double2 x) { return clamp(x, new double2(0.0), new double2(1.0)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 saturate(double3 x) { return clamp(x, new double3(0.0), new double3(1.0)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 saturate(double4 x) { return clamp(x, new double4(0.0), new double4(1.0)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int abs(int x) { return max(-x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 abs(int2 x) { return max(-x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 abs(int3 x) { return max(-x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 abs(int4 x) { return max(-x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long abs(long x) { return max(-x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float abs(float x) { return asfloat(asuint(x) & 0x7FFFFFFFu); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 abs(float2 x) { return asfloat(asuint(x) & 2147483647u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 abs(float3 x) { return asfloat(asuint(x) & 2147483647u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 abs(float4 x) { return asfloat(asuint(x) & 2147483647u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double abs(double x) { return asdouble(asulong(x) & 0x7FFFFFFFFFFFFFFFuL); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 abs(double2 x) { return double2(asdouble(asulong(x.x) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.y) & 0x7FFFFFFFFFFFFFFFuL)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 abs(double3 x) { return double3(asdouble(asulong(x.x) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.y) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.z) & 0x7FFFFFFFFFFFFFFFuL)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 abs(double4 x) { return double4(asdouble(asulong(x.x) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.y) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.z) & 0x7FFFFFFFFFFFFFFFuL), asdouble(asulong(x.w) & 0x7FFFFFFFFFFFFFFFuL)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int dot(int x, int y) { return x * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int dot(int2 x, int2 y) { return x.x * y.x + x.y * y.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int dot(int3 x, int3 y) { return x.x * y.x + x.y * y.y + x.z * y.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int dot(int4 x, int4 y) { return x.x * y.x + x.y * y.y + x.z * y.z + x.w * y.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint dot(uint x, uint y) { return x * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint dot(uint2 x, uint2 y) { return x.x * y.x + x.y * y.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint dot(uint3 x, uint3 y) { return x.x * y.x + x.y * y.y + x.z * y.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint dot(uint4 x, uint4 y) { return x.x * y.x + x.y * y.y + x.z * y.z + x.w * y.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float dot(float x, float y) { return x * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float dot(float2 x, float2 y) { return x.x * y.x + x.y * y.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float dot(float3 x, float3 y) { return x.x * y.x + x.y * y.y + x.z * y.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float dot(float4 x, float4 y) { return x.x * y.x + x.y * y.y + x.z * y.z + x.w * y.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double dot(double x, double y) { return x * y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double dot(double2 x, double2 y) { return x.x * y.x + x.y * y.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double dot(double3 x, double3 y) { return x.x * y.x + x.y * y.y + x.z * y.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double dot(double4 x, double4 y) { return x.x * y.x + x.y * y.y + x.z * y.z + x.w * y.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float tan(float x) { return (float)Math.Tan(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 tan(float2 x) { return new float2(tan(x.x), tan(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 tan(float3 x) { return new float3(tan(x.x), tan(x.y), tan(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 tan(float4 x) { return new float4(tan(x.x), tan(x.y), tan(x.z), tan(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double tan(double x) { return Math.Tan(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 tan(double2 x) { return new double2(tan(x.x), tan(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 tan(double3 x) { return new double3(tan(x.x), tan(x.y), tan(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 tan(double4 x) { return new double4(tan(x.x), tan(x.y), tan(x.z), tan(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float tanh(float x) { return (float)Math.Tanh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 tanh(float2 x) { return new float2(tanh(x.x), tanh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 tanh(float3 x) { return new float3(tanh(x.x), tanh(x.y), tanh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 tanh(float4 x) { return new float4(tanh(x.x), tanh(x.y), tanh(x.z), tanh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double tanh(double x) { return Math.Tanh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 tanh(double2 x) { return new double2(tanh(x.x), tanh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 tanh(double3 x) { return new double3(tanh(x.x), tanh(x.y), tanh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 tanh(double4 x) { return new double4(tanh(x.x), tanh(x.y), tanh(x.z), tanh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float atan(float x) { return (float)Math.Atan(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 atan(float2 x) { return new float2(atan(x.x), atan(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 atan(float3 x) { return new float3(atan(x.x), atan(x.y), atan(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 atan(float4 x) { return new float4(atan(x.x), atan(x.y), atan(x.z), atan(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double atan(double x) { return Math.Atan(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 atan(double2 x) { return new double2(atan(x.x), atan(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 atan(double3 x) { return new double3(atan(x.x), atan(x.y), atan(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 atan(double4 x) { return new double4(atan(x.x), atan(x.y), atan(x.z), atan(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float atan2(float y, float x) { return (float)Math.Atan2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 atan2(float2 y, float2 x) { return new float2(atan2(y.x, x.x), atan2(y.y, x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 atan2(float3 y, float3 x) { return new float3(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 atan2(float4 y, float4 x) { return new float4(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z), atan2(y.w, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double atan2(double y, double x) { return Math.Atan2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 atan2(double2 y, double2 x) { return new double2(atan2(y.x, x.x), atan2(y.y, x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 atan2(double3 y, double3 x) { return new double3(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 atan2(double4 y, double4 x) { return new double4(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z), atan2(y.w, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cos(float x) { return (float)Math.Cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 cos(float2 x) { return new float2(cos(x.x), cos(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 cos(float3 x) { return new float3(cos(x.x), cos(x.y), cos(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 cos(float4 x) { return new float4(cos(x.x), cos(x.y), cos(x.z), cos(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cos(double x) { return Math.Cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 cos(double2 x) { return new double2(cos(x.x), cos(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 cos(double3 x) { return new double3(cos(x.x), cos(x.y), cos(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 cos(double4 x) { return new double4(cos(x.x), cos(x.y), cos(x.z), cos(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cosh(float x) { return (float)Math.Cosh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 cosh(float2 x) { return new float2(cosh(x.x), cosh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 cosh(float3 x) { return new float3(cosh(x.x), cosh(x.y), cosh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 cosh(float4 x) { return new float4(cosh(x.x), cosh(x.y), cosh(x.z), cosh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cosh(double x) { return Math.Cosh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 cosh(double2 x) { return new double2(cosh(x.x), cosh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 cosh(double3 x) { return new double3(cosh(x.x), cosh(x.y), cosh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 cosh(double4 x) { return new double4(cosh(x.x), cosh(x.y), cosh(x.z), cosh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float acos(float x) { return (float)Math.Acos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 acos(float2 x) { return new float2(acos(x.x), acos(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 acos(float3 x) { return new float3(acos(x.x), acos(x.y), acos(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 acos(float4 x) { return new float4(acos(x.x), acos(x.y), acos(x.z), acos(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double acos(double x) { return Math.Acos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 acos(double2 x) { return new double2(acos(x.x), acos(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 acos(double3 x) { return new double3(acos(x.x), acos(x.y), acos(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 acos(double4 x) { return new double4(acos(x.x), acos(x.y), acos(x.z), acos(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float sin(float x) { return (float)Math.Sin(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 sin(float2 x) { return new float2(sin(x.x), sin(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 sin(float3 x) { return new float3(sin(x.x), sin(x.y), sin(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 sin(float4 x) { return new float4(sin(x.x), sin(x.y), sin(x.z), sin(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double sin(double x) { return Math.Sin(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 sin(double2 x) { return new double2(sin(x.x), sin(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 sin(double3 x) { return new double3(sin(x.x), sin(x.y), sin(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 sin(double4 x) { return new double4(sin(x.x), sin(x.y), sin(x.z), sin(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float sinh(float x) { return (float)Math.Sinh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 sinh(float2 x) { return new float2(sinh(x.x), sinh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 sinh(float3 x) { return new float3(sinh(x.x), sinh(x.y), sinh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 sinh(float4 x) { return new float4(sinh(x.x), sinh(x.y), sinh(x.z), sinh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double sinh(double x) { return Math.Sinh(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 sinh(double2 x) { return new double2(sinh(x.x), sinh(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 sinh(double3 x) { return new double3(sinh(x.x), sinh(x.y), sinh(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 sinh(double4 x) { return new double4(sinh(x.x), sinh(x.y), sinh(x.z), sinh(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float asin(float x) { return (float)Math.Asin(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 asin(float2 x) { return new float2(asin(x.x), asin(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 asin(float3 x) { return new float3(asin(x.x), asin(x.y), asin(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 asin(float4 x) { return new float4(asin(x.x), asin(x.y), asin(x.z), asin(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double asin(double x) { return Math.Asin(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 asin(double2 x) { return new double2(asin(x.x), asin(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 asin(double3 x) { return new double3(asin(x.x), asin(x.y), asin(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 asin(double4 x) { return new double4(asin(x.x), asin(x.y), asin(x.z), asin(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float floor(float x) { return (float)Math.Floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 floor(float2 x) { return new float2(floor(x.x), floor(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 floor(float3 x) { return new float3(floor(x.x), floor(x.y), floor(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 floor(float4 x) { return new float4(floor(x.x), floor(x.y), floor(x.z), floor(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double floor(double x) { return Math.Floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 floor(double2 x) { return new double2(floor(x.x), floor(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 floor(double3 x) { return new double3(floor(x.x), floor(x.y), floor(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 floor(double4 x) { return new double4(floor(x.x), floor(x.y), floor(x.z), floor(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float ceil(float x) { return (float)Math.Ceiling(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 ceil(float2 x) { return new float2(ceil(x.x), ceil(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 ceil(float3 x) { return new float3(ceil(x.x), ceil(x.y), ceil(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 ceil(float4 x) { return new float4(ceil(x.x), ceil(x.y), ceil(x.z), ceil(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double ceil(double x) { return Math.Ceiling(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 ceil(double2 x) { return new double2(ceil(x.x), ceil(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 ceil(double3 x) { return new double3(ceil(x.x), ceil(x.y), ceil(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 ceil(double4 x) { return new double4(ceil(x.x), ceil(x.y), ceil(x.z), ceil(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float round(float x) { return (float)Math.Round(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 round(float2 x) { return new float2(round(x.x), round(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 round(float3 x) { return new float3(round(x.x), round(x.y), round(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 round(float4 x) { return new float4(round(x.x), round(x.y), round(x.z), round(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double round(double x) { return Math.Round(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 round(double2 x) { return new double2(round(x.x), round(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 round(double3 x) { return new double3(round(x.x), round(x.y), round(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 round(double4 x) { return new double4(round(x.x), round(x.y), round(x.z), round(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float trunc(float x) { return (float)Math.Truncate(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 trunc(float2 x) { return new float2(trunc(x.x), trunc(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 trunc(float3 x) { return new float3(trunc(x.x), trunc(x.y), trunc(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 trunc(float4 x) { return new float4(trunc(x.x), trunc(x.y), trunc(x.z), trunc(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double trunc(double x) { return Math.Truncate(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 trunc(double2 x) { return new double2(trunc(x.x), trunc(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 trunc(double3 x) { return new double3(trunc(x.x), trunc(x.y), trunc(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 trunc(double4 x) { return new double4(trunc(x.x), trunc(x.y), trunc(x.z), trunc(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float frac(float x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 frac(float2 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 frac(float3 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 frac(float4 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double frac(double x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 frac(double2 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 frac(double3 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 frac(double4 x) { return x - floor(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float rcp(float x) { return 1f / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 rcp(float2 x) { return 1f / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 rcp(float3 x) { return 1f / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 rcp(float4 x) { return 1f / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double rcp(double x) { return 1.0 / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 rcp(double2 x) { return 1.0 / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 rcp(double3 x) { return 1.0 / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 rcp(double4 x) { return 1.0 / x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float sign(float x) { return ((x > 0f) ? 1f : 0f) - ((x < 0f) ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 sign(float2 x) { return new float2(sign(x.x), sign(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 sign(float3 x) { return new float3(sign(x.x), sign(x.y), sign(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 sign(float4 x) { return new float4(sign(x.x), sign(x.y), sign(x.z), sign(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double sign(double x) { return (x == 0.0) ? 0.0 : (((x > 0.0) ? 1.0 : 0.0) - ((x < 0.0) ? 1.0 : 0.0)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 sign(double2 x) { return new double2(sign(x.x), sign(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 sign(double3 x) { return new double3(sign(x.x), sign(x.y), sign(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 sign(double4 x) { return new double4(sign(x.x), sign(x.y), sign(x.z), sign(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float pow(float x, float y) { return (float)Math.Pow(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 pow(float2 x, float2 y) { return new float2(pow(x.x, y.x), pow(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 pow(float3 x, float3 y) { return new float3(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 pow(float4 x, float4 y) { return new float4(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z), pow(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double pow(double x, double y) { return Math.Pow(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 pow(double2 x, double2 y) { return new double2(pow(x.x, y.x), pow(x.y, y.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 pow(double3 x, double3 y) { return new double3(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 pow(double4 x, double4 y) { return new double4(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z), pow(x.w, y.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float exp(float x) { return (float)Math.Exp(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 exp(float2 x) { return new float2(exp(x.x), exp(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 exp(float3 x) { return new float3(exp(x.x), exp(x.y), exp(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 exp(float4 x) { return new float4(exp(x.x), exp(x.y), exp(x.z), exp(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double exp(double x) { return Math.Exp(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 exp(double2 x) { return new double2(exp(x.x), exp(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 exp(double3 x) { return new double3(exp(x.x), exp(x.y), exp(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 exp(double4 x) { return new double4(exp(x.x), exp(x.y), exp(x.z), exp(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float exp2(float x) { return (float)Math.Exp(x * 0.6931472f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 exp2(float2 x) { return new float2(exp2(x.x), exp2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 exp2(float3 x) { return new float3(exp2(x.x), exp2(x.y), exp2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 exp2(float4 x) { return new float4(exp2(x.x), exp2(x.y), exp2(x.z), exp2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double exp2(double x) { return Math.Exp(x * 0.6931471805599453); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 exp2(double2 x) { return new double2(exp2(x.x), exp2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 exp2(double3 x) { return new double3(exp2(x.x), exp2(x.y), exp2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 exp2(double4 x) { return new double4(exp2(x.x), exp2(x.y), exp2(x.z), exp2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float exp10(float x) { return (float)Math.Exp(x * 2.3025851f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 exp10(float2 x) { return new float2(exp10(x.x), exp10(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 exp10(float3 x) { return new float3(exp10(x.x), exp10(x.y), exp10(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 exp10(float4 x) { return new float4(exp10(x.x), exp10(x.y), exp10(x.z), exp10(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double exp10(double x) { return Math.Exp(x * 2.302585092994046); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 exp10(double2 x) { return new double2(exp10(x.x), exp10(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 exp10(double3 x) { return new double3(exp10(x.x), exp10(x.y), exp10(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 exp10(double4 x) { return new double4(exp10(x.x), exp10(x.y), exp10(x.z), exp10(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float log(float x) { return (float)Math.Log(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 log(float2 x) { return new float2(log(x.x), log(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 log(float3 x) { return new float3(log(x.x), log(x.y), log(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 log(float4 x) { return new float4(log(x.x), log(x.y), log(x.z), log(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double log(double x) { return Math.Log(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 log(double2 x) { return new double2(log(x.x), log(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 log(double3 x) { return new double3(log(x.x), log(x.y), log(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 log(double4 x) { return new double4(log(x.x), log(x.y), log(x.z), log(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float log2(float x) { return (float)Math.Log(x, 2.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 log2(float2 x) { return new float2(log2(x.x), log2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 log2(float3 x) { return new float3(log2(x.x), log2(x.y), log2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 log2(float4 x) { return new float4(log2(x.x), log2(x.y), log2(x.z), log2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double log2(double x) { return Math.Log(x, 2.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 log2(double2 x) { return new double2(log2(x.x), log2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 log2(double3 x) { return new double3(log2(x.x), log2(x.y), log2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 log2(double4 x) { return new double4(log2(x.x), log2(x.y), log2(x.z), log2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float log10(float x) { return (float)Math.Log10(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 log10(float2 x) { return new float2(log10(x.x), log10(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 log10(float3 x) { return new float3(log10(x.x), log10(x.y), log10(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 log10(float4 x) { return new float4(log10(x.x), log10(x.y), log10(x.z), log10(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double log10(double x) { return Math.Log10(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 log10(double2 x) { return new double2(log10(x.x), log10(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 log10(double3 x) { return new double3(log10(x.x), log10(x.y), log10(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 log10(double4 x) { return new double4(log10(x.x), log10(x.y), log10(x.z), log10(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float fmod(float x, float y) { return x % y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 fmod(float2 x, float2 y) { return new float2(x.x % y.x, x.y % y.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 fmod(float3 x, float3 y) { return new float3(x.x % y.x, x.y % y.y, x.z % y.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 fmod(float4 x, float4 y) { return new float4(x.x % y.x, x.y % y.y, x.z % y.z, x.w % y.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double fmod(double x, double y) { return x % y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 fmod(double2 x, double2 y) { return new double2(x.x % y.x, x.y % y.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 fmod(double3 x, double3 y) { return new double3(x.x % y.x, x.y % y.y, x.z % y.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 fmod(double4 x, double4 y) { return new double4(x.x % y.x, x.y % y.y, x.z % y.z, x.w % y.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float modf(float x, out float i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 modf(float2 x, out float2 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 modf(float3 x, out float3 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 modf(float4 x, out float4 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double modf(double x, out double i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 modf(double2 x, out double2 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 modf(double3 x, out double3 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 modf(double4 x, out double4 i) { i = trunc(x); return x - i; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float sqrt(float x) { return (float)Math.Sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 sqrt(float2 x) { return new float2(sqrt(x.x), sqrt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 sqrt(float3 x) { return new float3(sqrt(x.x), sqrt(x.y), sqrt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 sqrt(float4 x) { return new float4(sqrt(x.x), sqrt(x.y), sqrt(x.z), sqrt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double sqrt(double x) { return Math.Sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 sqrt(double2 x) { return new double2(sqrt(x.x), sqrt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 sqrt(double3 x) { return new double3(sqrt(x.x), sqrt(x.y), sqrt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 sqrt(double4 x) { return new double4(sqrt(x.x), sqrt(x.y), sqrt(x.z), sqrt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float rsqrt(float x) { return 1f / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 rsqrt(float2 x) { return 1f / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 rsqrt(float3 x) { return 1f / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 rsqrt(float4 x) { return 1f / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double rsqrt(double x) { return 1.0 / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 rsqrt(double2 x) { return 1.0 / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 rsqrt(double3 x) { return 1.0 / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 rsqrt(double4 x) { return 1.0 / sqrt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 normalize(float2 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 normalize(float3 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 normalize(float4 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 normalize(double2 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 normalize(double3 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 normalize(double4 x) { return rsqrt(dot(x, x)) * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 normalizesafe(float2 x, float2 defaultvalue = default(float2)) { float num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754944E-38f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 normalizesafe(float3 x, float3 defaultvalue = default(float3)) { float num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754944E-38f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 normalizesafe(float4 x, float4 defaultvalue = default(float4)) { float num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754944E-38f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 normalizesafe(double2 x, double2 defaultvalue = default(double2)) { double num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754943508222875E-38); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 normalizesafe(double3 x, double3 defaultvalue = default(double3)) { double num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754943508222875E-38); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 normalizesafe(double4 x, double4 defaultvalue = default(double4)) { double num = dot(x, x); return select(defaultvalue, x * rsqrt(num), num > 1.1754943508222875E-38); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float length(float x) { return abs(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float length(float2 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float length(float3 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float length(float4 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double length(double x) { return abs(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double length(double2 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double length(double3 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double length(double4 x) { return sqrt(dot(x, x)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lengthsq(float x) { return x * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lengthsq(float2 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lengthsq(float3 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lengthsq(float4 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double lengthsq(double x) { return x * x; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double lengthsq(double2 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double lengthsq(double3 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double lengthsq(double4 x) { return dot(x, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distance(float x, float y) { return abs(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distance(float2 x, float2 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distance(float3 x, float3 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distance(float4 x, float4 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distance(double x, double y) { return abs(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distance(double2 x, double2 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distance(double3 x, double3 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distance(double4 x, double4 y) { return length(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distancesq(float x, float y) { return (y - x) * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distancesq(float2 x, float2 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distancesq(float3 x, float3 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float distancesq(float4 x, float4 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distancesq(double x, double y) { return (y - x) * (y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distancesq(double2 x, double2 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distancesq(double3 x, double3 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double distancesq(double4 x, double4 y) { return lengthsq(y - x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 cross(float3 x, float3 y) { return (x * y.yzx - x.yzx * y).yzx; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 cross(double3 x, double3 y) { return (x * y.yzx - x.yzx * y).yzx; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float smoothstep(float a, float b, float x) { float num = saturate((x - a) / (b - a)); return num * num * (3f - 2f * num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 smoothstep(float2 a, float2 b, float2 x) { float2 float5 = saturate((x - a) / (b - a)); return float5 * float5 * (3f - 2f * float5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 smoothstep(float3 a, float3 b, float3 x) { float3 float5 = saturate((x - a) / (b - a)); return float5 * float5 * (3f - 2f * float5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 smoothstep(float4 a, float4 b, float4 x) { float4 float5 = saturate((x - a) / (b - a)); return float5 * float5 * (3f - 2f * float5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double smoothstep(double a, double b, double x) { double num = saturate((x - a) / (b - a)); return num * num * (3.0 - 2.0 * num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 smoothstep(double2 a, double2 b, double2 x) { double2 double5 = saturate((x - a) / (b - a)); return double5 * double5 * (3.0 - 2.0 * double5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 smoothstep(double3 a, double3 b, double3 x) { double3 double5 = saturate((x - a) / (b - a)); return double5 * double5 * (3.0 - 2.0 * double5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 smoothstep(double4 a, double4 b, double4 x) { double4 double5 = saturate((x - a) / (b - a)); return double5 * double5 * (3.0 - 2.0 * double5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(bool2 x) { return x.x || x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(bool3 x) { return x.x || x.y || x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(bool4 x) { return x.x || x.y || x.z || x.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(int2 x) { return x.x != 0 || x.y != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(int3 x) { return x.x != 0 || x.y != 0 || x.z != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(int4 x) { return x.x != 0 || x.y != 0 || x.z != 0 || x.w != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(uint2 x) { return x.x != 0 || x.y != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(uint3 x) { return x.x != 0 || x.y != 0 || x.z != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(uint4 x) { return x.x != 0 || x.y != 0 || x.z != 0 || x.w != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(float2 x) { return x.x != 0f || x.y != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(float3 x) { return x.x != 0f || x.y != 0f || x.z != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(float4 x) { return x.x != 0f || x.y != 0f || x.z != 0f || x.w != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(double2 x) { return x.x != 0.0 || x.y != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(double3 x) { return x.x != 0.0 || x.y != 0.0 || x.z != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool any(double4 x) { return x.x != 0.0 || x.y != 0.0 || x.z != 0.0 || x.w != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(bool2 x) { return x.x && x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(bool3 x) { return x.x && x.y && x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(bool4 x) { return x.x && x.y && x.z && x.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(int2 x) { return x.x != 0 && x.y != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(int3 x) { return x.x != 0 && x.y != 0 && x.z != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(int4 x) { return x.x != 0 && x.y != 0 && x.z != 0 && x.w != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(uint2 x) { return x.x != 0 && x.y != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(uint3 x) { return x.x != 0 && x.y != 0 && x.z != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(uint4 x) { return x.x != 0 && x.y != 0 && x.z != 0 && x.w != 0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(float2 x) { return x.x != 0f && x.y != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(float3 x) { return x.x != 0f && x.y != 0f && x.z != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(float4 x) { return x.x != 0f && x.y != 0f && x.z != 0f && x.w != 0f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(double2 x) { return x.x != 0.0 && x.y != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(double3 x) { return x.x != 0.0 && x.y != 0.0 && x.z != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool all(double4 x) { return x.x != 0.0 && x.y != 0.0 && x.z != 0.0 && x.w != 0.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int select(int a, int b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 select(int2 a, int2 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 select(int3 a, int3 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 select(int4 a, int4 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 select(int2 a, int2 b, bool2 c) { return new int2(c.x ? b.x : a.x, c.y ? b.y : a.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 select(int3 a, int3 b, bool3 c) { return new int3(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 select(int4 a, int4 b, bool4 c) { return new int4(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z, c.w ? b.w : a.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint select(uint a, uint b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 select(uint2 a, uint2 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 select(uint3 a, uint3 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 select(uint4 a, uint4 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 select(uint2 a, uint2 b, bool2 c) { return new uint2(c.x ? b.x : a.x, c.y ? b.y : a.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 select(uint3 a, uint3 b, bool3 c) { return new uint3(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 select(uint4 a, uint4 b, bool4 c) { return new uint4(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z, c.w ? b.w : a.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long select(long a, long b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong select(ulong a, ulong b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float select(float a, float b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 select(float2 a, float2 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 select(float3 a, float3 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 select(float4 a, float4 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 select(float2 a, float2 b, bool2 c) { return new float2(c.x ? b.x : a.x, c.y ? b.y : a.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 select(float3 a, float3 b, bool3 c) { return new float3(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 select(float4 a, float4 b, bool4 c) { return new float4(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z, c.w ? b.w : a.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double select(double a, double b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 select(double2 a, double2 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 select(double3 a, double3 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 select(double4 a, double4 b, bool c) { return c ? b : a; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 select(double2 a, double2 b, bool2 c) { return new double2(c.x ? b.x : a.x, c.y ? b.y : a.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 select(double3 a, double3 b, bool3 c) { return new double3(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 select(double4 a, double4 b, bool4 c) { return new double4(c.x ? b.x : a.x, c.y ? b.y : a.y, c.z ? b.z : a.z, c.w ? b.w : a.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float step(float y, float x) { return select(0f, 1f, x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 step(float2 y, float2 x) { return select(float2(0f), float2(1f), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 step(float3 y, float3 x) { return select(float3(0f), float3(1f), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 step(float4 y, float4 x) { return select(float4(0f), float4(1f), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double step(double y, double x) { return select(0.0, 1.0, x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 step(double2 y, double2 x) { return select(double2(0.0), double2(1.0), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 step(double3 y, double3 x) { return select(double3(0.0), double3(1.0), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 step(double4 y, double4 x) { return select(double4(0.0), double4(1.0), x >= y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 reflect(float2 i, float2 n) { return i - 2f * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 reflect(float3 i, float3 n) { return i - 2f * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 reflect(float4 i, float4 n) { return i - 2f * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 reflect(double2 i, double2 n) { return i - 2.0 * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 reflect(double3 i, double3 n) { return i - 2.0 * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 reflect(double4 i, double4 n) { return i - 2.0 * n * dot(i, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 refract(float2 i, float2 n, float eta) { float num = dot(n, i); float num2 = 1f - eta * eta * (1f - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 refract(float3 i, float3 n, float eta) { float num = dot(n, i); float num2 = 1f - eta * eta * (1f - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 refract(float4 i, float4 n, float eta) { float num = dot(n, i); float num2 = 1f - eta * eta * (1f - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 refract(double2 i, double2 n, double eta) { double num = dot(n, i); double num2 = 1.0 - eta * eta * (1.0 - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 refract(double3 i, double3 n, double eta) { double num = dot(n, i); double num2 = 1.0 - eta * eta * (1.0 - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 refract(double4 i, double4 n, double eta) { double num = dot(n, i); double num2 = 1.0 - eta * eta * (1.0 - num * num); return select(0f, eta * i - (eta * num + sqrt(num2)) * n, num2 >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 project(float2 a, float2 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 project(float3 a, float3 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 project(float4 a, float4 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 projectsafe(float2 a, float2 b, float2 defaultValue = default(float2)) { float2 float5 = project(a, b); return select(defaultValue, float5, all(isfinite(float5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 projectsafe(float3 a, float3 b, float3 defaultValue = default(float3)) { float3 float5 = project(a, b); return select(defaultValue, float5, all(isfinite(float5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 projectsafe(float4 a, float4 b, float4 defaultValue = default(float4)) { float4 float5 = project(a, b); return select(defaultValue, float5, all(isfinite(float5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 project(double2 a, double2 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 project(double3 a, double3 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 project(double4 a, double4 b) { return dot(a, b) / dot(b, b) * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 projectsafe(double2 a, double2 b, double2 defaultValue = default(double2)) { double2 double5 = project(a, b); return select(defaultValue, double5, all(isfinite(double5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 projectsafe(double3 a, double3 b, double3 defaultValue = default(double3)) { double3 double5 = project(a, b); return select(defaultValue, double5, all(isfinite(double5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 projectsafe(double4 a, double4 b, double4 defaultValue = default(double4)) { double4 double5 = project(a, b); return select(defaultValue, double5, all(isfinite(double5))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 faceforward(float2 n, float2 i, float2 ng) { return select(n, -n, dot(ng, i) >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 faceforward(float3 n, float3 i, float3 ng) { return select(n, -n, dot(ng, i) >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 faceforward(float4 n, float4 i, float4 ng) { return select(n, -n, dot(ng, i) >= 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 faceforward(double2 n, double2 i, double2 ng) { return select(n, -n, dot(ng, i) >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 faceforward(double3 n, double3 i, double3 ng) { return select(n, -n, dot(ng, i) >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 faceforward(double4 n, double4 i, double4 ng) { return select(n, -n, dot(ng, i) >= 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(float x, out float s, out float c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(float2 x, out float2 s, out float2 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(float3 x, out float3 s, out float3 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(float4 x, out float4 s, out float4 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(double x, out double s, out double c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(double2 x, out double2 s, out double2 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(double3 x, out double3 s, out double3 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void sincos(double4 x, out double4 s, out double4 c) { s = sin(x); c = cos(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int countbits(int x) { return countbits((uint)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 countbits(int2 x) { return countbits((uint2)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 countbits(int3 x) { return countbits((uint3)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 countbits(int4 x) { return countbits((uint4)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int countbits(uint x) { x -= (x >> 1) & 0x55555555; x = (x & 0x33333333) + ((x >> 2) & 0x33333333); return (int)(((x + (x >> 4)) & 0xF0F0F0F) * 16843009 >> 24); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 countbits(uint2 x) { x -= (x >> 1) & 1431655765u; x = (x & 858993459u) + ((x >> 2) & 858993459u); return int2(((x + (x >> 4)) & 252645135u) * 16843009u >> 24); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 countbits(uint3 x) { x -= (x >> 1) & 1431655765u; x = (x & 858993459u) + ((x >> 2) & 858993459u); return int3(((x + (x >> 4)) & 252645135u) * 16843009u >> 24); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 countbits(uint4 x) { x -= (x >> 1) & 1431655765u; x = (x & 858993459u) + ((x >> 2) & 858993459u); return int4(((x + (x >> 4)) & 252645135u) * 16843009u >> 24); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int countbits(ulong x) { x -= (x >> 1) & 0x5555555555555555L; x = (x & 0x3333333333333333L) + ((x >> 2) & 0x3333333333333333L); return (int)(((x + (x >> 4)) & 0xF0F0F0F0F0F0F0FL) * 72340172838076673L >> 56); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int countbits(long x) { return countbits((ulong)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int lzcnt(int x) { return lzcnt((uint)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 lzcnt(int2 x) { return int2(lzcnt(x.x), lzcnt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 lzcnt(int3 x) { return int3(lzcnt(x.x), lzcnt(x.y), lzcnt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 lzcnt(int4 x) { return int4(lzcnt(x.x), lzcnt(x.y), lzcnt(x.z), lzcnt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int lzcnt(uint x) { if (x == 0) { return 32; } LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.doubleValue = 0.0; longDoubleUnion.longValue = 4841369599423283200L + (long)x; longDoubleUnion.doubleValue -= 4503599627370496.0; return 1054 - (int)(longDoubleUnion.longValue >> 52); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 lzcnt(uint2 x) { return int2(lzcnt(x.x), lzcnt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 lzcnt(uint3 x) { return int3(lzcnt(x.x), lzcnt(x.y), lzcnt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 lzcnt(uint4 x) { return int4(lzcnt(x.x), lzcnt(x.y), lzcnt(x.z), lzcnt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int lzcnt(long x) { return lzcnt((ulong)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int lzcnt(ulong x) { if (x == 0) { return 64; } uint num = (uint)(x >> 32); uint num2 = (uint)((num != 0) ? num : x); int num3 = ((num != 0) ? 1054 : 1086); LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.doubleValue = 0.0; longDoubleUnion.longValue = 4841369599423283200L + (long)num2; longDoubleUnion.doubleValue -= 4503599627370496.0; return num3 - (int)(longDoubleUnion.longValue >> 52); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int tzcnt(int x) { return tzcnt((uint)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 tzcnt(int2 x) { return int2(tzcnt(x.x), tzcnt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 tzcnt(int3 x) { return int3(tzcnt(x.x), tzcnt(x.y), tzcnt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 tzcnt(int4 x) { return int4(tzcnt(x.x), tzcnt(x.y), tzcnt(x.z), tzcnt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int tzcnt(uint x) { if (x == 0) { return 32; } x &= (uint)(int)(0uL - (ulong)x); LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.doubleValue = 0.0; longDoubleUnion.longValue = 4841369599423283200L + (long)x; longDoubleUnion.doubleValue -= 4503599627370496.0; return (int)(longDoubleUnion.longValue >> 52) - 1023; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 tzcnt(uint2 x) { return int2(tzcnt(x.x), tzcnt(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 tzcnt(uint3 x) { return int3(tzcnt(x.x), tzcnt(x.y), tzcnt(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 tzcnt(uint4 x) { return int4(tzcnt(x.x), tzcnt(x.y), tzcnt(x.z), tzcnt(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int tzcnt(long x) { return tzcnt((ulong)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int tzcnt(ulong x) { if (x == 0) { return 64; } x &= 0L - x; uint num = (uint)x; uint num2 = (uint)((num != 0) ? num : (x >> 32)); int num3 = ((num != 0) ? 1023 : 991); LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.doubleValue = 0.0; longDoubleUnion.longValue = 4841369599423283200L + (long)num2; longDoubleUnion.doubleValue -= 4503599627370496.0; return (int)(longDoubleUnion.longValue >> 52) - num3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int reversebits(int x) { return (int)reversebits((uint)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 reversebits(int2 x) { return (int2)reversebits((uint2)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 reversebits(int3 x) { return (int3)reversebits((uint3)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 reversebits(int4 x) { return (int4)reversebits((uint4)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint reversebits(uint x) { x = ((x >> 1) & 0x55555555u) | ((x & 0x55555555) << 1); x = ((x >> 2) & 0x33333333u) | ((x & 0x33333333) << 2); x = ((x >> 4) & 0xF0F0F0Fu) | ((x & 0xF0F0F0F) << 4); x = ((x >> 8) & 0xFF00FFu) | ((x & 0xFF00FF) << 8); return (x >> 16) | (x << 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 reversebits(uint2 x) { x = ((x >> 1) & 1431655765u) | ((x & 1431655765u) << 1); x = ((x >> 2) & 858993459u) | ((x & 858993459u) << 2); x = ((x >> 4) & 252645135u) | ((x & 252645135u) << 4); x = ((x >> 8) & 16711935u) | ((x & 16711935u) << 8); return (x >> 16) | (x << 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 reversebits(uint3 x) { x = ((x >> 1) & 1431655765u) | ((x & 1431655765u) << 1); x = ((x >> 2) & 858993459u) | ((x & 858993459u) << 2); x = ((x >> 4) & 252645135u) | ((x & 252645135u) << 4); x = ((x >> 8) & 16711935u) | ((x & 16711935u) << 8); return (x >> 16) | (x << 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 reversebits(uint4 x) { x = ((x >> 1) & 1431655765u) | ((x & 1431655765u) << 1); x = ((x >> 2) & 858993459u) | ((x & 858993459u) << 2); x = ((x >> 4) & 252645135u) | ((x & 252645135u) << 4); x = ((x >> 8) & 16711935u) | ((x & 16711935u) << 8); return (x >> 16) | (x << 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long reversebits(long x) { return (long)reversebits((ulong)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong reversebits(ulong x) { x = ((x >> 1) & 0x5555555555555555uL) | ((x & 0x5555555555555555L) << 1); x = ((x >> 2) & 0x3333333333333333uL) | ((x & 0x3333333333333333L) << 2); x = ((x >> 4) & 0xF0F0F0F0F0F0F0FuL) | ((x & 0xF0F0F0F0F0F0F0FL) << 4); x = ((x >> 8) & 0xFF00FF00FF00FFuL) | ((x & 0xFF00FF00FF00FFL) << 8); x = ((x >> 16) & 0xFFFF0000FFFFuL) | ((x & 0xFFFF0000FFFFL) << 16); return (x >> 32) | (x << 32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int rol(int x, int n) { return (int)rol((uint)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 rol(int2 x, int n) { return (int2)rol((uint2)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 rol(int3 x, int n) { return (int3)rol((uint3)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 rol(int4 x, int n) { return (int4)rol((uint4)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint rol(uint x, int n) { return (x << n) | (x >> 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 rol(uint2 x, int n) { return (x << n) | (x >> 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 rol(uint3 x, int n) { return (x << n) | (x >> 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 rol(uint4 x, int n) { return (x << n) | (x >> 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long rol(long x, int n) { return (long)rol((ulong)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong rol(ulong x, int n) { return (x << n) | (x >> 64 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int ror(int x, int n) { return (int)ror((uint)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 ror(int2 x, int n) { return (int2)ror((uint2)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 ror(int3 x, int n) { return (int3)ror((uint3)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 ror(int4 x, int n) { return (int4)ror((uint4)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint ror(uint x, int n) { return (x >> n) | (x << 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 ror(uint2 x, int n) { return (x >> n) | (x << 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 ror(uint3 x, int n) { return (x >> n) | (x << 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 ror(uint4 x, int n) { return (x >> n) | (x << 32 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long ror(long x, int n) { return (long)ror((ulong)x, n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong ror(ulong x, int n) { return (x >> n) | (x << 64 - n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int ceilpow2(int x) { x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 ceilpow2(int2 x) { x -= 1; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 ceilpow2(int3 x) { x -= 1; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 ceilpow2(int4 x) { x -= 1; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint ceilpow2(uint x) { x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 ceilpow2(uint2 x) { x -= 1u; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 ceilpow2(uint3 x) { x -= 1u; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 ceilpow2(uint4 x) { x -= 1u; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; return x + 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static long ceilpow2(long x) { x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; x |= x >> 32; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ulong ceilpow2(ulong x) { x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; x |= x >> 32; return x + 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int ceillog2(int x) { return 32 - lzcnt((uint)(x - 1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 ceillog2(int2 x) { return new int2(ceillog2(x.x), ceillog2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 ceillog2(int3 x) { return new int3(ceillog2(x.x), ceillog2(x.y), ceillog2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 ceillog2(int4 x) { return new int4(ceillog2(x.x), ceillog2(x.y), ceillog2(x.z), ceillog2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int ceillog2(uint x) { return 32 - lzcnt(x - 1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 ceillog2(uint2 x) { return new int2(ceillog2(x.x), ceillog2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 ceillog2(uint3 x) { return new int3(ceillog2(x.x), ceillog2(x.y), ceillog2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 ceillog2(uint4 x) { return new int4(ceillog2(x.x), ceillog2(x.y), ceillog2(x.z), ceillog2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int floorlog2(int x) { return 31 - lzcnt((uint)x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 floorlog2(int2 x) { return new int2(floorlog2(x.x), floorlog2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 floorlog2(int3 x) { return new int3(floorlog2(x.x), floorlog2(x.y), floorlog2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 floorlog2(int4 x) { return new int4(floorlog2(x.x), floorlog2(x.y), floorlog2(x.z), floorlog2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int floorlog2(uint x) { return 31 - lzcnt(x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 floorlog2(uint2 x) { return new int2(floorlog2(x.x), floorlog2(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 floorlog2(uint3 x) { return new int3(floorlog2(x.x), floorlog2(x.y), floorlog2(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 floorlog2(uint4 x) { return new int4(floorlog2(x.x), floorlog2(x.y), floorlog2(x.z), floorlog2(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float radians(float x) { return x * (MathF.PI / 180f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 radians(float2 x) { return x * (MathF.PI / 180f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 radians(float3 x) { return x * (MathF.PI / 180f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 radians(float4 x) { return x * (MathF.PI / 180f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double radians(double x) { return x * (Math.PI / 180.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 radians(double2 x) { return x * (Math.PI / 180.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 radians(double3 x) { return x * (Math.PI / 180.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 radians(double4 x) { return x * (Math.PI / 180.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float degrees(float x) { return x * 57.29578f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 degrees(float2 x) { return x * 57.29578f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 degrees(float3 x) { return x * 57.29578f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 degrees(float4 x) { return x * 57.29578f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double degrees(double x) { return x * (180.0 / Math.PI); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 degrees(double2 x) { return x * (180.0 / Math.PI); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 degrees(double3 x) { return x * (180.0 / Math.PI); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 degrees(double4 x) { return x * (180.0 / Math.PI); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmin(int2 x) { return min(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmin(int3 x) { return min(min(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmin(int4 x) { return min(min(x.x, x.y), min(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmin(uint2 x) { return min(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmin(uint3 x) { return min(min(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmin(uint4 x) { return min(min(x.x, x.y), min(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmin(float2 x) { return min(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmin(float3 x) { return min(min(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmin(float4 x) { return min(min(x.x, x.y), min(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmin(double2 x) { return min(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmin(double3 x) { return min(min(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmin(double4 x) { return min(min(x.x, x.y), min(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmax(int2 x) { return max(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmax(int3 x) { return max(max(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int cmax(int4 x) { return max(max(x.x, x.y), max(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmax(uint2 x) { return max(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmax(uint3 x) { return max(max(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint cmax(uint4 x) { return max(max(x.x, x.y), max(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmax(float2 x) { return max(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmax(float3 x) { return max(max(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float cmax(float4 x) { return max(max(x.x, x.y), max(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmax(double2 x) { return max(x.x, x.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmax(double3 x) { return max(max(x.x, x.y), x.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double cmax(double4 x) { return max(max(x.x, x.y), max(x.z, x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int csum(int2 x) { return x.x + x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int csum(int3 x) { return x.x + x.y + x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int csum(int4 x) { return x.x + x.y + x.z + x.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint csum(uint2 x) { return x.x + x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint csum(uint3 x) { return x.x + x.y + x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint csum(uint4 x) { return x.x + x.y + x.z + x.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float csum(float2 x) { return x.x + x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float csum(float3 x) { return x.x + x.y + x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float csum(float4 x) { return x.x + x.y + (x.z + x.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double csum(double2 x) { return x.x + x.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double csum(double3 x) { return x.x + x.y + x.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double csum(double4 x) { return x.x + x.y + (x.z + x.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe static int compress(int* output, int index, int4 val, bool4 mask) { if (mask.x) { output[index++] = val.x; } if (mask.y) { output[index++] = val.y; } if (mask.z) { output[index++] = val.z; } if (mask.w) { output[index++] = val.w; } return index; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe static int compress(uint* output, int index, uint4 val, bool4 mask) { return compress((int*)output, index, *(int4*)(&val), mask); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe static int compress(float* output, int index, float4 val, bool4 mask) { return compress((int*)output, index, *(int4*)(&val), mask); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float f16tof32(uint x) { uint num = (x & 0x7FFF) << 13; uint num2 = num & 0xF800000u; num += 939524096; num += select(0u, 939524096u, num2 == 260046848); num = select(num, asuint(asfloat(num + 8388608) - 6.1035156E-05f), num2 == 0); num |= (x & 0x8000) << 16; return asfloat(num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 f16tof32(uint2 x) { uint2 uint5 = (x & 32767u) << 13; uint2 uint6 = uint5 & 260046848u; uint5 += 939524096u; uint5 += select(0u, 939524096u, uint6 == 260046848u); uint5 = select(uint5, asuint(asfloat(uint5 + 8388608u) - 6.1035156E-05f), uint6 == 0u); uint5 |= (x & 32768u) << 16; return asfloat(uint5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 f16tof32(uint3 x) { uint3 uint5 = (x & 32767u) << 13; uint3 uint6 = uint5 & 260046848u; uint5 += 939524096u; uint5 += select(0u, 939524096u, uint6 == 260046848u); uint5 = select(uint5, asuint(asfloat(uint5 + 8388608u) - 6.1035156E-05f), uint6 == 0u); uint5 |= (x & 32768u) << 16; return asfloat(uint5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 f16tof32(uint4 x) { uint4 uint5 = (x & 32767u) << 13; uint4 uint6 = uint5 & 260046848u; uint5 += 939524096u; uint5 += select(0u, 939524096u, uint6 == 260046848u); uint5 = select(uint5, asuint(asfloat(uint5 + 8388608u) - 6.1035156E-05f), uint6 == 0u); uint5 |= (x & 32768u) << 16; return asfloat(uint5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint f32tof16(float x) { uint num = asuint(x); uint num2 = num & 0x7FFFF000u; uint a = asuint(min(asfloat(num2) * 1.92593E-34f, 260042750f)) + 4096 >> 13; a = select(a, select(31744u, 32256u, (int)num2 > 2139095040), (int)num2 >= 2139095040); return a | ((num & 0x80000FFFu) >> 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 f32tof16(float2 x) { uint2 uint5 = asuint(x); uint2 uint6 = uint5 & 2147479552u; uint2 a = (uint2)(asint(min(asfloat(uint6) * 1.92593E-34f, 260042750f)) + 4096) >> 13; a = select(a, select(31744u, 32256u, (int2)uint6 > 2139095040), (int2)uint6 >= 2139095040); return a | ((uint5 & 2147487743u) >> 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 f32tof16(float3 x) { uint3 uint5 = asuint(x); uint3 uint6 = uint5 & 2147479552u; uint3 a = (uint3)(asint(min(asfloat(uint6) * 1.92593E-34f, 260042750f)) + 4096) >> 13; a = select(a, select(31744u, 32256u, (int3)uint6 > 2139095040), (int3)uint6 >= 2139095040); return a | ((uint5 & 2147487743u) >> 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 f32tof16(float4 x) { uint4 uint5 = asuint(x); uint4 uint6 = uint5 & 2147479552u; uint4 a = (uint4)(asint(min(asfloat(uint6) * 1.92593E-34f, 260042750f)) + 4096) >> 13; a = select(a, select(31744u, 32256u, (int4)uint6 > 2139095040), (int4)uint6 >= 2139095040); return a | ((uint5 & 2147487743u) >> 16); } public unsafe static uint hash(void* pBuffer, int numBytes, uint seed = 0u) { uint4* ptr = (uint4*)pBuffer; uint num = seed + 374761393; if (numBytes >= 16) { uint4 uint5 = new uint4(606290984u, 2246822519u, 0u, 1640531535u) + seed; int num2 = numBytes >> 4; for (int i = 0; i < num2; i++) { uint5 += *(ptr++) * 2246822519u; uint5 = (uint5 << 13) | (uint5 >> 19); uint5 *= 2654435761u; } num = rol(uint5.x, 1) + rol(uint5.y, 7) + rol(uint5.z, 12) + rol(uint5.w, 18); } num += (uint)numBytes; uint* ptr2 = (uint*)ptr; for (int j = 0; j < ((numBytes >> 2) & 3); j++) { num += (uint)((int)(*(ptr2++)) * -1028477379); num = rol(num, 17) * 668265263; } byte* ptr3 = (byte*)ptr2; for (int k = 0; k < (numBytes & 3); k++) { num += (uint)(*(ptr3++) * 374761393); num = rol(num, 11) * 2654435761u; } num ^= num >> 15; num *= 2246822519u; num ^= num >> 13; num *= 3266489917u; return num ^ (num >> 16); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 up() { return new float3(0f, 1f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 down() { return new float3(0f, -1f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 forward() { return new float3(0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 back() { return new float3(0f, 0f, -1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 left() { return new float3(-1f, 0f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 right() { return new float3(1f, 0f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float4 unpacklo(float4 a, float4 b) { return shuffle(a, b, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.LeftY, ShuffleComponent.RightY); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double4 unpacklo(double4 a, double4 b) { return shuffle(a, b, ShuffleComponent.LeftX, ShuffleComponent.RightX, ShuffleComponent.LeftY, ShuffleComponent.RightY); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float4 unpackhi(float4 a, float4 b) { return shuffle(a, b, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.LeftW, ShuffleComponent.RightW); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double4 unpackhi(double4 a, double4 b) { return shuffle(a, b, ShuffleComponent.LeftZ, ShuffleComponent.RightZ, ShuffleComponent.LeftW, ShuffleComponent.RightW); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float4 movelh(float4 a, float4 b) { return shuffle(a, b, ShuffleComponent.LeftX, ShuffleComponent.LeftY, ShuffleComponent.RightX, ShuffleComponent.RightY); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double4 movelh(double4 a, double4 b) { return shuffle(a, b, ShuffleComponent.LeftX, ShuffleComponent.LeftY, ShuffleComponent.RightX, ShuffleComponent.RightY); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static float4 movehl(float4 a, float4 b) { return shuffle(b, a, ShuffleComponent.LeftZ, ShuffleComponent.LeftW, ShuffleComponent.RightZ, ShuffleComponent.RightW); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static double4 movehl(double4 a, double4 b) { return shuffle(b, a, ShuffleComponent.LeftZ, ShuffleComponent.LeftW, ShuffleComponent.RightZ, ShuffleComponent.RightW); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint fold_to_uint(double x) { LongDoubleUnion longDoubleUnion = default(LongDoubleUnion); longDoubleUnion.longValue = 0L; longDoubleUnion.doubleValue = x; return (uint)((int)(longDoubleUnion.longValue >> 32) ^ (int)longDoubleUnion.longValue); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint2 fold_to_uint(double2 x) { return uint2(fold_to_uint(x.x), fold_to_uint(x.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint3 fold_to_uint(double3 x) { return uint3(fold_to_uint(x.x), fold_to_uint(x.y), fold_to_uint(x.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint4 fold_to_uint(double4 x) { return uint4(fold_to_uint(x.x), fold_to_uint(x.y), fold_to_uint(x.z), fold_to_uint(x.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(float4x4 f4x4) { return new float3x3(f4x4); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 float3x3(quaternion rotation) { return new float3x3(rotation); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(float3x3 rotation, float3 translation) { return new float4x4(rotation, translation); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(quaternion rotation, float3 translation) { return new float4x4(rotation, translation); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 float4x4(RigidTransform transform) { return new float4x4(transform); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 orthonormalize(float3x3 i) { float3 c = i.c0; float3 float5 = i.c1 - i.c0 * dot(i.c1, i.c0); float num = length(c); float num2 = length(float5); bool c2 = num > 1E-30f && num2 > 1E-30f; float3x3 result = default(float3x3); result.c0 = select(float3(1f, 0f, 0f), c / num, c2); result.c1 = select(float3(0f, 1f, 0f), float5 / num2, c2); result.c2 = cross(result.c0, result.c1); return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float mul(float a, float b) { return a * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float mul(float2 a, float2 b) { return a.x * b.x + a.y * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float2 a, float2x2 b) { return float2(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float2 a, float2x3 b) { return float3(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float2 a, float2x4 b) { return float4(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y, a.x * b.c3.x + a.y * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float mul(float3 a, float3 b) { return a.x * b.x + a.y * b.y + a.z * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float3 a, float3x2 b) { return float2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float3 a, float3x3 b) { return float3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float3 a, float3x4 b) { return float4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float mul(float4 a, float4 b) { return a.x * b.x + a.y * b.y + a.z * b.z + a.w * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float4 a, float4x2 b) { return float2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float4 a, float4x3 b) { return float3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float4 a, float4x4 b) { return float4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z + a.w * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float2x2 a, float2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 mul(float2x2 a, float2x2 b) { return float2x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 mul(float2x2 a, float2x3 b) { return float2x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 mul(float2x2 a, float2x4 b) { return float2x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float2x3 a, float3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 mul(float2x3 a, float3x2 b) { return float2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 mul(float2x3 a, float3x3 b) { return float2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 mul(float2x3 a, float3x4 b) { return float2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 mul(float2x4 a, float4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 mul(float2x4 a, float4x2 b) { return float2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 mul(float2x4 a, float4x3 b) { return float2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 mul(float2x4 a, float4x4 b) { return float2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float3x2 a, float2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 mul(float3x2 a, float2x2 b) { return float3x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 mul(float3x2 a, float2x3 b) { return float3x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 mul(float3x2 a, float2x4 b) { return float3x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float3x3 a, float3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 mul(float3x3 a, float3x2 b) { return float3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 mul(float3x3 a, float3x3 b) { return float3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 mul(float3x3 a, float3x4 b) { return float3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(float3x4 a, float4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 mul(float3x4 a, float4x2 b) { return float3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 mul(float3x4 a, float4x3 b) { return float3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 mul(float3x4 a, float4x4 b) { return float3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float4x2 a, float2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 mul(float4x2 a, float2x2 b) { return float4x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 mul(float4x2 a, float2x3 b) { return float4x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 mul(float4x2 a, float2x4 b) { return float4x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float4x3 a, float3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 mul(float4x3 a, float3x2 b) { return float4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 mul(float4x3 a, float3x3 b) { return float4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 mul(float4x3 a, float3x4 b) { return float4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(float4x4 a, float4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 mul(float4x4 a, float4x2 b) { return float4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 mul(float4x4 a, float4x3 b) { return float4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 mul(float4x4 a, float4x4 b) { return float4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double mul(double a, double b) { return a * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double mul(double2 a, double2 b) { return a.x * b.x + a.y * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double2 a, double2x2 b) { return double2(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double2 a, double2x3 b) { return double3(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double2 a, double2x4 b) { return double4(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y, a.x * b.c3.x + a.y * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double mul(double3 a, double3 b) { return a.x * b.x + a.y * b.y + a.z * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double3 a, double3x2 b) { return double2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double3 a, double3x3 b) { return double3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double3 a, double3x4 b) { return double4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double mul(double4 a, double4 b) { return a.x * b.x + a.y * b.y + a.z * b.z + a.w * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double4 a, double4x2 b) { return double2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double4 a, double4x3 b) { return double3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double4 a, double4x4 b) { return double4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z + a.w * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double2x2 a, double2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 mul(double2x2 a, double2x2 b) { return double2x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 mul(double2x2 a, double2x3 b) { return double2x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 mul(double2x2 a, double2x4 b) { return double2x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double2x3 a, double3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 mul(double2x3 a, double3x2 b) { return double2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 mul(double2x3 a, double3x3 b) { return double2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 mul(double2x3 a, double3x4 b) { return double2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 mul(double2x4 a, double4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 mul(double2x4 a, double4x2 b) { return double2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 mul(double2x4 a, double4x3 b) { return double2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 mul(double2x4 a, double4x4 b) { return double2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double3x2 a, double2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 mul(double3x2 a, double2x2 b) { return double3x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 mul(double3x2 a, double2x3 b) { return double3x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 mul(double3x2 a, double2x4 b) { return double3x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double3x3 a, double3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 mul(double3x3 a, double3x2 b) { return double3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 mul(double3x3 a, double3x3 b) { return double3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 mul(double3x3 a, double3x4 b) { return double3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 mul(double3x4 a, double4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 mul(double3x4 a, double4x2 b) { return double3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 mul(double3x4 a, double4x3 b) { return double3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 mul(double3x4 a, double4x4 b) { return double3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double4x2 a, double2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 mul(double4x2 a, double2x2 b) { return double4x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 mul(double4x2 a, double2x3 b) { return double4x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 mul(double4x2 a, double2x4 b) { return double4x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double4x3 a, double3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 mul(double4x3 a, double3x2 b) { return double4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 mul(double4x3 a, double3x3 b) { return double4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 mul(double4x3 a, double3x4 b) { return double4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 mul(double4x4 a, double4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 mul(double4x4 a, double4x2 b) { return double4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 mul(double4x4 a, double4x3 b) { return double4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 mul(double4x4 a, double4x4 b) { return double4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int mul(int a, int b) { return a * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int mul(int2 a, int2 b) { return a.x * b.x + a.y * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int2 a, int2x2 b) { return int2(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int2 a, int2x3 b) { return int3(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int2 a, int2x4 b) { return int4(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y, a.x * b.c3.x + a.y * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int mul(int3 a, int3 b) { return a.x * b.x + a.y * b.y + a.z * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int3 a, int3x2 b) { return int2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int3 a, int3x3 b) { return int3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int3 a, int3x4 b) { return int4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int mul(int4 a, int4 b) { return a.x * b.x + a.y * b.y + a.z * b.z + a.w * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int4 a, int4x2 b) { return int2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int4 a, int4x3 b) { return int3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int4 a, int4x4 b) { return int4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z + a.w * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int2x2 a, int2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 mul(int2x2 a, int2x2 b) { return int2x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 mul(int2x2 a, int2x3 b) { return int2x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 mul(int2x2 a, int2x4 b) { return int2x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int2x3 a, int3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 mul(int2x3 a, int3x2 b) { return int2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 mul(int2x3 a, int3x3 b) { return int2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 mul(int2x3 a, int3x4 b) { return int2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 mul(int2x4 a, int4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 mul(int2x4 a, int4x2 b) { return int2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 mul(int2x4 a, int4x3 b) { return int2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 mul(int2x4 a, int4x4 b) { return int2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int3x2 a, int2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 mul(int3x2 a, int2x2 b) { return int3x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 mul(int3x2 a, int2x3 b) { return int3x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 mul(int3x2 a, int2x4 b) { return int3x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int3x3 a, int3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 mul(int3x3 a, int3x2 b) { return int3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 mul(int3x3 a, int3x3 b) { return int3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 mul(int3x3 a, int3x4 b) { return int3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 mul(int3x4 a, int4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 mul(int3x4 a, int4x2 b) { return int3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 mul(int3x4 a, int4x3 b) { return int3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 mul(int3x4 a, int4x4 b) { return int3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int4x2 a, int2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 mul(int4x2 a, int2x2 b) { return int4x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 mul(int4x2 a, int2x3 b) { return int4x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 mul(int4x2 a, int2x4 b) { return int4x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int4x3 a, int3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 mul(int4x3 a, int3x2 b) { return int4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 mul(int4x3 a, int3x3 b) { return int4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 mul(int4x3 a, int3x4 b) { return int4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 mul(int4x4 a, int4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 mul(int4x4 a, int4x2 b) { return int4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 mul(int4x4 a, int4x3 b) { return int4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 mul(int4x4 a, int4x4 b) { return int4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint mul(uint a, uint b) { return a * b; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint mul(uint2 a, uint2 b) { return a.x * b.x + a.y * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint2 a, uint2x2 b) { return uint2(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint2 a, uint2x3 b) { return uint3(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint2 a, uint2x4 b) { return uint4(a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y, a.x * b.c3.x + a.y * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint mul(uint3 a, uint3 b) { return a.x * b.x + a.y * b.y + a.z * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint3 a, uint3x2 b) { return uint2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint3 a, uint3x3 b) { return uint3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint3 a, uint3x4 b) { return uint4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint mul(uint4 a, uint4 b) { return a.x * b.x + a.y * b.y + a.z * b.z + a.w * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint4 a, uint4x2 b) { return uint2(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint4 a, uint4x3 b) { return uint3(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint4 a, uint4x4 b) { return uint4(a.x * b.c0.x + a.y * b.c0.y + a.z * b.c0.z + a.w * b.c0.w, a.x * b.c1.x + a.y * b.c1.y + a.z * b.c1.z + a.w * b.c1.w, a.x * b.c2.x + a.y * b.c2.y + a.z * b.c2.z + a.w * b.c2.w, a.x * b.c3.x + a.y * b.c3.y + a.z * b.c3.z + a.w * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint2x2 a, uint2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 mul(uint2x2 a, uint2x2 b) { return uint2x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 mul(uint2x2 a, uint2x3 b) { return uint2x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 mul(uint2x2 a, uint2x4 b) { return uint2x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint2x3 a, uint3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 mul(uint2x3 a, uint3x2 b) { return uint2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 mul(uint2x3 a, uint3x3 b) { return uint2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 mul(uint2x3 a, uint3x4 b) { return uint2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 mul(uint2x4 a, uint4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 mul(uint2x4 a, uint4x2 b) { return uint2x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 mul(uint2x4 a, uint4x3 b) { return uint2x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 mul(uint2x4 a, uint4x4 b) { return uint2x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint3x2 a, uint2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 mul(uint3x2 a, uint2x2 b) { return uint3x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 mul(uint3x2 a, uint2x3 b) { return uint3x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 mul(uint3x2 a, uint2x4 b) { return uint3x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint3x3 a, uint3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 mul(uint3x3 a, uint3x2 b) { return uint3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 mul(uint3x3 a, uint3x3 b) { return uint3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 mul(uint3x3 a, uint3x4 b) { return uint3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 mul(uint3x4 a, uint4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 mul(uint3x4 a, uint4x2 b) { return uint3x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 mul(uint3x4 a, uint4x3 b) { return uint3x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 mul(uint3x4 a, uint4x4 b) { return uint3x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint4x2 a, uint2 b) { return a.c0 * b.x + a.c1 * b.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 mul(uint4x2 a, uint2x2 b) { return uint4x2(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 mul(uint4x2 a, uint2x3 b) { return uint4x3(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 mul(uint4x2 a, uint2x4 b) { return uint4x4(a.c0 * b.c0.x + a.c1 * b.c0.y, a.c0 * b.c1.x + a.c1 * b.c1.y, a.c0 * b.c2.x + a.c1 * b.c2.y, a.c0 * b.c3.x + a.c1 * b.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint4x3 a, uint3 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 mul(uint4x3 a, uint3x2 b) { return uint4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 mul(uint4x3 a, uint3x3 b) { return uint4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 mul(uint4x3 a, uint3x4 b) { return uint4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 mul(uint4x4 a, uint4 b) { return a.c0 * b.x + a.c1 * b.y + a.c2 * b.z + a.c3 * b.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 mul(uint4x4 a, uint4x2 b) { return uint4x2(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 mul(uint4x4 a, uint4x3 b) { return uint4x3(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 mul(uint4x4 a, uint4x4 b) { return uint4x4(a.c0 * b.c0.x + a.c1 * b.c0.y + a.c2 * b.c0.z + a.c3 * b.c0.w, a.c0 * b.c1.x + a.c1 * b.c1.y + a.c2 * b.c1.z + a.c3 * b.c1.w, a.c0 * b.c2.x + a.c1 * b.c2.y + a.c2 * b.c2.z + a.c3 * b.c2.w, a.c0 * b.c3.x + a.c1 * b.c3.y + a.c2 * b.c3.z + a.c3 * b.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion quaternion(float x, float y, float z, float w) { return new quaternion(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion quaternion(float4 value) { return new quaternion(value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion quaternion(float3x3 m) { return new quaternion(m); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion quaternion(float4x4 m) { return new quaternion(m); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion conjugate(quaternion q) { return quaternion(q.value * float4(-1f, -1f, -1f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion inverse(quaternion q) { float4 value = q.value; return quaternion(rcp(dot(value, value)) * value * float4(-1f, -1f, -1f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float dot(quaternion a, quaternion b) { return dot(a.value, b.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float length(quaternion q) { return sqrt(dot(q.value, q.value)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float lengthsq(quaternion q) { return dot(q.value, q.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion normalize(quaternion q) { float4 value = q.value; return quaternion(rsqrt(dot(value, value)) * value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion normalizesafe(quaternion q) { float4 value = q.value; float num = dot(value, value); return quaternion(select(Unity.Mathematics.quaternion.identity.value, value * rsqrt(num), num > 1.1754944E-38f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion normalizesafe(quaternion q, quaternion defaultvalue) { float4 value = q.value; float num = dot(value, value); return quaternion(select(defaultvalue.value, value * rsqrt(num), num > 1.1754944E-38f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion unitexp(quaternion q) { float num = rsqrt(dot(q.value.xyz, q.value.xyz)); float x = rcp(num); sincos(x, out var s, out var c); return quaternion(float4(q.value.xyz * num * s, c)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion exp(quaternion q) { float num = rsqrt(dot(q.value.xyz, q.value.xyz)); float x = rcp(num); sincos(x, out var s, out var c); return quaternion(float4(q.value.xyz * num * s, c) * exp(q.value.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion unitlog(quaternion q) { float num = clamp(q.value.w, -1f, 1f); float num2 = acos(num) * rsqrt(1f - num * num); return quaternion(float4(q.value.xyz * num2, 0f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion log(quaternion q) { float num = dot(q.value.xyz, q.value.xyz); float x = num + q.value.w * q.value.w; float num2 = acos(clamp(q.value.w * rsqrt(x), -1f, 1f)) * rsqrt(num); return quaternion(float4(q.value.xyz * num2, 0.5f * log(x))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion mul(quaternion a, quaternion b) { return quaternion(a.value.wwww * b.value + (a.value.xyzx * b.value.wwwx + a.value.yzxy * b.value.zxyy) * float4(1f, 1f, 1f, -1f) - a.value.zxyz * b.value.yzxz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 mul(quaternion q, float3 v) { float3 float5 = 2f * cross(q.value.xyz, v); return v + q.value.w * float5 + cross(q.value.xyz, float5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 rotate(quaternion q, float3 v) { float3 float5 = 2f * cross(q.value.xyz, v); return v + q.value.w * float5 + cross(q.value.xyz, float5); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion nlerp(quaternion q1, quaternion q2, float t) { float num = dot(q1, q2); if (num < 0f) { q2.value = -q2.value; } return normalize(quaternion(lerp(q1.value, q2.value, t))); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion slerp(quaternion q1, quaternion q2, float t) { float num = dot(q1, q2); if (num < 0f) { num = 0f - num; q2.value = -q2.value; } if (num < 0.9995f) { float num2 = acos(num); float num3 = rsqrt(1f - num * num); float num4 = sin(num2 * (1f - t)) * num3; float num5 = sin(num2 * t) * num3; return quaternion(q1.value * num4 + q2.value * num5); } return nlerp(q1, q2, t); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(quaternion q) { return hash(q.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(quaternion q) { return hashwide(q.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 forward(quaternion q) { return mul(q, float3(0f, 0f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RigidTransform(quaternion rot, float3 pos) { return new RigidTransform(rot, pos); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RigidTransform(float3x3 rotation, float3 translation) { return new RigidTransform(rotation, translation); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RigidTransform(float4x4 transform) { return new RigidTransform(transform); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform inverse(RigidTransform t) { quaternion quaternion2 = inverse(t.rot); float3 translation = mul(quaternion2, -t.pos); return new RigidTransform(quaternion2, translation); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform mul(RigidTransform a, RigidTransform b) { return new RigidTransform(mul(a.rot, b.rot), mul(a.rot, b.pos) + a.pos); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 mul(RigidTransform a, float4 pos) { return float4(mul(a.rot, pos.xyz) + a.pos * pos.w, pos.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 rotate(RigidTransform a, float3 dir) { return mul(a.rot, dir); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 transform(RigidTransform a, float3 pos) { return mul(a.rot, pos) + a.pos; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(RigidTransform t) { return hash(t.rot) + (uint)(-976930485 * (int)hash(t.pos)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(RigidTransform t) { return hashwide(t.rot) + 3318036811u * hashwide(t.pos).xyzz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(uint x, uint y) { return new uint2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(uint2 xy) { return new uint2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(uint v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(bool v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(bool2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(int v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(int2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(float v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(float2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(double v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 uint2(double2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint2 v) { return csum(v * uint2(1148435377u, 3416333663u)) + 1750611407; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(uint2 v) { return v * uint2(3285396193u, 3110507567u) + 4271396531u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint shuffle(uint2 left, uint2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 shuffle(uint2 left, uint2 right, ShuffleComponent x, ShuffleComponent y) { return uint2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 shuffle(uint2 left, uint2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return uint3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 shuffle(uint2 left, uint2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return uint4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint select_shuffle_component(uint2 a, uint2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(uint2 c0, uint2 c1) { return new uint2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(uint m00, uint m01, uint m10, uint m11) { return new uint2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(uint v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(bool v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(bool2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(int v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(int2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(float v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(float2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(double v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 uint2x2(double2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 transpose(uint2x2 v) { return uint2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint2x2 v) { return csum(v.c0 * uint2(3010324327u, 1875523709u) + v.c1 * uint2(2937008387u, 3835713223u)) + 2216526373u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(uint2x2 v) { return v.c0 * uint2(3375971453u, 3559829411u) + v.c1 * uint2(3652178029u, 2544260129u) + 2013864031u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(uint2 c0, uint2 c1, uint2 c2) { return new uint2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12) { return new uint2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(uint v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(bool v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(bool2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(int v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(int2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(float v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(float2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(double v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 uint2x3(double2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 transpose(uint2x3 v) { return uint3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint2x3 v) { return csum(v.c0 * uint2(4016293529u, 2416021567u) + v.c1 * uint2(2828384717u, 2636362241u) + v.c2 * uint2(1258410977u, 1952565773u)) + 2037535609; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(uint2x3 v) { return v.c0 * uint2(3592785499u, 3996716183u) + v.c1 * uint2(2626301701u, 1306289417u) + v.c2 * uint2(2096137163u, 1548578029u) + 4178800919u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(uint2 c0, uint2 c1, uint2 c2, uint2 c3) { return new uint2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13) { return new uint2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(uint v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(bool v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(bool2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(int v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(int2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(float v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(float2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(double v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 uint2x4(double2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 transpose(uint2x4 v) { return uint4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint2x4 v) { return csum(v.c0 * uint2(2650080659u, 4052675461u) + v.c1 * uint2(2652487619u, 2174136431u) + v.c2 * uint2(3528391193u, 2105559227u) + v.c3 * uint2(1899745391u, 1966790317u)) + 3516359879u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(uint2x4 v) { return v.c0 * uint2(3050356579u, 4178586719u) + v.c1 * uint2(2558655391u, 1453413133u) + v.c2 * uint2(2152428077u, 1938706661u) + v.c3 * uint2(1338588197u, 3439609253u) + 3535343003u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(uint x, uint y, uint z) { return new uint3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(uint x, uint2 yz) { return new uint3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(uint2 xy, uint z) { return new uint3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(uint3 xyz) { return new uint3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(uint v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(bool v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(bool3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(int v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(int3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(float v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(float3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(double v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 uint3(double3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint3 v) { return csum(v * uint3(3441847433u, 4052036147u, 2011389559u)) + 2252224297u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(uint3 v) { return v * uint3(3784421429u, 1750626223u, 3571447507u) + 3412283213u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint shuffle(uint3 left, uint3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y) { return uint2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return uint3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return uint4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint select_shuffle_component(uint3 a, uint3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(uint3 c0, uint3 c1) { return new uint3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(uint m00, uint m01, uint m10, uint m11, uint m20, uint m21) { return new uint3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(uint v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(bool v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(bool3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(int v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(int3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(float v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(float3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(double v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 uint3x2(double3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 transpose(uint3x2 v) { return uint2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint3x2 v) { return csum(v.c0 * uint3(1365086453u, 3969870067u, 4192899797u) + v.c1 * uint3(3271228601u, 1634639009u, 3318036811u)) + 3404170631u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(uint3x2 v) { return v.c0 * uint3(2048213449u, 4164671783u, 1780759499u) + v.c1 * uint3(1352369353u, 2446407751u, 1391928079u) + 3475533443u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(uint3 c0, uint3 c1, uint3 c2) { return new uint3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12, uint m20, uint m21, uint m22) { return new uint3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(uint v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(bool v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(bool3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(int v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(int3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(float v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(float3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(double v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 uint3x3(double3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 transpose(uint3x3 v) { return uint3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint3x3 v) { return csum(v.c0 * uint3(2892026051u, 2455987759u, 3868600063u) + v.c1 * uint3(3170963179u, 2632835537u, 1136528209u) + v.c2 * uint3(2944626401u, 2972762423u, 1417889653u)) + 2080514593; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(uint3x3 v) { return v.c0 * uint3(2731544287u, 2828498809u, 2669441947u) + v.c1 * uint3(1260114311u, 2650080659u, 4052675461u) + v.c2 * uint3(2652487619u, 2174136431u, 3528391193u) + 2105559227u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(uint3 c0, uint3 c1, uint3 c2, uint3 c3) { return new uint3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13, uint m20, uint m21, uint m22, uint m23) { return new uint3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(uint v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(bool v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(bool3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(int v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(int3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(float v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(float3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(double v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 uint3x4(double3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 transpose(uint3x4 v) { return uint4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint3x4 v) { return csum(v.c0 * uint3(3508684087u, 3919501043u, 1209161033u) + v.c1 * uint3(4007793211u, 3819806693u, 3458005183u) + v.c2 * uint3(2078515003u, 4206465343u, 3025146473u) + v.c3 * uint3(3763046909u, 3678265601u, 2070747979u)) + 1480171127; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(uint3x4 v) { return v.c0 * uint3(1588341193u, 4234155257u, 1811310911u) + v.c1 * uint3(2635799963u, 4165137857u, 2759770933u) + v.c2 * uint3(2759319383u, 3299952959u, 3121178323u) + v.c3 * uint3(2948522579u, 1531026433u, 1365086453u) + 3969870067u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint x, uint y, uint z, uint w) { return new uint4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint x, uint y, uint2 zw) { return new uint4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint x, uint2 yz, uint w) { return new uint4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint x, uint3 yzw) { return new uint4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint2 xy, uint z, uint w) { return new uint4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint2 xy, uint2 zw) { return new uint4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint3 xyz, uint w) { return new uint4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint4 xyzw) { return new uint4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(uint v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(bool v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(bool4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(int v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(int4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(float v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(float4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(double v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 uint4(double4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint4 v) { return csum(v * uint4(3029516053u, 3547472099u, 2057487037u, 3781937309u)) + 2057338067; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(uint4 v) { return v * uint4(2942577577u, 2834440507u, 2671762487u, 2892026051u) + 2455987759u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint shuffle(uint4 left, uint4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 shuffle(uint4 left, uint4 right, ShuffleComponent x, ShuffleComponent y) { return uint2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 shuffle(uint4 left, uint4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return uint3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 shuffle(uint4 left, uint4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return uint4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint select_shuffle_component(uint4 a, uint4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(uint4 c0, uint4 c1) { return new uint4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(uint m00, uint m01, uint m10, uint m11, uint m20, uint m21, uint m30, uint m31) { return new uint4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(uint v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(bool v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(bool4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(int v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(int4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(float v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(float4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(double v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 uint4x2(double4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 transpose(uint4x2 v) { return uint2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint4x2 v) { return csum(v.c0 * uint4(4198118021u, 2908068253u, 3705492289u, 2497566569u) + v.c1 * uint4(2716413241u, 1166264321u, 2503385333u, 2944493077u)) + 2599999021u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(uint4x2 v) { return v.c0 * uint4(3814721321u, 1595355149u, 1728931849u, 2062756937u) + v.c1 * uint4(2920485769u, 1562056283u, 2265541847u, 1283419601u) + 1210229737u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(uint4 c0, uint4 c1, uint4 c2) { return new uint4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12, uint m20, uint m21, uint m22, uint m30, uint m31, uint m32) { return new uint4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(uint v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(bool v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(bool4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(int v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(int4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(float v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(float4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(double v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 uint4x3(double4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 transpose(uint4x3 v) { return uint3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint4x3 v) { return csum(v.c0 * uint4(3881277847u, 4017968839u, 1727237899u, 1648514723u) + v.c1 * uint4(1385344481u, 3538260197u, 4066109527u, 2613148903u) + v.c2 * uint4(3367528529u, 1678332449u, 2918459647u, 2744611081u)) + 1952372791; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(uint4x3 v) { return v.c0 * uint4(2631698677u, 4200781601u, 2119021007u, 1760485621u) + v.c1 * uint4(3157985881u, 2171534173u, 2723054263u, 1168253063u) + v.c2 * uint4(4228926523u, 1610574617u, 1584185147u, 3041325733u) + 3150930919u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(uint4 c0, uint4 c1, uint4 c2, uint4 c3) { return new uint4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13, uint m20, uint m21, uint m22, uint m23, uint m30, uint m31, uint m32, uint m33) { return new uint4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(uint v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(bool v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(bool4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(int v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(int4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(float v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(float4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(double v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 uint4x4(double4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 transpose(uint4x4 v) { return uint4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(uint4x4 v) { return csum(v.c0 * uint4(2627668003u, 1520214331u, 2949502447u, 2827819133u) + v.c1 * uint4(3480140317u, 2642994593u, 3940484981u, 1954192763u) + v.c2 * uint4(1091696537u, 3052428017u, 4253034763u, 2338696631u) + v.c3 * uint4(3757372771u, 1885959949u, 3508684087u, 3919501043u)) + 1209161033; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(uint4x4 v) { return v.c0 * uint4(4007793211u, 3819806693u, 3458005183u, 2078515003u) + v.c1 * uint4(4206465343u, 3025146473u, 3763046909u, 3678265601u) + v.c2 * uint4(2070747979u, 1480171127u, 1588341193u, 4234155257u) + v.c3 * uint4(1811310911u, 2635799963u, 4165137857u, 2759770933u) + 2759319383u; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool2x2 : IEquatable { public bool2 c0; public bool2 c1; public unsafe ref bool2 this[int index] { get { fixed (bool2x2* ptr = &this) { return ref *(bool2*)((byte*)ptr + (nint)index * (nint)sizeof(bool2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x2(bool2 c0, bool2 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x2(bool m00, bool m01, bool m10, bool m11) { c0 = new bool2(m00, m10); c1 = new bool2(m01, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x2(bool v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool2x2(bool v) { return new bool2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(bool2x2 lhs, bool2x2 rhs) { return new bool2x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(bool2x2 lhs, bool rhs) { return new bool2x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(bool lhs, bool2x2 rhs) { return new bool2x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(bool2x2 lhs, bool2x2 rhs) { return new bool2x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(bool2x2 lhs, bool rhs) { return new bool2x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(bool lhs, bool2x2 rhs) { return new bool2x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !(bool2x2 val) { return new bool2x2(!val.c0, !val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator &(bool2x2 lhs, bool2x2 rhs) { return new bool2x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator &(bool2x2 lhs, bool rhs) { return new bool2x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator &(bool lhs, bool2x2 rhs) { return new bool2x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator |(bool2x2 lhs, bool2x2 rhs) { return new bool2x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator |(bool2x2 lhs, bool rhs) { return new bool2x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator |(bool lhs, bool2x2 rhs) { return new bool2x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ^(bool2x2 lhs, bool2x2 rhs) { return new bool2x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ^(bool2x2 lhs, bool rhs) { return new bool2x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ^(bool lhs, bool2x2 rhs) { return new bool2x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool2x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is bool2x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool2x2({c0.x}, {c1.x}, {c0.y}, {c1.y})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool2x3 : IEquatable { public bool2 c0; public bool2 c1; public bool2 c2; public unsafe ref bool2 this[int index] { get { fixed (bool2x3* ptr = &this) { return ref *(bool2*)((byte*)ptr + (nint)index * (nint)sizeof(bool2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x3(bool2 c0, bool2 c1, bool2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12) { c0 = new bool2(m00, m10); c1 = new bool2(m01, m11); c2 = new bool2(m02, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x3(bool v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool2x3(bool v) { return new bool2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(bool2x3 lhs, bool2x3 rhs) { return new bool2x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(bool2x3 lhs, bool rhs) { return new bool2x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(bool lhs, bool2x3 rhs) { return new bool2x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(bool2x3 lhs, bool2x3 rhs) { return new bool2x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(bool2x3 lhs, bool rhs) { return new bool2x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(bool lhs, bool2x3 rhs) { return new bool2x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !(bool2x3 val) { return new bool2x3(!val.c0, !val.c1, !val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator &(bool2x3 lhs, bool2x3 rhs) { return new bool2x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator &(bool2x3 lhs, bool rhs) { return new bool2x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator &(bool lhs, bool2x3 rhs) { return new bool2x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator |(bool2x3 lhs, bool2x3 rhs) { return new bool2x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator |(bool2x3 lhs, bool rhs) { return new bool2x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator |(bool lhs, bool2x3 rhs) { return new bool2x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ^(bool2x3 lhs, bool2x3 rhs) { return new bool2x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ^(bool2x3 lhs, bool rhs) { return new bool2x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ^(bool lhs, bool2x3 rhs) { return new bool2x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool2x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is bool2x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool2x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool2x4 : IEquatable { public bool2 c0; public bool2 c1; public bool2 c2; public bool2 c3; public unsafe ref bool2 this[int index] { get { fixed (bool2x4* ptr = &this) { return ref *(bool2*)((byte*)ptr + (nint)index * (nint)sizeof(bool2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x4(bool2 c0, bool2 c1, bool2 c2, bool2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13) { c0 = new bool2(m00, m10); c1 = new bool2(m01, m11); c2 = new bool2(m02, m12); c3 = new bool2(m03, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2x4(bool v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool2x4(bool v) { return new bool2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(bool2x4 lhs, bool2x4 rhs) { return new bool2x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(bool2x4 lhs, bool rhs) { return new bool2x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(bool lhs, bool2x4 rhs) { return new bool2x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(bool2x4 lhs, bool2x4 rhs) { return new bool2x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(bool2x4 lhs, bool rhs) { return new bool2x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(bool lhs, bool2x4 rhs) { return new bool2x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !(bool2x4 val) { return new bool2x4(!val.c0, !val.c1, !val.c2, !val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator &(bool2x4 lhs, bool2x4 rhs) { return new bool2x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator &(bool2x4 lhs, bool rhs) { return new bool2x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator &(bool lhs, bool2x4 rhs) { return new bool2x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator |(bool2x4 lhs, bool2x4 rhs) { return new bool2x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator |(bool2x4 lhs, bool rhs) { return new bool2x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator |(bool lhs, bool2x4 rhs) { return new bool2x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ^(bool2x4 lhs, bool2x4 rhs) { return new bool2x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ^(bool2x4 lhs, bool rhs) { return new bool2x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ^(bool lhs, bool2x4 rhs) { return new bool2x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool2x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is bool2x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool2x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct bool3 : IEquatable { internal sealed class DebuggerProxy { public bool x; public bool y; public bool z; public DebuggerProxy(bool3 v) { x = v.x; y = v.y; z = v.z; } } [MarshalAs(UnmanagedType.U1)] public bool x; [MarshalAs(UnmanagedType.U1)] public bool y; [MarshalAs(UnmanagedType.U1)] public bool z; [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, z); } } public unsafe bool this[int index] { get { fixed (bool3* ptr = &this) { return ((byte*)ptr)[index] != 0; } } set { fixed (bool* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3(bool x, bool y, bool z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3(bool x, bool2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3(bool2 xy, bool z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3(bool3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3(bool v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool3(bool v) { return new bool3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(bool3 lhs, bool3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(bool3 lhs, bool rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(bool lhs, bool3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(bool3 lhs, bool3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(bool3 lhs, bool rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(bool lhs, bool3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !(bool3 val) { return new bool3(!val.x, !val.y, !val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator &(bool3 lhs, bool3 rhs) { return new bool3(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator &(bool3 lhs, bool rhs) { return new bool3(lhs.x && rhs, lhs.y && rhs, lhs.z && rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator &(bool lhs, bool3 rhs) { return new bool3(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator |(bool3 lhs, bool3 rhs) { return new bool3(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator |(bool3 lhs, bool rhs) { return new bool3(lhs.x || rhs, lhs.y || rhs, lhs.z || rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator |(bool lhs, bool3 rhs) { return new bool3(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ^(bool3 lhs, bool3 rhs) { return new bool3(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ^(bool3 lhs, bool rhs) { return new bool3(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ^(bool lhs, bool3 rhs) { return new bool3(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is bool3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool3({x}, {y}, {z})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool3x2 : IEquatable { public bool3 c0; public bool3 c1; public unsafe ref bool3 this[int index] { get { fixed (bool3x2* ptr = &this) { return ref *(bool3*)((byte*)ptr + (nint)index * (nint)sizeof(bool3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x2(bool3 c0, bool3 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21) { c0 = new bool3(m00, m10, m20); c1 = new bool3(m01, m11, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x2(bool v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool3x2(bool v) { return new bool3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(bool3x2 lhs, bool3x2 rhs) { return new bool3x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(bool3x2 lhs, bool rhs) { return new bool3x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(bool lhs, bool3x2 rhs) { return new bool3x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(bool3x2 lhs, bool3x2 rhs) { return new bool3x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(bool3x2 lhs, bool rhs) { return new bool3x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(bool lhs, bool3x2 rhs) { return new bool3x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !(bool3x2 val) { return new bool3x2(!val.c0, !val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator &(bool3x2 lhs, bool3x2 rhs) { return new bool3x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator &(bool3x2 lhs, bool rhs) { return new bool3x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator &(bool lhs, bool3x2 rhs) { return new bool3x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator |(bool3x2 lhs, bool3x2 rhs) { return new bool3x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator |(bool3x2 lhs, bool rhs) { return new bool3x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator |(bool lhs, bool3x2 rhs) { return new bool3x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ^(bool3x2 lhs, bool3x2 rhs) { return new bool3x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ^(bool3x2 lhs, bool rhs) { return new bool3x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ^(bool lhs, bool3x2 rhs) { return new bool3x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool3x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is bool3x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool3x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool3x3 : IEquatable { public bool3 c0; public bool3 c1; public bool3 c2; public unsafe ref bool3 this[int index] { get { fixed (bool3x3* ptr = &this) { return ref *(bool3*)((byte*)ptr + (nint)index * (nint)sizeof(bool3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x3(bool3 c0, bool3 c1, bool3 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22) { c0 = new bool3(m00, m10, m20); c1 = new bool3(m01, m11, m21); c2 = new bool3(m02, m12, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x3(bool v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool3x3(bool v) { return new bool3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(bool3x3 lhs, bool3x3 rhs) { return new bool3x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(bool3x3 lhs, bool rhs) { return new bool3x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(bool lhs, bool3x3 rhs) { return new bool3x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(bool3x3 lhs, bool3x3 rhs) { return new bool3x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(bool3x3 lhs, bool rhs) { return new bool3x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(bool lhs, bool3x3 rhs) { return new bool3x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !(bool3x3 val) { return new bool3x3(!val.c0, !val.c1, !val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator &(bool3x3 lhs, bool3x3 rhs) { return new bool3x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator &(bool3x3 lhs, bool rhs) { return new bool3x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator &(bool lhs, bool3x3 rhs) { return new bool3x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator |(bool3x3 lhs, bool3x3 rhs) { return new bool3x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator |(bool3x3 lhs, bool rhs) { return new bool3x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator |(bool lhs, bool3x3 rhs) { return new bool3x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ^(bool3x3 lhs, bool3x3 rhs) { return new bool3x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ^(bool3x3 lhs, bool rhs) { return new bool3x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ^(bool lhs, bool3x3 rhs) { return new bool3x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool3x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is bool3x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool3x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool3x4 : IEquatable { public bool3 c0; public bool3 c1; public bool3 c2; public bool3 c3; public unsafe ref bool3 this[int index] { get { fixed (bool3x4* ptr = &this) { return ref *(bool3*)((byte*)ptr + (nint)index * (nint)sizeof(bool3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x4(bool3 c0, bool3 c1, bool3 c2, bool3 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23) { c0 = new bool3(m00, m10, m20); c1 = new bool3(m01, m11, m21); c2 = new bool3(m02, m12, m22); c3 = new bool3(m03, m13, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3x4(bool v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool3x4(bool v) { return new bool3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(bool3x4 lhs, bool3x4 rhs) { return new bool3x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(bool3x4 lhs, bool rhs) { return new bool3x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(bool lhs, bool3x4 rhs) { return new bool3x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(bool3x4 lhs, bool3x4 rhs) { return new bool3x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(bool3x4 lhs, bool rhs) { return new bool3x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(bool lhs, bool3x4 rhs) { return new bool3x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !(bool3x4 val) { return new bool3x4(!val.c0, !val.c1, !val.c2, !val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator &(bool3x4 lhs, bool3x4 rhs) { return new bool3x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator &(bool3x4 lhs, bool rhs) { return new bool3x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator &(bool lhs, bool3x4 rhs) { return new bool3x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator |(bool3x4 lhs, bool3x4 rhs) { return new bool3x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator |(bool3x4 lhs, bool rhs) { return new bool3x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator |(bool lhs, bool3x4 rhs) { return new bool3x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ^(bool3x4 lhs, bool3x4 rhs) { return new bool3x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ^(bool3x4 lhs, bool rhs) { return new bool3x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ^(bool lhs, bool3x4 rhs) { return new bool3x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool3x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is bool3x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool3x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct bool4 : IEquatable { internal sealed class DebuggerProxy { public bool x; public bool y; public bool z; public bool w; public DebuggerProxy(bool4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } [MarshalAs(UnmanagedType.U1)] public bool x; [MarshalAs(UnmanagedType.U1)] public bool y; [MarshalAs(UnmanagedType.U1)] public bool z; [MarshalAs(UnmanagedType.U1)] public bool w; [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(w, w); } } public unsafe bool this[int index] { get { fixed (bool4* ptr = &this) { return ((byte*)ptr)[index] != 0; } } set { fixed (bool* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool x, bool y, bool z, bool w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool x, bool y, bool2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool x, bool2 yz, bool w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool x, bool3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool2 xy, bool z, bool w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool2 xy, bool2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool3 xyz, bool w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4(bool v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool4(bool v) { return new bool4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(bool4 lhs, bool4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(bool4 lhs, bool rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(bool lhs, bool4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(bool4 lhs, bool4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(bool4 lhs, bool rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(bool lhs, bool4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !(bool4 val) { return new bool4(!val.x, !val.y, !val.z, !val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator &(bool4 lhs, bool4 rhs) { return new bool4(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z, lhs.w & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator &(bool4 lhs, bool rhs) { return new bool4(lhs.x && rhs, lhs.y && rhs, lhs.z && rhs, lhs.w && rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator &(bool lhs, bool4 rhs) { return new bool4(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z, lhs & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator |(bool4 lhs, bool4 rhs) { return new bool4(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z, lhs.w | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator |(bool4 lhs, bool rhs) { return new bool4(lhs.x || rhs, lhs.y || rhs, lhs.z || rhs, lhs.w || rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator |(bool lhs, bool4 rhs) { return new bool4(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z, lhs | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ^(bool4 lhs, bool4 rhs) { return new bool4(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z, lhs.w ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ^(bool4 lhs, bool rhs) { return new bool4(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs, lhs.w ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ^(bool lhs, bool4 rhs) { return new bool4(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z, lhs ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is bool4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool4({x}, {y}, {z}, {w})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool4x2 : IEquatable { public bool4 c0; public bool4 c1; public unsafe ref bool4 this[int index] { get { fixed (bool4x2* ptr = &this) { return ref *(bool4*)((byte*)ptr + (nint)index * (nint)sizeof(bool4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x2(bool4 c0, bool4 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21, bool m30, bool m31) { c0 = new bool4(m00, m10, m20, m30); c1 = new bool4(m01, m11, m21, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x2(bool v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool4x2(bool v) { return new bool4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(bool4x2 lhs, bool4x2 rhs) { return new bool4x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(bool4x2 lhs, bool rhs) { return new bool4x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(bool lhs, bool4x2 rhs) { return new bool4x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(bool4x2 lhs, bool4x2 rhs) { return new bool4x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(bool4x2 lhs, bool rhs) { return new bool4x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(bool lhs, bool4x2 rhs) { return new bool4x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !(bool4x2 val) { return new bool4x2(!val.c0, !val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator &(bool4x2 lhs, bool4x2 rhs) { return new bool4x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator &(bool4x2 lhs, bool rhs) { return new bool4x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator &(bool lhs, bool4x2 rhs) { return new bool4x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator |(bool4x2 lhs, bool4x2 rhs) { return new bool4x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator |(bool4x2 lhs, bool rhs) { return new bool4x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator |(bool lhs, bool4x2 rhs) { return new bool4x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ^(bool4x2 lhs, bool4x2 rhs) { return new bool4x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ^(bool4x2 lhs, bool rhs) { return new bool4x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ^(bool lhs, bool4x2 rhs) { return new bool4x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool4x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is bool4x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool4x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z}, {c0.w}, {c1.w})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool4x3 : IEquatable { public bool4 c0; public bool4 c1; public bool4 c2; public unsafe ref bool4 this[int index] { get { fixed (bool4x3* ptr = &this) { return ref *(bool4*)((byte*)ptr + (nint)index * (nint)sizeof(bool4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x3(bool4 c0, bool4 c1, bool4 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22, bool m30, bool m31, bool m32) { c0 = new bool4(m00, m10, m20, m30); c1 = new bool4(m01, m11, m21, m31); c2 = new bool4(m02, m12, m22, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x3(bool v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool4x3(bool v) { return new bool4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(bool4x3 lhs, bool4x3 rhs) { return new bool4x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(bool4x3 lhs, bool rhs) { return new bool4x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(bool lhs, bool4x3 rhs) { return new bool4x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(bool4x3 lhs, bool4x3 rhs) { return new bool4x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(bool4x3 lhs, bool rhs) { return new bool4x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(bool lhs, bool4x3 rhs) { return new bool4x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !(bool4x3 val) { return new bool4x3(!val.c0, !val.c1, !val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator &(bool4x3 lhs, bool4x3 rhs) { return new bool4x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator &(bool4x3 lhs, bool rhs) { return new bool4x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator &(bool lhs, bool4x3 rhs) { return new bool4x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator |(bool4x3 lhs, bool4x3 rhs) { return new bool4x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator |(bool4x3 lhs, bool rhs) { return new bool4x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator |(bool lhs, bool4x3 rhs) { return new bool4x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ^(bool4x3 lhs, bool4x3 rhs) { return new bool4x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ^(bool4x3 lhs, bool rhs) { return new bool4x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ^(bool lhs, bool4x3 rhs) { return new bool4x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool4x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is bool4x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool4x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z}, {c0.w}, {c1.w}, {c2.w})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct bool4x4 : IEquatable { public bool4 c0; public bool4 c1; public bool4 c2; public bool4 c3; public unsafe ref bool4 this[int index] { get { fixed (bool4x4* ptr = &this) { return ref *(bool4*)((byte*)ptr + (nint)index * (nint)sizeof(bool4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x4(bool4 c0, bool4 c1, bool4 c2, bool4 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23, bool m30, bool m31, bool m32, bool m33) { c0 = new bool4(m00, m10, m20, m30); c1 = new bool4(m01, m11, m21, m31); c2 = new bool4(m02, m12, m22, m32); c3 = new bool4(m03, m13, m23, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4x4(bool v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool4x4(bool v) { return new bool4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(bool4x4 lhs, bool4x4 rhs) { return new bool4x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(bool4x4 lhs, bool rhs) { return new bool4x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(bool lhs, bool4x4 rhs) { return new bool4x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(bool4x4 lhs, bool4x4 rhs) { return new bool4x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(bool4x4 lhs, bool rhs) { return new bool4x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(bool lhs, bool4x4 rhs) { return new bool4x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !(bool4x4 val) { return new bool4x4(!val.c0, !val.c1, !val.c2, !val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator &(bool4x4 lhs, bool4x4 rhs) { return new bool4x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator &(bool4x4 lhs, bool rhs) { return new bool4x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator &(bool lhs, bool4x4 rhs) { return new bool4x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator |(bool4x4 lhs, bool4x4 rhs) { return new bool4x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator |(bool4x4 lhs, bool rhs) { return new bool4x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator |(bool lhs, bool4x4 rhs) { return new bool4x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ^(bool4x4 lhs, bool4x4 rhs) { return new bool4x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ^(bool4x4 lhs, bool rhs) { return new bool4x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ^(bool lhs, bool4x4 rhs) { return new bool4x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool4x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is bool4x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool4x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z}, {c0.w}, {c1.w}, {c2.w}, {c3.w})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct double2 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public double x; public double y; public DebuggerProxy(double2 v) { x = v.x; y = v.y; } } public double x; public double y; public static readonly double2 zero; [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, y); } } public unsafe double this[int index] { get { fixed (double2* ptr = &this) { return *(double*)((byte*)ptr + (nint)index * (nint)8); } } set { fixed (double* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(double x, double y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(double2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(double v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(bool v) { x = (v ? 1.0 : 0.0); y = (v ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(bool2 v) { x = (v.x ? 1.0 : 0.0); y = (v.y ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(int v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(int2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(uint v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(uint2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(half v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(half2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(float v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2(float2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(double v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2(bool v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2(bool2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(int v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(int2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(uint v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(uint2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(half v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(half2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(float v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2(float2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator *(double2 lhs, double2 rhs) { return new double2(lhs.x * rhs.x, lhs.y * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator *(double2 lhs, double rhs) { return new double2(lhs.x * rhs, lhs.y * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator *(double lhs, double2 rhs) { return new double2(lhs * rhs.x, lhs * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator +(double2 lhs, double2 rhs) { return new double2(lhs.x + rhs.x, lhs.y + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator +(double2 lhs, double rhs) { return new double2(lhs.x + rhs, lhs.y + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator +(double lhs, double2 rhs) { return new double2(lhs + rhs.x, lhs + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator -(double2 lhs, double2 rhs) { return new double2(lhs.x - rhs.x, lhs.y - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator -(double2 lhs, double rhs) { return new double2(lhs.x - rhs, lhs.y - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator -(double lhs, double2 rhs) { return new double2(lhs - rhs.x, lhs - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator /(double2 lhs, double2 rhs) { return new double2(lhs.x / rhs.x, lhs.y / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator /(double2 lhs, double rhs) { return new double2(lhs.x / rhs, lhs.y / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator /(double lhs, double2 rhs) { return new double2(lhs / rhs.x, lhs / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator %(double2 lhs, double2 rhs) { return new double2(lhs.x % rhs.x, lhs.y % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator %(double2 lhs, double rhs) { return new double2(lhs.x % rhs, lhs.y % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator %(double lhs, double2 rhs) { return new double2(lhs % rhs.x, lhs % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator ++(double2 val) { return new double2(val.x += 1.0, val.y += 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator --(double2 val) { return new double2(val.x -= 1.0, val.y -= 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(double2 lhs, double2 rhs) { return new bool2(lhs.x < rhs.x, lhs.y < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(double2 lhs, double rhs) { return new bool2(lhs.x < rhs, lhs.y < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(double lhs, double2 rhs) { return new bool2(lhs < rhs.x, lhs < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(double2 lhs, double2 rhs) { return new bool2(lhs.x <= rhs.x, lhs.y <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(double2 lhs, double rhs) { return new bool2(lhs.x <= rhs, lhs.y <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(double lhs, double2 rhs) { return new bool2(lhs <= rhs.x, lhs <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(double2 lhs, double2 rhs) { return new bool2(lhs.x > rhs.x, lhs.y > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(double2 lhs, double rhs) { return new bool2(lhs.x > rhs, lhs.y > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(double lhs, double2 rhs) { return new bool2(lhs > rhs.x, lhs > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(double2 lhs, double2 rhs) { return new bool2(lhs.x >= rhs.x, lhs.y >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(double2 lhs, double rhs) { return new bool2(lhs.x >= rhs, lhs.y >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(double lhs, double2 rhs) { return new bool2(lhs >= rhs.x, lhs >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator -(double2 val) { return new double2(0.0 - val.x, 0.0 - val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 operator +(double2 val) { return new double2(val.x, val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(double2 lhs, double2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(double2 lhs, double rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(double lhs, double2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(double2 lhs, double2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(double2 lhs, double rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(double lhs, double2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is double2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double2({x}, {y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double2({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double2x2 : IEquatable, IFormattable { public double2 c0; public double2 c1; public static readonly double2x2 identity = new double2x2(1.0, 0.0, 0.0, 1.0); public static readonly double2x2 zero; public unsafe ref double2 this[int index] { get { fixed (double2x2* ptr = &this) { return ref *(double2*)((byte*)ptr + (nint)index * (nint)sizeof(double2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(double2 c0, double2 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(double m00, double m01, double m10, double m11) { c0 = new double2(m00, m10); c1 = new double2(m01, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(double v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(bool v) { c0 = math.select(new double2(0.0), new double2(1.0), v); c1 = math.select(new double2(0.0), new double2(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(bool2x2 v) { c0 = math.select(new double2(0.0), new double2(1.0), v.c0); c1 = math.select(new double2(0.0), new double2(1.0), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(int2x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(uint2x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x2(float2x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(double v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x2(bool v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x2(bool2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(int v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(int2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(uint v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(uint2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(float v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x2(float2x2 v) { return new double2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator *(double2x2 lhs, double2x2 rhs) { return new double2x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator *(double2x2 lhs, double rhs) { return new double2x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator *(double lhs, double2x2 rhs) { return new double2x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator +(double2x2 lhs, double2x2 rhs) { return new double2x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator +(double2x2 lhs, double rhs) { return new double2x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator +(double lhs, double2x2 rhs) { return new double2x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator -(double2x2 lhs, double2x2 rhs) { return new double2x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator -(double2x2 lhs, double rhs) { return new double2x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator -(double lhs, double2x2 rhs) { return new double2x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator /(double2x2 lhs, double2x2 rhs) { return new double2x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator /(double2x2 lhs, double rhs) { return new double2x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator /(double lhs, double2x2 rhs) { return new double2x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator %(double2x2 lhs, double2x2 rhs) { return new double2x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator %(double2x2 lhs, double rhs) { return new double2x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator %(double lhs, double2x2 rhs) { return new double2x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator ++(double2x2 val) { return new double2x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator --(double2x2 val) { return new double2x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(double lhs, double2x2 rhs) { return new bool2x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(double lhs, double2x2 rhs) { return new bool2x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(double lhs, double2x2 rhs) { return new bool2x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(double lhs, double2x2 rhs) { return new bool2x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator -(double2x2 val) { return new double2x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x2 operator +(double2x2 val) { return new double2x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(double lhs, double2x2 rhs) { return new bool2x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(double2x2 lhs, double2x2 rhs) { return new bool2x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(double2x2 lhs, double rhs) { return new bool2x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(double lhs, double2x2 rhs) { return new bool2x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double2x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is double2x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double2x2({c0.x}, {c1.x}, {c0.y}, {c1.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double2x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double2x3 : IEquatable, IFormattable { public double2 c0; public double2 c1; public double2 c2; public static readonly double2x3 zero; public unsafe ref double2 this[int index] { get { fixed (double2x3* ptr = &this) { return ref *(double2*)((byte*)ptr + (nint)index * (nint)sizeof(double2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(double2 c0, double2 c1, double2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(double m00, double m01, double m02, double m10, double m11, double m12) { c0 = new double2(m00, m10); c1 = new double2(m01, m11); c2 = new double2(m02, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(double v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(bool v) { c0 = math.select(new double2(0.0), new double2(1.0), v); c1 = math.select(new double2(0.0), new double2(1.0), v); c2 = math.select(new double2(0.0), new double2(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(bool2x3 v) { c0 = math.select(new double2(0.0), new double2(1.0), v.c0); c1 = math.select(new double2(0.0), new double2(1.0), v.c1); c2 = math.select(new double2(0.0), new double2(1.0), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(int2x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(uint2x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x3(float2x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(double v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x3(bool v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x3(bool2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(int v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(int2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(uint v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(uint2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(float v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x3(float2x3 v) { return new double2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator *(double2x3 lhs, double2x3 rhs) { return new double2x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator *(double2x3 lhs, double rhs) { return new double2x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator *(double lhs, double2x3 rhs) { return new double2x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator +(double2x3 lhs, double2x3 rhs) { return new double2x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator +(double2x3 lhs, double rhs) { return new double2x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator +(double lhs, double2x3 rhs) { return new double2x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator -(double2x3 lhs, double2x3 rhs) { return new double2x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator -(double2x3 lhs, double rhs) { return new double2x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator -(double lhs, double2x3 rhs) { return new double2x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator /(double2x3 lhs, double2x3 rhs) { return new double2x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator /(double2x3 lhs, double rhs) { return new double2x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator /(double lhs, double2x3 rhs) { return new double2x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator %(double2x3 lhs, double2x3 rhs) { return new double2x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator %(double2x3 lhs, double rhs) { return new double2x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator %(double lhs, double2x3 rhs) { return new double2x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator ++(double2x3 val) { return new double2x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator --(double2x3 val) { return new double2x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(double lhs, double2x3 rhs) { return new bool2x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(double lhs, double2x3 rhs) { return new bool2x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(double lhs, double2x3 rhs) { return new bool2x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(double lhs, double2x3 rhs) { return new bool2x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator -(double2x3 val) { return new double2x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x3 operator +(double2x3 val) { return new double2x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(double lhs, double2x3 rhs) { return new bool2x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(double2x3 lhs, double2x3 rhs) { return new bool2x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(double2x3 lhs, double rhs) { return new bool2x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(double lhs, double2x3 rhs) { return new bool2x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double2x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is double2x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double2x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double2x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double2x4 : IEquatable, IFormattable { public double2 c0; public double2 c1; public double2 c2; public double2 c3; public static readonly double2x4 zero; public unsafe ref double2 this[int index] { get { fixed (double2x4* ptr = &this) { return ref *(double2*)((byte*)ptr + (nint)index * (nint)sizeof(double2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(double2 c0, double2 c1, double2 c2, double2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13) { c0 = new double2(m00, m10); c1 = new double2(m01, m11); c2 = new double2(m02, m12); c3 = new double2(m03, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(double v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(bool v) { c0 = math.select(new double2(0.0), new double2(1.0), v); c1 = math.select(new double2(0.0), new double2(1.0), v); c2 = math.select(new double2(0.0), new double2(1.0), v); c3 = math.select(new double2(0.0), new double2(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(bool2x4 v) { c0 = math.select(new double2(0.0), new double2(1.0), v.c0); c1 = math.select(new double2(0.0), new double2(1.0), v.c1); c2 = math.select(new double2(0.0), new double2(1.0), v.c2); c3 = math.select(new double2(0.0), new double2(1.0), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(int2x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(uint2x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2x4(float2x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(double v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x4(bool v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double2x4(bool2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(int v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(int2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(uint v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(uint2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(float v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double2x4(float2x4 v) { return new double2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator *(double2x4 lhs, double2x4 rhs) { return new double2x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator *(double2x4 lhs, double rhs) { return new double2x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator *(double lhs, double2x4 rhs) { return new double2x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator +(double2x4 lhs, double2x4 rhs) { return new double2x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator +(double2x4 lhs, double rhs) { return new double2x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator +(double lhs, double2x4 rhs) { return new double2x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator -(double2x4 lhs, double2x4 rhs) { return new double2x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator -(double2x4 lhs, double rhs) { return new double2x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator -(double lhs, double2x4 rhs) { return new double2x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator /(double2x4 lhs, double2x4 rhs) { return new double2x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator /(double2x4 lhs, double rhs) { return new double2x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator /(double lhs, double2x4 rhs) { return new double2x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator %(double2x4 lhs, double2x4 rhs) { return new double2x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator %(double2x4 lhs, double rhs) { return new double2x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator %(double lhs, double2x4 rhs) { return new double2x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator ++(double2x4 val) { return new double2x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator --(double2x4 val) { return new double2x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(double lhs, double2x4 rhs) { return new bool2x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(double lhs, double2x4 rhs) { return new bool2x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(double lhs, double2x4 rhs) { return new bool2x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(double lhs, double2x4 rhs) { return new bool2x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator -(double2x4 val) { return new double2x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2x4 operator +(double2x4 val) { return new double2x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(double lhs, double2x4 rhs) { return new bool2x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(double2x4 lhs, double2x4 rhs) { return new bool2x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(double2x4 lhs, double rhs) { return new bool2x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(double lhs, double2x4 rhs) { return new bool2x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double2x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is double2x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double2x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double2x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct double3 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public double x; public double y; public double z; public DebuggerProxy(double3 v) { x = v.x; y = v.y; z = v.z; } } public double x; public double y; public double z; public static readonly double3 zero; [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, z); } } public unsafe double this[int index] { get { fixed (double3* ptr = &this) { return *(double*)((byte*)ptr + (nint)index * (nint)8); } } set { fixed (double* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(double x, double2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(double2 xy, double z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(double3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(double v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(bool v) { x = (v ? 1.0 : 0.0); y = (v ? 1.0 : 0.0); z = (v ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(bool3 v) { x = (v.x ? 1.0 : 0.0); y = (v.y ? 1.0 : 0.0); z = (v.z ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(int v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(int3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(uint v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(uint3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(half v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(half3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(float v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3(float3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(double v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3(bool v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3(bool3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(int v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(int3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(uint v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(uint3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(half v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(half3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(float v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3(float3 v) { return new double3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator *(double3 lhs, double3 rhs) { return new double3(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator *(double3 lhs, double rhs) { return new double3(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator *(double lhs, double3 rhs) { return new double3(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator +(double3 lhs, double3 rhs) { return new double3(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator +(double3 lhs, double rhs) { return new double3(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator +(double lhs, double3 rhs) { return new double3(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator -(double3 lhs, double3 rhs) { return new double3(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator -(double3 lhs, double rhs) { return new double3(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator -(double lhs, double3 rhs) { return new double3(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator /(double3 lhs, double3 rhs) { return new double3(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator /(double3 lhs, double rhs) { return new double3(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator /(double lhs, double3 rhs) { return new double3(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator %(double3 lhs, double3 rhs) { return new double3(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator %(double3 lhs, double rhs) { return new double3(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator %(double lhs, double3 rhs) { return new double3(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator ++(double3 val) { return new double3(val.x += 1.0, val.y += 1.0, val.z += 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator --(double3 val) { return new double3(val.x -= 1.0, val.y -= 1.0, val.z -= 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(double3 lhs, double3 rhs) { return new bool3(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(double3 lhs, double rhs) { return new bool3(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(double lhs, double3 rhs) { return new bool3(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(double3 lhs, double3 rhs) { return new bool3(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(double3 lhs, double rhs) { return new bool3(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(double lhs, double3 rhs) { return new bool3(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(double3 lhs, double3 rhs) { return new bool3(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(double3 lhs, double rhs) { return new bool3(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(double lhs, double3 rhs) { return new bool3(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(double3 lhs, double3 rhs) { return new bool3(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(double3 lhs, double rhs) { return new bool3(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(double lhs, double3 rhs) { return new bool3(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator -(double3 val) { return new double3(0.0 - val.x, 0.0 - val.y, 0.0 - val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3 operator +(double3 val) { return new double3(val.x, val.y, val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(double3 lhs, double3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(double3 lhs, double rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(double lhs, double3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(double3 lhs, double3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(double3 lhs, double rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(double lhs, double3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is double3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double3({x}, {y}, {z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double3({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double3x2 : IEquatable, IFormattable { public double3 c0; public double3 c1; public static readonly double3x2 zero; public unsafe ref double3 this[int index] { get { fixed (double3x2* ptr = &this) { return ref *(double3*)((byte*)ptr + (nint)index * (nint)sizeof(double3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(double3 c0, double3 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(double m00, double m01, double m10, double m11, double m20, double m21) { c0 = new double3(m00, m10, m20); c1 = new double3(m01, m11, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(double v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(bool v) { c0 = math.select(new double3(0.0), new double3(1.0), v); c1 = math.select(new double3(0.0), new double3(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(bool3x2 v) { c0 = math.select(new double3(0.0), new double3(1.0), v.c0); c1 = math.select(new double3(0.0), new double3(1.0), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(int3x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(uint3x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x2(float3x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(double v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x2(bool v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x2(bool3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(int v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(int3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(uint v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(uint3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(float v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x2(float3x2 v) { return new double3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator *(double3x2 lhs, double3x2 rhs) { return new double3x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator *(double3x2 lhs, double rhs) { return new double3x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator *(double lhs, double3x2 rhs) { return new double3x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator +(double3x2 lhs, double3x2 rhs) { return new double3x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator +(double3x2 lhs, double rhs) { return new double3x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator +(double lhs, double3x2 rhs) { return new double3x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator -(double3x2 lhs, double3x2 rhs) { return new double3x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator -(double3x2 lhs, double rhs) { return new double3x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator -(double lhs, double3x2 rhs) { return new double3x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator /(double3x2 lhs, double3x2 rhs) { return new double3x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator /(double3x2 lhs, double rhs) { return new double3x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator /(double lhs, double3x2 rhs) { return new double3x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator %(double3x2 lhs, double3x2 rhs) { return new double3x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator %(double3x2 lhs, double rhs) { return new double3x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator %(double lhs, double3x2 rhs) { return new double3x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator ++(double3x2 val) { return new double3x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator --(double3x2 val) { return new double3x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(double lhs, double3x2 rhs) { return new bool3x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(double lhs, double3x2 rhs) { return new bool3x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(double lhs, double3x2 rhs) { return new bool3x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(double lhs, double3x2 rhs) { return new bool3x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator -(double3x2 val) { return new double3x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x2 operator +(double3x2 val) { return new double3x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(double lhs, double3x2 rhs) { return new bool3x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(double3x2 lhs, double3x2 rhs) { return new bool3x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(double3x2 lhs, double rhs) { return new bool3x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(double lhs, double3x2 rhs) { return new bool3x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double3x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is double3x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double3x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double3x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double3x3 : IEquatable, IFormattable { public double3 c0; public double3 c1; public double3 c2; public static readonly double3x3 identity = new double3x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); public static readonly double3x3 zero; public unsafe ref double3 this[int index] { get { fixed (double3x3* ptr = &this) { return ref *(double3*)((byte*)ptr + (nint)index * (nint)sizeof(double3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(double3 c0, double3 c1, double3 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) { c0 = new double3(m00, m10, m20); c1 = new double3(m01, m11, m21); c2 = new double3(m02, m12, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(double v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(bool v) { c0 = math.select(new double3(0.0), new double3(1.0), v); c1 = math.select(new double3(0.0), new double3(1.0), v); c2 = math.select(new double3(0.0), new double3(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(bool3x3 v) { c0 = math.select(new double3(0.0), new double3(1.0), v.c0); c1 = math.select(new double3(0.0), new double3(1.0), v.c1); c2 = math.select(new double3(0.0), new double3(1.0), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(int3x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(uint3x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x3(float3x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(double v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x3(bool v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x3(bool3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(int v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(int3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(uint v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(uint3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(float v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x3(float3x3 v) { return new double3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator *(double3x3 lhs, double3x3 rhs) { return new double3x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator *(double3x3 lhs, double rhs) { return new double3x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator *(double lhs, double3x3 rhs) { return new double3x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator +(double3x3 lhs, double3x3 rhs) { return new double3x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator +(double3x3 lhs, double rhs) { return new double3x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator +(double lhs, double3x3 rhs) { return new double3x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator -(double3x3 lhs, double3x3 rhs) { return new double3x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator -(double3x3 lhs, double rhs) { return new double3x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator -(double lhs, double3x3 rhs) { return new double3x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator /(double3x3 lhs, double3x3 rhs) { return new double3x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator /(double3x3 lhs, double rhs) { return new double3x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator /(double lhs, double3x3 rhs) { return new double3x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator %(double3x3 lhs, double3x3 rhs) { return new double3x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator %(double3x3 lhs, double rhs) { return new double3x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator %(double lhs, double3x3 rhs) { return new double3x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator ++(double3x3 val) { return new double3x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator --(double3x3 val) { return new double3x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(double lhs, double3x3 rhs) { return new bool3x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(double lhs, double3x3 rhs) { return new bool3x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(double lhs, double3x3 rhs) { return new bool3x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(double lhs, double3x3 rhs) { return new bool3x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator -(double3x3 val) { return new double3x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x3 operator +(double3x3 val) { return new double3x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(double lhs, double3x3 rhs) { return new bool3x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(double3x3 lhs, double3x3 rhs) { return new bool3x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(double3x3 lhs, double rhs) { return new bool3x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(double lhs, double3x3 rhs) { return new bool3x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double3x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is double3x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double3x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double3x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double3x4 : IEquatable, IFormattable { public double3 c0; public double3 c1; public double3 c2; public double3 c3; public static readonly double3x4 zero; public unsafe ref double3 this[int index] { get { fixed (double3x4* ptr = &this) { return ref *(double3*)((byte*)ptr + (nint)index * (nint)sizeof(double3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(double3 c0, double3 c1, double3 c2, double3 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23) { c0 = new double3(m00, m10, m20); c1 = new double3(m01, m11, m21); c2 = new double3(m02, m12, m22); c3 = new double3(m03, m13, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(double v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(bool v) { c0 = math.select(new double3(0.0), new double3(1.0), v); c1 = math.select(new double3(0.0), new double3(1.0), v); c2 = math.select(new double3(0.0), new double3(1.0), v); c3 = math.select(new double3(0.0), new double3(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(bool3x4 v) { c0 = math.select(new double3(0.0), new double3(1.0), v.c0); c1 = math.select(new double3(0.0), new double3(1.0), v.c1); c2 = math.select(new double3(0.0), new double3(1.0), v.c2); c3 = math.select(new double3(0.0), new double3(1.0), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(int3x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(uint3x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3x4(float3x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(double v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x4(bool v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double3x4(bool3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(int v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(int3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(uint v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(uint3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(float v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double3x4(float3x4 v) { return new double3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator *(double3x4 lhs, double3x4 rhs) { return new double3x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator *(double3x4 lhs, double rhs) { return new double3x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator *(double lhs, double3x4 rhs) { return new double3x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator +(double3x4 lhs, double3x4 rhs) { return new double3x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator +(double3x4 lhs, double rhs) { return new double3x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator +(double lhs, double3x4 rhs) { return new double3x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator -(double3x4 lhs, double3x4 rhs) { return new double3x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator -(double3x4 lhs, double rhs) { return new double3x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator -(double lhs, double3x4 rhs) { return new double3x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator /(double3x4 lhs, double3x4 rhs) { return new double3x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator /(double3x4 lhs, double rhs) { return new double3x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator /(double lhs, double3x4 rhs) { return new double3x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator %(double3x4 lhs, double3x4 rhs) { return new double3x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator %(double3x4 lhs, double rhs) { return new double3x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator %(double lhs, double3x4 rhs) { return new double3x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator ++(double3x4 val) { return new double3x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator --(double3x4 val) { return new double3x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(double lhs, double3x4 rhs) { return new bool3x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(double lhs, double3x4 rhs) { return new bool3x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(double lhs, double3x4 rhs) { return new bool3x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(double lhs, double3x4 rhs) { return new bool3x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator -(double3x4 val) { return new double3x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double3x4 operator +(double3x4 val) { return new double3x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(double lhs, double3x4 rhs) { return new bool3x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(double3x4 lhs, double3x4 rhs) { return new bool3x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(double3x4 lhs, double rhs) { return new bool3x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(double lhs, double3x4 rhs) { return new bool3x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double3x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is double3x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double3x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double3x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct double4 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public double x; public double y; public double z; public double w; public DebuggerProxy(double4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } public double x; public double y; public double z; public double w; public static readonly double4 zero; [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public double2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new double2(w, w); } } public unsafe double this[int index] { get { fixed (double4* ptr = &this) { return *(double*)((byte*)ptr + (nint)index * (nint)8); } } set { fixed (double* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double x, double y, double z, double w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double x, double y, double2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double x, double2 yz, double w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double x, double3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double2 xy, double z, double w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double2 xy, double2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double3 xyz, double w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(double v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(bool v) { x = (v ? 1.0 : 0.0); y = (v ? 1.0 : 0.0); z = (v ? 1.0 : 0.0); w = (v ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(bool4 v) { x = (v.x ? 1.0 : 0.0); y = (v.y ? 1.0 : 0.0); z = (v.z ? 1.0 : 0.0); w = (v.w ? 1.0 : 0.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(int v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(int4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(uint v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(uint4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(half v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(half4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(float v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4(float4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(double v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4(bool v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4(bool4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(int v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(int4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(uint v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(uint4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(half v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(half4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(float v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4(float4 v) { return new double4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator *(double4 lhs, double4 rhs) { return new double4(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator *(double4 lhs, double rhs) { return new double4(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs, lhs.w * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator *(double lhs, double4 rhs) { return new double4(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z, lhs * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator +(double4 lhs, double4 rhs) { return new double4(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z, lhs.w + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator +(double4 lhs, double rhs) { return new double4(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs, lhs.w + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator +(double lhs, double4 rhs) { return new double4(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z, lhs + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator -(double4 lhs, double4 rhs) { return new double4(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z, lhs.w - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator -(double4 lhs, double rhs) { return new double4(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs, lhs.w - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator -(double lhs, double4 rhs) { return new double4(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z, lhs - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator /(double4 lhs, double4 rhs) { return new double4(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z, lhs.w / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator /(double4 lhs, double rhs) { return new double4(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs, lhs.w / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator /(double lhs, double4 rhs) { return new double4(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z, lhs / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator %(double4 lhs, double4 rhs) { return new double4(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z, lhs.w % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator %(double4 lhs, double rhs) { return new double4(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs, lhs.w % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator %(double lhs, double4 rhs) { return new double4(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z, lhs % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator ++(double4 val) { return new double4(val.x += 1.0, val.y += 1.0, val.z += 1.0, val.w += 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator --(double4 val) { return new double4(val.x -= 1.0, val.y -= 1.0, val.z -= 1.0, val.w -= 1.0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(double4 lhs, double4 rhs) { return new bool4(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z, lhs.w < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(double4 lhs, double rhs) { return new bool4(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs, lhs.w < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(double lhs, double4 rhs) { return new bool4(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z, lhs < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(double4 lhs, double4 rhs) { return new bool4(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z, lhs.w <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(double4 lhs, double rhs) { return new bool4(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs, lhs.w <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(double lhs, double4 rhs) { return new bool4(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z, lhs <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(double4 lhs, double4 rhs) { return new bool4(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z, lhs.w > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(double4 lhs, double rhs) { return new bool4(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs, lhs.w > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(double lhs, double4 rhs) { return new bool4(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z, lhs > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(double4 lhs, double4 rhs) { return new bool4(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z, lhs.w >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(double4 lhs, double rhs) { return new bool4(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs, lhs.w >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(double lhs, double4 rhs) { return new bool4(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z, lhs >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator -(double4 val) { return new double4(0.0 - val.x, 0.0 - val.y, 0.0 - val.z, 0.0 - val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4 operator +(double4 val) { return new double4(val.x, val.y, val.z, val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(double4 lhs, double4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(double4 lhs, double rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(double lhs, double4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(double4 lhs, double4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(double4 lhs, double rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(double lhs, double4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is double4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double4({x}, {y}, {z}, {w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double4({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)}, {w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double4x2 : IEquatable, IFormattable { public double4 c0; public double4 c1; public static readonly double4x2 zero; public unsafe ref double4 this[int index] { get { fixed (double4x2* ptr = &this) { return ref *(double4*)((byte*)ptr + (nint)index * (nint)sizeof(double4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(double4 c0, double4 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(double m00, double m01, double m10, double m11, double m20, double m21, double m30, double m31) { c0 = new double4(m00, m10, m20, m30); c1 = new double4(m01, m11, m21, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(double v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(bool v) { c0 = math.select(new double4(0.0), new double4(1.0), v); c1 = math.select(new double4(0.0), new double4(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(bool4x2 v) { c0 = math.select(new double4(0.0), new double4(1.0), v.c0); c1 = math.select(new double4(0.0), new double4(1.0), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(int4x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(uint4x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x2(float4x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(double v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x2(bool v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x2(bool4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(int v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(int4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(uint v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(uint4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(float v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x2(float4x2 v) { return new double4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator *(double4x2 lhs, double4x2 rhs) { return new double4x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator *(double4x2 lhs, double rhs) { return new double4x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator *(double lhs, double4x2 rhs) { return new double4x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator +(double4x2 lhs, double4x2 rhs) { return new double4x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator +(double4x2 lhs, double rhs) { return new double4x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator +(double lhs, double4x2 rhs) { return new double4x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator -(double4x2 lhs, double4x2 rhs) { return new double4x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator -(double4x2 lhs, double rhs) { return new double4x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator -(double lhs, double4x2 rhs) { return new double4x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator /(double4x2 lhs, double4x2 rhs) { return new double4x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator /(double4x2 lhs, double rhs) { return new double4x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator /(double lhs, double4x2 rhs) { return new double4x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator %(double4x2 lhs, double4x2 rhs) { return new double4x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator %(double4x2 lhs, double rhs) { return new double4x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator %(double lhs, double4x2 rhs) { return new double4x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator ++(double4x2 val) { return new double4x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator --(double4x2 val) { return new double4x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(double lhs, double4x2 rhs) { return new bool4x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(double lhs, double4x2 rhs) { return new bool4x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(double lhs, double4x2 rhs) { return new bool4x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(double lhs, double4x2 rhs) { return new bool4x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator -(double4x2 val) { return new double4x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x2 operator +(double4x2 val) { return new double4x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(double lhs, double4x2 rhs) { return new bool4x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(double4x2 lhs, double4x2 rhs) { return new bool4x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(double4x2 lhs, double rhs) { return new bool4x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(double lhs, double4x2 rhs) { return new bool4x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double4x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is double4x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double4x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z}, {c0.w}, {c1.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double4x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double4x3 : IEquatable, IFormattable { public double4 c0; public double4 c1; public double4 c2; public static readonly double4x3 zero; public unsafe ref double4 this[int index] { get { fixed (double4x3* ptr = &this) { return ref *(double4*)((byte*)ptr + (nint)index * (nint)sizeof(double4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(double4 c0, double4 c1, double4 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22, double m30, double m31, double m32) { c0 = new double4(m00, m10, m20, m30); c1 = new double4(m01, m11, m21, m31); c2 = new double4(m02, m12, m22, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(double v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(bool v) { c0 = math.select(new double4(0.0), new double4(1.0), v); c1 = math.select(new double4(0.0), new double4(1.0), v); c2 = math.select(new double4(0.0), new double4(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(bool4x3 v) { c0 = math.select(new double4(0.0), new double4(1.0), v.c0); c1 = math.select(new double4(0.0), new double4(1.0), v.c1); c2 = math.select(new double4(0.0), new double4(1.0), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(int4x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(uint4x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x3(float4x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(double v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x3(bool v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x3(bool4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(int v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(int4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(uint v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(uint4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(float v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x3(float4x3 v) { return new double4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator *(double4x3 lhs, double4x3 rhs) { return new double4x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator *(double4x3 lhs, double rhs) { return new double4x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator *(double lhs, double4x3 rhs) { return new double4x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator +(double4x3 lhs, double4x3 rhs) { return new double4x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator +(double4x3 lhs, double rhs) { return new double4x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator +(double lhs, double4x3 rhs) { return new double4x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator -(double4x3 lhs, double4x3 rhs) { return new double4x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator -(double4x3 lhs, double rhs) { return new double4x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator -(double lhs, double4x3 rhs) { return new double4x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator /(double4x3 lhs, double4x3 rhs) { return new double4x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator /(double4x3 lhs, double rhs) { return new double4x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator /(double lhs, double4x3 rhs) { return new double4x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator %(double4x3 lhs, double4x3 rhs) { return new double4x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator %(double4x3 lhs, double rhs) { return new double4x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator %(double lhs, double4x3 rhs) { return new double4x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator ++(double4x3 val) { return new double4x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator --(double4x3 val) { return new double4x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(double lhs, double4x3 rhs) { return new bool4x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(double lhs, double4x3 rhs) { return new bool4x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(double lhs, double4x3 rhs) { return new bool4x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(double lhs, double4x3 rhs) { return new bool4x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator -(double4x3 val) { return new double4x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x3 operator +(double4x3 val) { return new double4x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(double lhs, double4x3 rhs) { return new bool4x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(double4x3 lhs, double4x3 rhs) { return new bool4x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(double4x3 lhs, double rhs) { return new bool4x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(double lhs, double4x3 rhs) { return new bool4x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double4x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is double4x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double4x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z}, {c0.w}, {c1.w}, {c2.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double4x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct double4x4 : IEquatable, IFormattable { public double4 c0; public double4 c1; public double4 c2; public double4 c3; public static readonly double4x4 identity = new double4x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); public static readonly double4x4 zero; public unsafe ref double4 this[int index] { get { fixed (double4x4* ptr = &this) { return ref *(double4*)((byte*)ptr + (nint)index * (nint)sizeof(double4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(double4 c0, double4 c1, double4 c2, double4 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33) { c0 = new double4(m00, m10, m20, m30); c1 = new double4(m01, m11, m21, m31); c2 = new double4(m02, m12, m22, m32); c3 = new double4(m03, m13, m23, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(double v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(bool v) { c0 = math.select(new double4(0.0), new double4(1.0), v); c1 = math.select(new double4(0.0), new double4(1.0), v); c2 = math.select(new double4(0.0), new double4(1.0), v); c3 = math.select(new double4(0.0), new double4(1.0), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(bool4x4 v) { c0 = math.select(new double4(0.0), new double4(1.0), v.c0); c1 = math.select(new double4(0.0), new double4(1.0), v.c1); c2 = math.select(new double4(0.0), new double4(1.0), v.c2); c3 = math.select(new double4(0.0), new double4(1.0), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(int4x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(uint4x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4x4(float4x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(double v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x4(bool v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator double4x4(bool4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(int v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(int4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(uint v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(uint4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(float v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double4x4(float4x4 v) { return new double4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator *(double4x4 lhs, double4x4 rhs) { return new double4x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator *(double4x4 lhs, double rhs) { return new double4x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator *(double lhs, double4x4 rhs) { return new double4x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator +(double4x4 lhs, double4x4 rhs) { return new double4x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator +(double4x4 lhs, double rhs) { return new double4x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator +(double lhs, double4x4 rhs) { return new double4x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator -(double4x4 lhs, double4x4 rhs) { return new double4x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator -(double4x4 lhs, double rhs) { return new double4x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator -(double lhs, double4x4 rhs) { return new double4x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator /(double4x4 lhs, double4x4 rhs) { return new double4x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator /(double4x4 lhs, double rhs) { return new double4x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator /(double lhs, double4x4 rhs) { return new double4x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator %(double4x4 lhs, double4x4 rhs) { return new double4x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator %(double4x4 lhs, double rhs) { return new double4x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator %(double lhs, double4x4 rhs) { return new double4x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator ++(double4x4 val) { return new double4x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator --(double4x4 val) { return new double4x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(double lhs, double4x4 rhs) { return new bool4x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(double lhs, double4x4 rhs) { return new bool4x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(double lhs, double4x4 rhs) { return new bool4x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(double lhs, double4x4 rhs) { return new bool4x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator -(double4x4 val) { return new double4x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double4x4 operator +(double4x4 val) { return new double4x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(double lhs, double4x4 rhs) { return new bool4x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(double4x4 lhs, double4x4 rhs) { return new bool4x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(double4x4 lhs, double rhs) { return new bool4x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(double lhs, double4x4 rhs) { return new bool4x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(double4x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is double4x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"double4x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z}, {c0.w}, {c1.w}, {c2.w}, {c3.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"double4x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)}, {c3.w.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct float2 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public float x; public float y; public DebuggerProxy(float2 v) { x = v.x; y = v.y; } } public float x; public float y; public static readonly float2 zero; [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, y); } } public unsafe float this[int index] { get { fixed (float2* ptr = &this) { return *(float*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (float* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(float x, float y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(float2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(float v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(bool v) { x = (v ? 1f : 0f); y = (v ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(bool2 v) { x = (v.x ? 1f : 0f); y = (v.y ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(int v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(int2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(uint v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(uint2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(half v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(half2 v) { x = v.x; y = v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(double v) { x = (float)v; y = (float)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2(double2 v) { x = (float)v.x; y = (float)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(float v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2(bool v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2(bool2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(int v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(int2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(uint v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(uint2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(half v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2(half2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2(double v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2(double2 v) { return new float2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator *(float2 lhs, float2 rhs) { return new float2(lhs.x * rhs.x, lhs.y * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator *(float2 lhs, float rhs) { return new float2(lhs.x * rhs, lhs.y * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator *(float lhs, float2 rhs) { return new float2(lhs * rhs.x, lhs * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator +(float2 lhs, float2 rhs) { return new float2(lhs.x + rhs.x, lhs.y + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator +(float2 lhs, float rhs) { return new float2(lhs.x + rhs, lhs.y + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator +(float lhs, float2 rhs) { return new float2(lhs + rhs.x, lhs + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator -(float2 lhs, float2 rhs) { return new float2(lhs.x - rhs.x, lhs.y - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator -(float2 lhs, float rhs) { return new float2(lhs.x - rhs, lhs.y - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator -(float lhs, float2 rhs) { return new float2(lhs - rhs.x, lhs - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator /(float2 lhs, float2 rhs) { return new float2(lhs.x / rhs.x, lhs.y / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator /(float2 lhs, float rhs) { return new float2(lhs.x / rhs, lhs.y / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator /(float lhs, float2 rhs) { return new float2(lhs / rhs.x, lhs / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator %(float2 lhs, float2 rhs) { return new float2(lhs.x % rhs.x, lhs.y % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator %(float2 lhs, float rhs) { return new float2(lhs.x % rhs, lhs.y % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator %(float lhs, float2 rhs) { return new float2(lhs % rhs.x, lhs % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator ++(float2 val) { return new float2(val.x += 1f, val.y += 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator --(float2 val) { return new float2(val.x -= 1f, val.y -= 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(float2 lhs, float2 rhs) { return new bool2(lhs.x < rhs.x, lhs.y < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(float2 lhs, float rhs) { return new bool2(lhs.x < rhs, lhs.y < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(float lhs, float2 rhs) { return new bool2(lhs < rhs.x, lhs < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(float2 lhs, float2 rhs) { return new bool2(lhs.x <= rhs.x, lhs.y <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(float2 lhs, float rhs) { return new bool2(lhs.x <= rhs, lhs.y <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(float lhs, float2 rhs) { return new bool2(lhs <= rhs.x, lhs <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(float2 lhs, float2 rhs) { return new bool2(lhs.x > rhs.x, lhs.y > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(float2 lhs, float rhs) { return new bool2(lhs.x > rhs, lhs.y > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(float lhs, float2 rhs) { return new bool2(lhs > rhs.x, lhs > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(float2 lhs, float2 rhs) { return new bool2(lhs.x >= rhs.x, lhs.y >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(float2 lhs, float rhs) { return new bool2(lhs.x >= rhs, lhs.y >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(float lhs, float2 rhs) { return new bool2(lhs >= rhs.x, lhs >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator -(float2 val) { return new float2(0f - val.x, 0f - val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2 operator +(float2 val) { return new float2(val.x, val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(float2 lhs, float2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(float2 lhs, float rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(float lhs, float2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(float2 lhs, float2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(float2 lhs, float rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(float lhs, float2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is float2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float2({x}f, {y}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float2({x.ToString(format, formatProvider)}f, {y.ToString(format, formatProvider)}f)"; } public static implicit operator Vector2(float2 v) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) return new Vector2(v.x, v.y); } public static implicit operator float2(Vector2 v) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return new float2(v.x, v.y); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float2x2 : IEquatable, IFormattable { public float2 c0; public float2 c1; public static readonly float2x2 identity = new float2x2(1f, 0f, 0f, 1f); public static readonly float2x2 zero; public unsafe ref float2 this[int index] { get { fixed (float2x2* ptr = &this) { return ref *(float2*)((byte*)ptr + (nint)index * (nint)sizeof(float2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(float2 c0, float2 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(float m00, float m01, float m10, float m11) { c0 = new float2(m00, m10); c1 = new float2(m01, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(bool v) { c0 = math.select(new float2(0f), new float2(1f), v); c1 = math.select(new float2(0f), new float2(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(bool2x2 v) { c0 = math.select(new float2(0f), new float2(1f), v.c0); c1 = math.select(new float2(0f), new float2(1f), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(int2x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(uint2x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(double v) { c0 = (float2)v; c1 = (float2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x2(double2x2 v) { c0 = (float2)v.c0; c1 = (float2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x2(float v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x2(bool v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x2(bool2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x2(int v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x2(int2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x2(uint v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x2(uint2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x2(double v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x2(double2x2 v) { return new float2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator *(float2x2 lhs, float2x2 rhs) { return new float2x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator *(float2x2 lhs, float rhs) { return new float2x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator *(float lhs, float2x2 rhs) { return new float2x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator +(float2x2 lhs, float2x2 rhs) { return new float2x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator +(float2x2 lhs, float rhs) { return new float2x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator +(float lhs, float2x2 rhs) { return new float2x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator -(float2x2 lhs, float2x2 rhs) { return new float2x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator -(float2x2 lhs, float rhs) { return new float2x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator -(float lhs, float2x2 rhs) { return new float2x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator /(float2x2 lhs, float2x2 rhs) { return new float2x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator /(float2x2 lhs, float rhs) { return new float2x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator /(float lhs, float2x2 rhs) { return new float2x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator %(float2x2 lhs, float2x2 rhs) { return new float2x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator %(float2x2 lhs, float rhs) { return new float2x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator %(float lhs, float2x2 rhs) { return new float2x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator ++(float2x2 val) { return new float2x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator --(float2x2 val) { return new float2x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(float lhs, float2x2 rhs) { return new bool2x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(float lhs, float2x2 rhs) { return new bool2x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(float lhs, float2x2 rhs) { return new bool2x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(float lhs, float2x2 rhs) { return new bool2x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator -(float2x2 val) { return new float2x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 operator +(float2x2 val) { return new float2x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(float lhs, float2x2 rhs) { return new bool2x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(float2x2 lhs, float2x2 rhs) { return new bool2x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(float2x2 lhs, float rhs) { return new bool2x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(float lhs, float2x2 rhs) { return new bool2x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float2x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is float2x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float2x2({c0.x}f, {c1.x}f, {c0.y}f, {c1.y}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float2x2({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 Rotate(float angle) { math.sincos(angle, out var s, out var c); return math.float2x2(c, 0f - s, s, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 Scale(float s) { return math.float2x2(s, 0f, 0f, s); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 Scale(float x, float y) { return math.float2x2(x, 0f, 0f, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x2 Scale(float2 v) { return Scale(v.x, v.y); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float2x3 : IEquatable, IFormattable { public float2 c0; public float2 c1; public float2 c2; public static readonly float2x3 zero; public unsafe ref float2 this[int index] { get { fixed (float2x3* ptr = &this) { return ref *(float2*)((byte*)ptr + (nint)index * (nint)sizeof(float2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(float2 c0, float2 c1, float2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(float m00, float m01, float m02, float m10, float m11, float m12) { c0 = new float2(m00, m10); c1 = new float2(m01, m11); c2 = new float2(m02, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(bool v) { c0 = math.select(new float2(0f), new float2(1f), v); c1 = math.select(new float2(0f), new float2(1f), v); c2 = math.select(new float2(0f), new float2(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(bool2x3 v) { c0 = math.select(new float2(0f), new float2(1f), v.c0); c1 = math.select(new float2(0f), new float2(1f), v.c1); c2 = math.select(new float2(0f), new float2(1f), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(int2x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(uint2x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(double v) { c0 = (float2)v; c1 = (float2)v; c2 = (float2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x3(double2x3 v) { c0 = (float2)v.c0; c1 = (float2)v.c1; c2 = (float2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x3(float v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x3(bool v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x3(bool2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x3(int v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x3(int2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x3(uint v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x3(uint2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x3(double v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x3(double2x3 v) { return new float2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator *(float2x3 lhs, float2x3 rhs) { return new float2x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator *(float2x3 lhs, float rhs) { return new float2x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator *(float lhs, float2x3 rhs) { return new float2x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator +(float2x3 lhs, float2x3 rhs) { return new float2x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator +(float2x3 lhs, float rhs) { return new float2x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator +(float lhs, float2x3 rhs) { return new float2x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator -(float2x3 lhs, float2x3 rhs) { return new float2x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator -(float2x3 lhs, float rhs) { return new float2x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator -(float lhs, float2x3 rhs) { return new float2x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator /(float2x3 lhs, float2x3 rhs) { return new float2x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator /(float2x3 lhs, float rhs) { return new float2x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator /(float lhs, float2x3 rhs) { return new float2x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator %(float2x3 lhs, float2x3 rhs) { return new float2x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator %(float2x3 lhs, float rhs) { return new float2x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator %(float lhs, float2x3 rhs) { return new float2x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator ++(float2x3 val) { return new float2x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator --(float2x3 val) { return new float2x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(float lhs, float2x3 rhs) { return new bool2x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(float lhs, float2x3 rhs) { return new bool2x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(float lhs, float2x3 rhs) { return new bool2x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(float lhs, float2x3 rhs) { return new bool2x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator -(float2x3 val) { return new float2x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x3 operator +(float2x3 val) { return new float2x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(float lhs, float2x3 rhs) { return new bool2x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(float2x3 lhs, float2x3 rhs) { return new bool2x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(float2x3 lhs, float rhs) { return new bool2x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(float lhs, float2x3 rhs) { return new bool2x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float2x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is float2x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float2x3({c0.x}f, {c1.x}f, {c2.x}f, {c0.y}f, {c1.y}f, {c2.y}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float2x3({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f)"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float2x4 : IEquatable, IFormattable { public float2 c0; public float2 c1; public float2 c2; public float2 c3; public static readonly float2x4 zero; public unsafe ref float2 this[int index] { get { fixed (float2x4* ptr = &this) { return ref *(float2*)((byte*)ptr + (nint)index * (nint)sizeof(float2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(float2 c0, float2 c1, float2 c2, float2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13) { c0 = new float2(m00, m10); c1 = new float2(m01, m11); c2 = new float2(m02, m12); c3 = new float2(m03, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(bool v) { c0 = math.select(new float2(0f), new float2(1f), v); c1 = math.select(new float2(0f), new float2(1f), v); c2 = math.select(new float2(0f), new float2(1f), v); c3 = math.select(new float2(0f), new float2(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(bool2x4 v) { c0 = math.select(new float2(0f), new float2(1f), v.c0); c1 = math.select(new float2(0f), new float2(1f), v.c1); c2 = math.select(new float2(0f), new float2(1f), v.c2); c3 = math.select(new float2(0f), new float2(1f), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(int2x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(uint2x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(double v) { c0 = (float2)v; c1 = (float2)v; c2 = (float2)v; c3 = (float2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2x4(double2x4 v) { c0 = (float2)v.c0; c1 = (float2)v.c1; c2 = (float2)v.c2; c3 = (float2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x4(float v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x4(bool v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x4(bool2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x4(int v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x4(int2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x4(uint v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float2x4(uint2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x4(double v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float2x4(double2x4 v) { return new float2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator *(float2x4 lhs, float2x4 rhs) { return new float2x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator *(float2x4 lhs, float rhs) { return new float2x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator *(float lhs, float2x4 rhs) { return new float2x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator +(float2x4 lhs, float2x4 rhs) { return new float2x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator +(float2x4 lhs, float rhs) { return new float2x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator +(float lhs, float2x4 rhs) { return new float2x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator -(float2x4 lhs, float2x4 rhs) { return new float2x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator -(float2x4 lhs, float rhs) { return new float2x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator -(float lhs, float2x4 rhs) { return new float2x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator /(float2x4 lhs, float2x4 rhs) { return new float2x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator /(float2x4 lhs, float rhs) { return new float2x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator /(float lhs, float2x4 rhs) { return new float2x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator %(float2x4 lhs, float2x4 rhs) { return new float2x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator %(float2x4 lhs, float rhs) { return new float2x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator %(float lhs, float2x4 rhs) { return new float2x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator ++(float2x4 val) { return new float2x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator --(float2x4 val) { return new float2x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(float lhs, float2x4 rhs) { return new bool2x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(float lhs, float2x4 rhs) { return new bool2x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(float lhs, float2x4 rhs) { return new bool2x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(float lhs, float2x4 rhs) { return new bool2x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator -(float2x4 val) { return new float2x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float2x4 operator +(float2x4 val) { return new float2x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(float lhs, float2x4 rhs) { return new bool2x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(float2x4 lhs, float2x4 rhs) { return new bool2x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(float2x4 lhs, float rhs) { return new bool2x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(float lhs, float2x4 rhs) { return new bool2x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float2x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is float2x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float2x4({c0.x}f, {c1.x}f, {c2.x}f, {c3.x}f, {c0.y}f, {c1.y}f, {c2.y}f, {c3.y}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float2x4({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c3.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f, {c3.y.ToString(format, formatProvider)}f)"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct float3 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public float x; public float y; public float z; public DebuggerProxy(float3 v) { x = v.x; y = v.y; z = v.z; } } public float x; public float y; public float z; public static readonly float3 zero; [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, z); } } public unsafe float this[int index] { get { fixed (float3* ptr = &this) { return *(float*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (float* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(float x, float y, float z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(float x, float2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(float2 xy, float z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(float3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(float v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(bool v) { x = (v ? 1f : 0f); y = (v ? 1f : 0f); z = (v ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(bool3 v) { x = (v.x ? 1f : 0f); y = (v.y ? 1f : 0f); z = (v.z ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(int v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(int3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(uint v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(uint3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(half v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(half3 v) { x = v.x; y = v.y; z = v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(double v) { x = (float)v; y = (float)v; z = (float)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3(double3 v) { x = (float)v.x; y = (float)v.y; z = (float)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(float v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3(bool v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3(bool3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(int v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(int3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(uint v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(uint3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(half v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3(half3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3(double v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3(double3 v) { return new float3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator *(float3 lhs, float3 rhs) { return new float3(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator *(float3 lhs, float rhs) { return new float3(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator *(float lhs, float3 rhs) { return new float3(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator +(float3 lhs, float3 rhs) { return new float3(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator +(float3 lhs, float rhs) { return new float3(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator +(float lhs, float3 rhs) { return new float3(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator -(float3 lhs, float3 rhs) { return new float3(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator -(float3 lhs, float rhs) { return new float3(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator -(float lhs, float3 rhs) { return new float3(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator /(float3 lhs, float3 rhs) { return new float3(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator /(float3 lhs, float rhs) { return new float3(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator /(float lhs, float3 rhs) { return new float3(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator %(float3 lhs, float3 rhs) { return new float3(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator %(float3 lhs, float rhs) { return new float3(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator %(float lhs, float3 rhs) { return new float3(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator ++(float3 val) { return new float3(val.x += 1f, val.y += 1f, val.z += 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator --(float3 val) { return new float3(val.x -= 1f, val.y -= 1f, val.z -= 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(float3 lhs, float3 rhs) { return new bool3(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(float3 lhs, float rhs) { return new bool3(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(float lhs, float3 rhs) { return new bool3(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(float3 lhs, float3 rhs) { return new bool3(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(float3 lhs, float rhs) { return new bool3(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(float lhs, float3 rhs) { return new bool3(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(float3 lhs, float3 rhs) { return new bool3(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(float3 lhs, float rhs) { return new bool3(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(float lhs, float3 rhs) { return new bool3(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(float3 lhs, float3 rhs) { return new bool3(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(float3 lhs, float rhs) { return new bool3(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(float lhs, float3 rhs) { return new bool3(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator -(float3 val) { return new float3(0f - val.x, 0f - val.y, 0f - val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3 operator +(float3 val) { return new float3(val.x, val.y, val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(float3 lhs, float3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(float3 lhs, float rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(float lhs, float3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(float3 lhs, float3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(float3 lhs, float rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(float lhs, float3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is float3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float3({x}f, {y}f, {z}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float3({x.ToString(format, formatProvider)}f, {y.ToString(format, formatProvider)}f, {z.ToString(format, formatProvider)}f)"; } public static implicit operator Vector3(float3 v) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) return new Vector3(v.x, v.y, v.z); } public static implicit operator float3(Vector3 v) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) return new float3(v.x, v.y, v.z); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float3x2 : IEquatable, IFormattable { public float3 c0; public float3 c1; public static readonly float3x2 zero; public unsafe ref float3 this[int index] { get { fixed (float3x2* ptr = &this) { return ref *(float3*)((byte*)ptr + (nint)index * (nint)sizeof(float3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(float3 c0, float3 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(float m00, float m01, float m10, float m11, float m20, float m21) { c0 = new float3(m00, m10, m20); c1 = new float3(m01, m11, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(bool v) { c0 = math.select(new float3(0f), new float3(1f), v); c1 = math.select(new float3(0f), new float3(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(bool3x2 v) { c0 = math.select(new float3(0f), new float3(1f), v.c0); c1 = math.select(new float3(0f), new float3(1f), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(int3x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(uint3x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(double v) { c0 = (float3)v; c1 = (float3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x2(double3x2 v) { c0 = (float3)v.c0; c1 = (float3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x2(float v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x2(bool v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x2(bool3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x2(int v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x2(int3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x2(uint v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x2(uint3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x2(double v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x2(double3x2 v) { return new float3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator *(float3x2 lhs, float3x2 rhs) { return new float3x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator *(float3x2 lhs, float rhs) { return new float3x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator *(float lhs, float3x2 rhs) { return new float3x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator +(float3x2 lhs, float3x2 rhs) { return new float3x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator +(float3x2 lhs, float rhs) { return new float3x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator +(float lhs, float3x2 rhs) { return new float3x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator -(float3x2 lhs, float3x2 rhs) { return new float3x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator -(float3x2 lhs, float rhs) { return new float3x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator -(float lhs, float3x2 rhs) { return new float3x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator /(float3x2 lhs, float3x2 rhs) { return new float3x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator /(float3x2 lhs, float rhs) { return new float3x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator /(float lhs, float3x2 rhs) { return new float3x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator %(float3x2 lhs, float3x2 rhs) { return new float3x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator %(float3x2 lhs, float rhs) { return new float3x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator %(float lhs, float3x2 rhs) { return new float3x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator ++(float3x2 val) { return new float3x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator --(float3x2 val) { return new float3x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(float lhs, float3x2 rhs) { return new bool3x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(float lhs, float3x2 rhs) { return new bool3x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(float lhs, float3x2 rhs) { return new bool3x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(float lhs, float3x2 rhs) { return new bool3x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator -(float3x2 val) { return new float3x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x2 operator +(float3x2 val) { return new float3x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(float lhs, float3x2 rhs) { return new bool3x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(float3x2 lhs, float3x2 rhs) { return new bool3x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(float3x2 lhs, float rhs) { return new bool3x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(float lhs, float3x2 rhs) { return new bool3x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float3x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is float3x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float3x2({c0.x}f, {c1.x}f, {c0.y}f, {c1.y}f, {c0.z}f, {c1.z}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float3x2({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f)"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float3x3 : IEquatable, IFormattable { public float3 c0; public float3 c1; public float3 c2; public static readonly float3x3 identity = new float3x3(1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f); public static readonly float3x3 zero; public unsafe ref float3 this[int index] { get { fixed (float3x3* ptr = &this) { return ref *(float3*)((byte*)ptr + (nint)index * (nint)sizeof(float3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(float3 c0, float3 c1, float3 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22) { c0 = new float3(m00, m10, m20); c1 = new float3(m01, m11, m21); c2 = new float3(m02, m12, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(bool v) { c0 = math.select(new float3(0f), new float3(1f), v); c1 = math.select(new float3(0f), new float3(1f), v); c2 = math.select(new float3(0f), new float3(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(bool3x3 v) { c0 = math.select(new float3(0f), new float3(1f), v.c0); c1 = math.select(new float3(0f), new float3(1f), v.c1); c2 = math.select(new float3(0f), new float3(1f), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(int3x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(uint3x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(double v) { c0 = (float3)v; c1 = (float3)v; c2 = (float3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x3(double3x3 v) { c0 = (float3)v.c0; c1 = (float3)v.c1; c2 = (float3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x3(float v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x3(bool v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x3(bool3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x3(int v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x3(int3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x3(uint v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x3(uint3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x3(double v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x3(double3x3 v) { return new float3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator *(float3x3 lhs, float3x3 rhs) { return new float3x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator *(float3x3 lhs, float rhs) { return new float3x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator *(float lhs, float3x3 rhs) { return new float3x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator +(float3x3 lhs, float3x3 rhs) { return new float3x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator +(float3x3 lhs, float rhs) { return new float3x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator +(float lhs, float3x3 rhs) { return new float3x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator -(float3x3 lhs, float3x3 rhs) { return new float3x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator -(float3x3 lhs, float rhs) { return new float3x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator -(float lhs, float3x3 rhs) { return new float3x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator /(float3x3 lhs, float3x3 rhs) { return new float3x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator /(float3x3 lhs, float rhs) { return new float3x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator /(float lhs, float3x3 rhs) { return new float3x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator %(float3x3 lhs, float3x3 rhs) { return new float3x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator %(float3x3 lhs, float rhs) { return new float3x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator %(float lhs, float3x3 rhs) { return new float3x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator ++(float3x3 val) { return new float3x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator --(float3x3 val) { return new float3x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(float lhs, float3x3 rhs) { return new bool3x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(float lhs, float3x3 rhs) { return new bool3x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(float lhs, float3x3 rhs) { return new bool3x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(float lhs, float3x3 rhs) { return new bool3x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator -(float3x3 val) { return new float3x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 operator +(float3x3 val) { return new float3x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(float lhs, float3x3 rhs) { return new bool3x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(float3x3 lhs, float3x3 rhs) { return new bool3x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(float3x3 lhs, float rhs) { return new bool3x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(float lhs, float3x3 rhs) { return new bool3x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float3x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is float3x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float3x3({c0.x}f, {c1.x}f, {c2.x}f, {c0.y}f, {c1.y}f, {c2.y}f, {c0.z}f, {c1.z}f, {c2.z}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float3x3({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f, {c2.z.ToString(format, formatProvider)}f)"; } public float3x3(float4x4 f4x4) { c0 = f4x4.c0.xyz; c1 = f4x4.c1.xyz; c2 = f4x4.c2.xyz; } public float3x3(quaternion q) { float4 value = q.value; float4 float5 = value + value; uint3 uint5 = math.uint3(2147483648u, 0u, 2147483648u); uint3 uint6 = math.uint3(2147483648u, 2147483648u, 0u); uint3 uint7 = math.uint3(0u, 2147483648u, 2147483648u); c0 = float5.y * math.asfloat(math.asuint(value.yxw) ^ uint5) - float5.z * math.asfloat(math.asuint(value.zwx) ^ uint7) + math.float3(1f, 0f, 0f); c1 = float5.z * math.asfloat(math.asuint(value.wzy) ^ uint6) - float5.x * math.asfloat(math.asuint(value.yxw) ^ uint5) + math.float3(0f, 1f, 0f); c2 = float5.x * math.asfloat(math.asuint(value.zwx) ^ uint7) - float5.y * math.asfloat(math.asuint(value.wzy) ^ uint6) + math.float3(0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 AxisAngle(float3 axis, float angle) { math.sincos(angle, out var s, out var c); float3 float5 = axis; float3 yzx = float5.yzx; float3 zxy = float5.zxy; float3 float6 = float5 - float5 * c; float4 float7 = math.float4(float5 * s, c); uint3 uint5 = math.uint3(0u, 0u, 2147483648u); uint3 uint6 = math.uint3(2147483648u, 0u, 0u); uint3 uint7 = math.uint3(0u, 2147483648u, 0u); return math.float3x3(float5.x * float6 + math.asfloat(math.asuint(float7.wzy) ^ uint5), float5.y * float6 + math.asfloat(math.asuint(float7.zwx) ^ uint6), float5.z * float6 + math.asfloat(math.asuint(float7.yxw) ^ uint7)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerXYZ(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z, c.z * s.x * s.y - c.x * s.z, c.x * c.z * s.y + s.x * s.z, c.y * s.z, c.x * c.z + s.x * s.y * s.z, c.x * s.y * s.z - c.z * s.x, 0f - s.y, c.y * s.x, c.x * c.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerXZY(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z, s.x * s.y - c.x * c.y * s.z, c.x * s.y + c.y * s.x * s.z, s.z, c.x * c.z, (0f - c.z) * s.x, (0f - c.z) * s.y, c.y * s.x + c.x * s.y * s.z, c.x * c.y - s.x * s.y * s.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerYXZ(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z - s.x * s.y * s.z, (0f - c.x) * s.z, c.z * s.y + c.y * s.x * s.z, c.z * s.x * s.y + c.y * s.z, c.x * c.z, s.y * s.z - c.y * c.z * s.x, (0f - c.x) * s.y, s.x, c.x * c.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerYZX(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z, 0f - s.z, c.z * s.y, s.x * s.y + c.x * c.y * s.z, c.x * c.z, c.x * s.y * s.z - c.y * s.x, c.y * s.x * s.z - c.x * s.y, c.z * s.x, c.x * c.y + s.x * s.y * s.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerZXY(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z + s.x * s.y * s.z, c.z * s.x * s.y - c.y * s.z, c.x * s.y, c.x * s.z, c.x * c.z, 0f - s.x, c.y * s.x * s.z - c.z * s.y, c.y * c.z * s.x + s.y * s.z, c.x * c.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerZYX(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float3x3(c.y * c.z, (0f - c.y) * s.z, s.y, c.z * s.x * s.y + c.x * s.z, c.x * c.z - s.x * s.y * s.z, (0f - c.y) * s.x, s.x * s.z - c.x * c.z * s.y, c.z * s.x + c.x * s.y * s.z, c.x * c.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerXYZ(float x, float y, float z) { return EulerXYZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerXZY(float x, float y, float z) { return EulerXZY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerYXZ(float x, float y, float z) { return EulerYXZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerYZX(float x, float y, float z) { return EulerYZX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerZXY(float x, float y, float z) { return EulerZXY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 EulerZYX(float x, float y, float z) { return EulerZYX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 Euler(float3 xyz, math.RotationOrder order = math.RotationOrder.ZXY) { return order switch { math.RotationOrder.XYZ => EulerXYZ(xyz), math.RotationOrder.XZY => EulerXZY(xyz), math.RotationOrder.YXZ => EulerYXZ(xyz), math.RotationOrder.YZX => EulerYZX(xyz), math.RotationOrder.ZXY => EulerZXY(xyz), math.RotationOrder.ZYX => EulerZYX(xyz), _ => identity, }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 Euler(float x, float y, float z, math.RotationOrder order = math.RotationOrder.ZXY) { return Euler(math.float3(x, y, z), order); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 RotateX(float angle) { math.sincos(angle, out var s, out var c); return math.float3x3(1f, 0f, 0f, 0f, c, 0f - s, 0f, s, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 RotateY(float angle) { math.sincos(angle, out var s, out var c); return math.float3x3(c, 0f, s, 0f, 1f, 0f, 0f - s, 0f, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 RotateZ(float angle) { math.sincos(angle, out var s, out var c); return math.float3x3(c, 0f - s, 0f, s, c, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 Scale(float s) { return math.float3x3(s, 0f, 0f, 0f, s, 0f, 0f, 0f, s); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 Scale(float x, float y, float z) { return math.float3x3(x, 0f, 0f, 0f, y, 0f, 0f, 0f, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 Scale(float3 v) { return Scale(v.x, v.y, v.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 LookRotation(float3 forward, float3 up) { float3 y = math.normalize(math.cross(up, forward)); return math.float3x3(y, math.cross(forward, y), forward); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x3 LookRotationSafe(float3 forward, float3 up) { float x = math.dot(forward, forward); float num = math.dot(up, up); forward *= math.rsqrt(x); up *= math.rsqrt(num); float3 float5 = math.cross(up, forward); float num2 = math.dot(float5, float5); float5 *= math.rsqrt(num2); float num3 = math.min(math.min(x, num), num2); float num4 = math.max(math.max(x, num), num2); bool c = num3 > 1E-35f && num4 < 1E+35f && math.isfinite(x) && math.isfinite(num) && math.isfinite(num2); return math.float3x3(math.select(math.float3(1f, 0f, 0f), float5, c), math.select(math.float3(0f, 1f, 0f), math.cross(forward, float5), c), math.select(math.float3(0f, 0f, 1f), forward, c)); } public static explicit operator float3x3(float4x4 f4x4) { return new float3x3(f4x4); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float3x4 : IEquatable, IFormattable { public float3 c0; public float3 c1; public float3 c2; public float3 c3; public static readonly float3x4 zero; public unsafe ref float3 this[int index] { get { fixed (float3x4* ptr = &this) { return ref *(float3*)((byte*)ptr + (nint)index * (nint)sizeof(float3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(float3 c0, float3 c1, float3 c2, float3 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23) { c0 = new float3(m00, m10, m20); c1 = new float3(m01, m11, m21); c2 = new float3(m02, m12, m22); c3 = new float3(m03, m13, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(bool v) { c0 = math.select(new float3(0f), new float3(1f), v); c1 = math.select(new float3(0f), new float3(1f), v); c2 = math.select(new float3(0f), new float3(1f), v); c3 = math.select(new float3(0f), new float3(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(bool3x4 v) { c0 = math.select(new float3(0f), new float3(1f), v.c0); c1 = math.select(new float3(0f), new float3(1f), v.c1); c2 = math.select(new float3(0f), new float3(1f), v.c2); c3 = math.select(new float3(0f), new float3(1f), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(int3x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(uint3x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(double v) { c0 = (float3)v; c1 = (float3)v; c2 = (float3)v; c3 = (float3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3x4(double3x4 v) { c0 = (float3)v.c0; c1 = (float3)v.c1; c2 = (float3)v.c2; c3 = (float3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x4(float v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x4(bool v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x4(bool3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x4(int v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x4(int3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x4(uint v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float3x4(uint3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x4(double v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float3x4(double3x4 v) { return new float3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator *(float3x4 lhs, float3x4 rhs) { return new float3x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator *(float3x4 lhs, float rhs) { return new float3x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator *(float lhs, float3x4 rhs) { return new float3x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator +(float3x4 lhs, float3x4 rhs) { return new float3x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator +(float3x4 lhs, float rhs) { return new float3x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator +(float lhs, float3x4 rhs) { return new float3x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator -(float3x4 lhs, float3x4 rhs) { return new float3x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator -(float3x4 lhs, float rhs) { return new float3x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator -(float lhs, float3x4 rhs) { return new float3x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator /(float3x4 lhs, float3x4 rhs) { return new float3x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator /(float3x4 lhs, float rhs) { return new float3x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator /(float lhs, float3x4 rhs) { return new float3x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator %(float3x4 lhs, float3x4 rhs) { return new float3x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator %(float3x4 lhs, float rhs) { return new float3x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator %(float lhs, float3x4 rhs) { return new float3x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator ++(float3x4 val) { return new float3x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator --(float3x4 val) { return new float3x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(float lhs, float3x4 rhs) { return new bool3x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(float lhs, float3x4 rhs) { return new bool3x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(float lhs, float3x4 rhs) { return new bool3x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(float lhs, float3x4 rhs) { return new bool3x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator -(float3x4 val) { return new float3x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float3x4 operator +(float3x4 val) { return new float3x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(float lhs, float3x4 rhs) { return new bool3x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(float3x4 lhs, float3x4 rhs) { return new bool3x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(float3x4 lhs, float rhs) { return new bool3x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(float lhs, float3x4 rhs) { return new bool3x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float3x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is float3x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float3x4({c0.x}f, {c1.x}f, {c2.x}f, {c3.x}f, {c0.y}f, {c1.y}f, {c2.y}f, {c3.y}f, {c0.z}f, {c1.z}f, {c2.z}f, {c3.z}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float3x4({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c3.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f, {c3.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f, {c2.z.ToString(format, formatProvider)}f, {c3.z.ToString(format, formatProvider)}f)"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct float4 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public float x; public float y; public float z; public float w; public DebuggerProxy(float4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } public float x; public float y; public float z; public float w; public static readonly float4 zero; [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public float2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new float2(w, w); } } public unsafe float this[int index] { get { fixed (float4* ptr = &this) { return *(float*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (float* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float x, float y, float z, float w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float x, float y, float2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float x, float2 yz, float w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float x, float3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float2 xy, float z, float w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float2 xy, float2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float3 xyz, float w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(float v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(bool v) { x = (v ? 1f : 0f); y = (v ? 1f : 0f); z = (v ? 1f : 0f); w = (v ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(bool4 v) { x = (v.x ? 1f : 0f); y = (v.y ? 1f : 0f); z = (v.z ? 1f : 0f); w = (v.w ? 1f : 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(int v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(int4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(uint v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(uint4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(half v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(half4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(double v) { x = (float)v; y = (float)v; z = (float)v; w = (float)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4(double4 v) { x = (float)v.x; y = (float)v.y; z = (float)v.z; w = (float)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(float v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4(bool v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4(bool4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(int v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(int4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(uint v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(uint4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(half v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(half4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4(double v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4(double4 v) { return new float4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator *(float4 lhs, float4 rhs) { return new float4(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator *(float4 lhs, float rhs) { return new float4(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs, lhs.w * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator *(float lhs, float4 rhs) { return new float4(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z, lhs * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator +(float4 lhs, float4 rhs) { return new float4(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z, lhs.w + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator +(float4 lhs, float rhs) { return new float4(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs, lhs.w + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator +(float lhs, float4 rhs) { return new float4(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z, lhs + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator -(float4 lhs, float4 rhs) { return new float4(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z, lhs.w - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator -(float4 lhs, float rhs) { return new float4(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs, lhs.w - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator -(float lhs, float4 rhs) { return new float4(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z, lhs - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator /(float4 lhs, float4 rhs) { return new float4(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z, lhs.w / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator /(float4 lhs, float rhs) { return new float4(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs, lhs.w / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator /(float lhs, float4 rhs) { return new float4(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z, lhs / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator %(float4 lhs, float4 rhs) { return new float4(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z, lhs.w % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator %(float4 lhs, float rhs) { return new float4(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs, lhs.w % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator %(float lhs, float4 rhs) { return new float4(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z, lhs % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator ++(float4 val) { return new float4(val.x += 1f, val.y += 1f, val.z += 1f, val.w += 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator --(float4 val) { return new float4(val.x -= 1f, val.y -= 1f, val.z -= 1f, val.w -= 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(float4 lhs, float4 rhs) { return new bool4(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z, lhs.w < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(float4 lhs, float rhs) { return new bool4(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs, lhs.w < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(float lhs, float4 rhs) { return new bool4(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z, lhs < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(float4 lhs, float4 rhs) { return new bool4(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z, lhs.w <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(float4 lhs, float rhs) { return new bool4(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs, lhs.w <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(float lhs, float4 rhs) { return new bool4(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z, lhs <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(float4 lhs, float4 rhs) { return new bool4(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z, lhs.w > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(float4 lhs, float rhs) { return new bool4(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs, lhs.w > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(float lhs, float4 rhs) { return new bool4(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z, lhs > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(float4 lhs, float4 rhs) { return new bool4(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z, lhs.w >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(float4 lhs, float rhs) { return new bool4(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs, lhs.w >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(float lhs, float4 rhs) { return new bool4(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z, lhs >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator -(float4 val) { return new float4(0f - val.x, 0f - val.y, 0f - val.z, 0f - val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 operator +(float4 val) { return new float4(val.x, val.y, val.z, val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(float4 lhs, float4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(float4 lhs, float rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(float lhs, float4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(float4 lhs, float4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(float4 lhs, float rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(float lhs, float4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is float4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float4({x}f, {y}f, {z}f, {w}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float4({x.ToString(format, formatProvider)}f, {y.ToString(format, formatProvider)}f, {z.ToString(format, formatProvider)}f, {w.ToString(format, formatProvider)}f)"; } public static implicit operator float4(Vector4 v) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) return new float4(v.x, v.y, v.z, v.w); } public static implicit operator Vector4(float4 v) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) return new Vector4(v.x, v.y, v.z, v.w); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float4x2 : IEquatable, IFormattable { public float4 c0; public float4 c1; public static readonly float4x2 zero; public unsafe ref float4 this[int index] { get { fixed (float4x2* ptr = &this) { return ref *(float4*)((byte*)ptr + (nint)index * (nint)sizeof(float4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(float4 c0, float4 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(float m00, float m01, float m10, float m11, float m20, float m21, float m30, float m31) { c0 = new float4(m00, m10, m20, m30); c1 = new float4(m01, m11, m21, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(float v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(bool v) { c0 = math.select(new float4(0f), new float4(1f), v); c1 = math.select(new float4(0f), new float4(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(bool4x2 v) { c0 = math.select(new float4(0f), new float4(1f), v.c0); c1 = math.select(new float4(0f), new float4(1f), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(int4x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(uint4x2 v) { c0 = v.c0; c1 = v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(double v) { c0 = (float4)v; c1 = (float4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x2(double4x2 v) { c0 = (float4)v.c0; c1 = (float4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x2(float v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x2(bool v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x2(bool4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x2(int v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x2(int4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x2(uint v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x2(uint4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x2(double v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x2(double4x2 v) { return new float4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator *(float4x2 lhs, float4x2 rhs) { return new float4x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator *(float4x2 lhs, float rhs) { return new float4x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator *(float lhs, float4x2 rhs) { return new float4x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator +(float4x2 lhs, float4x2 rhs) { return new float4x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator +(float4x2 lhs, float rhs) { return new float4x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator +(float lhs, float4x2 rhs) { return new float4x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator -(float4x2 lhs, float4x2 rhs) { return new float4x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator -(float4x2 lhs, float rhs) { return new float4x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator -(float lhs, float4x2 rhs) { return new float4x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator /(float4x2 lhs, float4x2 rhs) { return new float4x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator /(float4x2 lhs, float rhs) { return new float4x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator /(float lhs, float4x2 rhs) { return new float4x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator %(float4x2 lhs, float4x2 rhs) { return new float4x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator %(float4x2 lhs, float rhs) { return new float4x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator %(float lhs, float4x2 rhs) { return new float4x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator ++(float4x2 val) { return new float4x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator --(float4x2 val) { return new float4x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(float lhs, float4x2 rhs) { return new bool4x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(float lhs, float4x2 rhs) { return new bool4x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(float lhs, float4x2 rhs) { return new bool4x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(float lhs, float4x2 rhs) { return new bool4x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator -(float4x2 val) { return new float4x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x2 operator +(float4x2 val) { return new float4x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(float lhs, float4x2 rhs) { return new bool4x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(float4x2 lhs, float4x2 rhs) { return new bool4x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(float4x2 lhs, float rhs) { return new bool4x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(float lhs, float4x2 rhs) { return new bool4x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float4x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is float4x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float4x2({c0.x}f, {c1.x}f, {c0.y}f, {c1.y}f, {c0.z}f, {c1.z}f, {c0.w}f, {c1.w}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float4x2({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f, {c0.w.ToString(format, formatProvider)}f, {c1.w.ToString(format, formatProvider)}f)"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float4x3 : IEquatable, IFormattable { public float4 c0; public float4 c1; public float4 c2; public static readonly float4x3 zero; public unsafe ref float4 this[int index] { get { fixed (float4x3* ptr = &this) { return ref *(float4*)((byte*)ptr + (nint)index * (nint)sizeof(float4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(float4 c0, float4 c1, float4 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22, float m30, float m31, float m32) { c0 = new float4(m00, m10, m20, m30); c1 = new float4(m01, m11, m21, m31); c2 = new float4(m02, m12, m22, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(float v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(bool v) { c0 = math.select(new float4(0f), new float4(1f), v); c1 = math.select(new float4(0f), new float4(1f), v); c2 = math.select(new float4(0f), new float4(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(bool4x3 v) { c0 = math.select(new float4(0f), new float4(1f), v.c0); c1 = math.select(new float4(0f), new float4(1f), v.c1); c2 = math.select(new float4(0f), new float4(1f), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(int4x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(uint4x3 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(double v) { c0 = (float4)v; c1 = (float4)v; c2 = (float4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x3(double4x3 v) { c0 = (float4)v.c0; c1 = (float4)v.c1; c2 = (float4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x3(float v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x3(bool v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x3(bool4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x3(int v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x3(int4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x3(uint v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x3(uint4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x3(double v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x3(double4x3 v) { return new float4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator *(float4x3 lhs, float4x3 rhs) { return new float4x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator *(float4x3 lhs, float rhs) { return new float4x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator *(float lhs, float4x3 rhs) { return new float4x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator +(float4x3 lhs, float4x3 rhs) { return new float4x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator +(float4x3 lhs, float rhs) { return new float4x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator +(float lhs, float4x3 rhs) { return new float4x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator -(float4x3 lhs, float4x3 rhs) { return new float4x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator -(float4x3 lhs, float rhs) { return new float4x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator -(float lhs, float4x3 rhs) { return new float4x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator /(float4x3 lhs, float4x3 rhs) { return new float4x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator /(float4x3 lhs, float rhs) { return new float4x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator /(float lhs, float4x3 rhs) { return new float4x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator %(float4x3 lhs, float4x3 rhs) { return new float4x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator %(float4x3 lhs, float rhs) { return new float4x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator %(float lhs, float4x3 rhs) { return new float4x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator ++(float4x3 val) { return new float4x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator --(float4x3 val) { return new float4x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(float lhs, float4x3 rhs) { return new bool4x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(float lhs, float4x3 rhs) { return new bool4x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(float lhs, float4x3 rhs) { return new bool4x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(float lhs, float4x3 rhs) { return new bool4x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator -(float4x3 val) { return new float4x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x3 operator +(float4x3 val) { return new float4x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(float lhs, float4x3 rhs) { return new bool4x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(float4x3 lhs, float4x3 rhs) { return new bool4x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(float4x3 lhs, float rhs) { return new bool4x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(float lhs, float4x3 rhs) { return new bool4x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float4x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is float4x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float4x3({c0.x}f, {c1.x}f, {c2.x}f, {c0.y}f, {c1.y}f, {c2.y}f, {c0.z}f, {c1.z}f, {c2.z}f, {c0.w}f, {c1.w}f, {c2.w}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float4x3({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f, {c2.z.ToString(format, formatProvider)}f, {c0.w.ToString(format, formatProvider)}f, {c1.w.ToString(format, formatProvider)}f, {c2.w.ToString(format, formatProvider)}f)"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct float4x4 : IEquatable, IFormattable { public float4 c0; public float4 c1; public float4 c2; public float4 c3; public static readonly float4x4 identity = new float4x4(1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f); public static readonly float4x4 zero; public unsafe ref float4 this[int index] { get { fixed (float4x4* ptr = &this) { return ref *(float4*)((byte*)ptr + (nint)index * (nint)sizeof(float4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(float4 c0, float4 c1, float4 c2, float4 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) { c0 = new float4(m00, m10, m20, m30); c1 = new float4(m01, m11, m21, m31); c2 = new float4(m02, m12, m22, m32); c3 = new float4(m03, m13, m23, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(float v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(bool v) { c0 = math.select(new float4(0f), new float4(1f), v); c1 = math.select(new float4(0f), new float4(1f), v); c2 = math.select(new float4(0f), new float4(1f), v); c3 = math.select(new float4(0f), new float4(1f), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(bool4x4 v) { c0 = math.select(new float4(0f), new float4(1f), v.c0); c1 = math.select(new float4(0f), new float4(1f), v.c1); c2 = math.select(new float4(0f), new float4(1f), v.c2); c3 = math.select(new float4(0f), new float4(1f), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(int4x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(uint4x4 v) { c0 = v.c0; c1 = v.c1; c2 = v.c2; c3 = v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(double v) { c0 = (float4)v; c1 = (float4)v; c2 = (float4)v; c3 = (float4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4x4(double4x4 v) { c0 = (float4)v.c0; c1 = (float4)v.c1; c2 = (float4)v.c2; c3 = (float4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x4(float v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x4(bool v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x4(bool4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x4(int v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x4(int4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x4(uint v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4x4(uint4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x4(double v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator float4x4(double4x4 v) { return new float4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator *(float4x4 lhs, float4x4 rhs) { return new float4x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator *(float4x4 lhs, float rhs) { return new float4x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator *(float lhs, float4x4 rhs) { return new float4x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator +(float4x4 lhs, float4x4 rhs) { return new float4x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator +(float4x4 lhs, float rhs) { return new float4x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator +(float lhs, float4x4 rhs) { return new float4x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator -(float4x4 lhs, float4x4 rhs) { return new float4x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator -(float4x4 lhs, float rhs) { return new float4x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator -(float lhs, float4x4 rhs) { return new float4x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator /(float4x4 lhs, float4x4 rhs) { return new float4x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator /(float4x4 lhs, float rhs) { return new float4x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator /(float lhs, float4x4 rhs) { return new float4x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator %(float4x4 lhs, float4x4 rhs) { return new float4x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator %(float4x4 lhs, float rhs) { return new float4x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator %(float lhs, float4x4 rhs) { return new float4x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator ++(float4x4 val) { return new float4x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator --(float4x4 val) { return new float4x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(float lhs, float4x4 rhs) { return new bool4x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(float lhs, float4x4 rhs) { return new bool4x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(float lhs, float4x4 rhs) { return new bool4x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(float lhs, float4x4 rhs) { return new bool4x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator -(float4x4 val) { return new float4x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 operator +(float4x4 val) { return new float4x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(float lhs, float4x4 rhs) { return new bool4x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(float4x4 lhs, float4x4 rhs) { return new bool4x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(float4x4 lhs, float rhs) { return new bool4x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(float lhs, float4x4 rhs) { return new bool4x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(float4x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is float4x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"float4x4({c0.x}f, {c1.x}f, {c2.x}f, {c3.x}f, {c0.y}f, {c1.y}f, {c2.y}f, {c3.y}f, {c0.z}f, {c1.z}f, {c2.z}f, {c3.z}f, {c0.w}f, {c1.w}f, {c2.w}f, {c3.w}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float4x4({c0.x.ToString(format, formatProvider)}f, {c1.x.ToString(format, formatProvider)}f, {c2.x.ToString(format, formatProvider)}f, {c3.x.ToString(format, formatProvider)}f, {c0.y.ToString(format, formatProvider)}f, {c1.y.ToString(format, formatProvider)}f, {c2.y.ToString(format, formatProvider)}f, {c3.y.ToString(format, formatProvider)}f, {c0.z.ToString(format, formatProvider)}f, {c1.z.ToString(format, formatProvider)}f, {c2.z.ToString(format, formatProvider)}f, {c3.z.ToString(format, formatProvider)}f, {c0.w.ToString(format, formatProvider)}f, {c1.w.ToString(format, formatProvider)}f, {c2.w.ToString(format, formatProvider)}f, {c3.w.ToString(format, formatProvider)}f)"; } public static implicit operator float4x4(Matrix4x4 m) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) return new float4x4(((Matrix4x4)(ref m)).GetColumn(0), ((Matrix4x4)(ref m)).GetColumn(1), ((Matrix4x4)(ref m)).GetColumn(2), ((Matrix4x4)(ref m)).GetColumn(3)); } public static implicit operator Matrix4x4(float4x4 m) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) return new Matrix4x4((Vector4)m.c0, (Vector4)m.c1, (Vector4)m.c2, (Vector4)m.c3); } public float4x4(float3x3 rotation, float3 translation) { c0 = math.float4(rotation.c0, 0f); c1 = math.float4(rotation.c1, 0f); c2 = math.float4(rotation.c2, 0f); c3 = math.float4(translation, 1f); } public float4x4(quaternion rotation, float3 translation) { float3x3 float3x5 = math.float3x3(rotation); c0 = math.float4(float3x5.c0, 0f); c1 = math.float4(float3x5.c1, 0f); c2 = math.float4(float3x5.c2, 0f); c3 = math.float4(translation, 1f); } public float4x4(RigidTransform transform) { float3x3 float3x5 = math.float3x3(transform.rot); c0 = math.float4(float3x5.c0, 0f); c1 = math.float4(float3x5.c1, 0f); c2 = math.float4(float3x5.c2, 0f); c3 = math.float4(transform.pos, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 AxisAngle(float3 axis, float angle) { math.sincos(angle, out var s, out var c); float4 float5 = math.float4(axis, 0f); float4 yzxx = float5.yzxx; float4 zxyx = float5.zxyx; float4 float6 = float5 - float5 * c; float4 float7 = math.float4(float5.xyz * s, c); uint4 uint5 = math.uint4(0u, 0u, 2147483648u, 0u); uint4 uint6 = math.uint4(2147483648u, 0u, 0u, 0u); uint4 uint7 = math.uint4(0u, 2147483648u, 0u, 0u); uint4 uint8 = math.uint4(uint.MaxValue, uint.MaxValue, uint.MaxValue, 0u); return math.float4x4(float5.x * float6 + math.asfloat((math.asuint(float7.wzyx) ^ uint5) & uint8), float5.y * float6 + math.asfloat((math.asuint(float7.zwxx) ^ uint6) & uint8), float5.z * float6 + math.asfloat((math.asuint(float7.yxwx) ^ uint7) & uint8), math.float4(0f, 0f, 0f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerXYZ(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z, c.z * s.x * s.y - c.x * s.z, c.x * c.z * s.y + s.x * s.z, 0f, c.y * s.z, c.x * c.z + s.x * s.y * s.z, c.x * s.y * s.z - c.z * s.x, 0f, 0f - s.y, c.y * s.x, c.x * c.y, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerXZY(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z, s.x * s.y - c.x * c.y * s.z, c.x * s.y + c.y * s.x * s.z, 0f, s.z, c.x * c.z, (0f - c.z) * s.x, 0f, (0f - c.z) * s.y, c.y * s.x + c.x * s.y * s.z, c.x * c.y - s.x * s.y * s.z, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerYXZ(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z - s.x * s.y * s.z, (0f - c.x) * s.z, c.z * s.y + c.y * s.x * s.z, 0f, c.z * s.x * s.y + c.y * s.z, c.x * c.z, s.y * s.z - c.y * c.z * s.x, 0f, (0f - c.x) * s.y, s.x, c.x * c.y, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerYZX(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z, 0f - s.z, c.z * s.y, 0f, s.x * s.y + c.x * c.y * s.z, c.x * c.z, c.x * s.y * s.z - c.y * s.x, 0f, c.y * s.x * s.z - c.x * s.y, c.z * s.x, c.x * c.y + s.x * s.y * s.z, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerZXY(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z + s.x * s.y * s.z, c.z * s.x * s.y - c.y * s.z, c.x * s.y, 0f, c.x * s.z, c.x * c.z, 0f - s.x, 0f, c.y * s.x * s.z - c.z * s.y, c.y * c.z * s.x + s.y * s.z, c.x * c.y, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerZYX(float3 xyz) { math.sincos(xyz, out var s, out var c); return math.float4x4(c.y * c.z, (0f - c.y) * s.z, s.y, 0f, c.z * s.x * s.y + c.x * s.z, c.x * c.z - s.x * s.y * s.z, (0f - c.y) * s.x, 0f, s.x * s.z - c.x * c.z * s.y, c.z * s.x + c.x * s.y * s.z, c.x * c.y, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerXYZ(float x, float y, float z) { return EulerXYZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerXZY(float x, float y, float z) { return EulerXZY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerYXZ(float x, float y, float z) { return EulerYXZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerYZX(float x, float y, float z) { return EulerYZX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerZXY(float x, float y, float z) { return EulerZXY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 EulerZYX(float x, float y, float z) { return EulerZYX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Euler(float3 xyz, math.RotationOrder order = math.RotationOrder.ZXY) { return order switch { math.RotationOrder.XYZ => EulerXYZ(xyz), math.RotationOrder.XZY => EulerXZY(xyz), math.RotationOrder.YXZ => EulerYXZ(xyz), math.RotationOrder.YZX => EulerYZX(xyz), math.RotationOrder.ZXY => EulerZXY(xyz), math.RotationOrder.ZYX => EulerZYX(xyz), _ => identity, }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Euler(float x, float y, float z, math.RotationOrder order = math.RotationOrder.ZXY) { return Euler(math.float3(x, y, z), order); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 RotateX(float angle) { math.sincos(angle, out var s, out var c); return math.float4x4(1f, 0f, 0f, 0f, 0f, c, 0f - s, 0f, 0f, s, c, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 RotateY(float angle) { math.sincos(angle, out var s, out var c); return math.float4x4(c, 0f, s, 0f, 0f, 1f, 0f, 0f, 0f - s, 0f, c, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 RotateZ(float angle) { math.sincos(angle, out var s, out var c); return math.float4x4(c, 0f - s, 0f, 0f, s, c, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Scale(float s) { return math.float4x4(s, 0f, 0f, 0f, 0f, s, 0f, 0f, 0f, 0f, s, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Scale(float x, float y, float z) { return math.float4x4(x, 0f, 0f, 0f, 0f, y, 0f, 0f, 0f, 0f, z, 0f, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Scale(float3 scales) { return Scale(scales.x, scales.y, scales.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Translate(float3 vector) { return math.float4x4(math.float4(1f, 0f, 0f, 0f), math.float4(0f, 1f, 0f, 0f), math.float4(0f, 0f, 1f, 0f), math.float4(vector.x, vector.y, vector.z, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 LookAt(float3 eye, float3 target, float3 up) { float3x3 float3x5 = float3x3.LookRotation(math.normalize(target - eye), up); float4x4 result = default(float4x4); result.c0 = math.float4(float3x5.c0, 0f); result.c1 = math.float4(float3x5.c1, 0f); result.c2 = math.float4(float3x5.c2, 0f); result.c3 = math.float4(eye, 1f); return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 Ortho(float width, float height, float near, float far) { float num = 1f / width; float num2 = 1f / height; float num3 = 1f / (far - near); return math.float4x4(2f * num, 0f, 0f, 0f, 0f, 2f * num2, 0f, 0f, 0f, 0f, -2f * num3, (0f - (far + near)) * num3, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 OrthoOffCenter(float left, float right, float bottom, float top, float near, float far) { float num = 1f / (right - left); float num2 = 1f / (top - bottom); float num3 = 1f / (far - near); return math.float4x4(2f * num, 0f, 0f, (0f - (right + left)) * num, 0f, 2f * num2, 0f, (0f - (top + bottom)) * num2, 0f, 0f, -2f * num3, (0f - (far + near)) * num3, 0f, 0f, 0f, 1f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 PerspectiveFov(float verticalFov, float aspect, float near, float far) { float num = 1f / math.tan(verticalFov * 0.5f); float num2 = 1f / (near - far); return math.float4x4(num / aspect, 0f, 0f, 0f, 0f, num, 0f, 0f, 0f, 0f, (far + near) * num2, 2f * near * far * num2, 0f, 0f, -1f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 PerspectiveOffCenter(float left, float right, float bottom, float top, float near, float far) { float num = 1f / (near - far); float num2 = 1f / (right - left); float num3 = 1f / (top - bottom); return math.float4x4(2f * near * num2, 0f, (left + right) * num2, 0f, 0f, 2f * near * num3, (bottom + top) * num3, 0f, 0f, 0f, (far + near) * num, 2f * near * far * num, 0f, 0f, -1f, 0f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4x4 TRS(float3 translation, quaternion rotation, float3 scale) { float3x3 float3x5 = math.float3x3(rotation); return math.float4x4(math.float4(float3x5.c0 * scale.x, 0f), math.float4(float3x5.c1 * scale.y, 0f), math.float4(float3x5.c2 * scale.z, 0f), math.float4(translation, 1f)); } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct half : IEquatable, IFormattable { public ushort value; public static readonly half zero = default(half); public static float MaxValue => 65504f; public static float MinValue => -65504f; public static half MaxValueAsHalf => new half(MaxValue); public static half MinValueAsHalf => new half(MinValue); [MethodImpl(MethodImplOptions.AggressiveInlining)] public half(half x) { value = x.value; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half(float v) { value = (ushort)math.f32tof16(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half(double v) { value = (ushort)math.f32tof16((float)v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half(float v) { return new half(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half(double v) { return new half(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float(half d) { return math.f16tof32(d.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator double(half d) { return math.f16tof32(d.value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool operator ==(half lhs, half rhs) { return lhs.value == rhs.value; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool operator !=(half lhs, half rhs) { return lhs.value != rhs.value; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(half rhs) { return value == rhs.value; } public override bool Equals(object o) { return o is half rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return value; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return math.f16tof32(value).ToString(); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return math.f16tof32(value).ToString(format, formatProvider); } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct half2 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public half x; public half y; public DebuggerProxy(half2 v) { x = v.x; y = v.y; } } public half x; public half y; public static readonly half2 zero; [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, y); } } public unsafe half this[int index] { get { fixed (half2* ptr = &this) { return *(half*)((byte*)ptr + (nint)index * (nint)sizeof(half)); } } set { fixed (half* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(half x, half y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(half2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(half v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(float v) { x = (half)v; y = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(float2 v) { x = (half)v.x; y = (half)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(double v) { x = (half)v; y = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half2(double2 v) { x = (half)v.x; y = (half)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator half2(half v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half2(float v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half2(float2 v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half2(double v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half2(double2 v) { return new half2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(half2 lhs, half2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(half2 lhs, half rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(half lhs, half2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(half2 lhs, half2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(half2 lhs, half rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(half lhs, half2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(half2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is half2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"half2({x}, {y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"half2({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct half3 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public half x; public half y; public half z; public DebuggerProxy(half3 v) { x = v.x; y = v.y; z = v.z; } } public half x; public half y; public half z; public static readonly half3 zero; [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, z); } } public unsafe half this[int index] { get { fixed (half3* ptr = &this) { return *(half*)((byte*)ptr + (nint)index * (nint)sizeof(half)); } } set { fixed (half* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(half x, half y, half z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(half x, half2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(half2 xy, half z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(half3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(half v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(float v) { x = (half)v; y = (half)v; z = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(float3 v) { x = (half)v.x; y = (half)v.y; z = (half)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(double v) { x = (half)v; y = (half)v; z = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half3(double3 v) { x = (half)v.x; y = (half)v.y; z = (half)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator half3(half v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half3(float v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half3(float3 v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half3(double v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half3(double3 v) { return new half3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(half3 lhs, half3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(half3 lhs, half rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(half lhs, half3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(half3 lhs, half3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(half3 lhs, half rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(half lhs, half3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(half3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is half3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"half3({x}, {y}, {z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"half3({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct half4 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public half x; public half y; public half z; public half w; public DebuggerProxy(half4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } public half x; public half y; public half z; public half w; public static readonly half4 zero; [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public half2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new half2(w, w); } } public unsafe half this[int index] { get { fixed (half4* ptr = &this) { return *(half*)((byte*)ptr + (nint)index * (nint)sizeof(half)); } } set { fixed (half* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half x, half y, half z, half w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half x, half y, half2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half x, half2 yz, half w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half x, half3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half2 xy, half z, half w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half2 xy, half2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half3 xyz, half w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(half v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(float v) { x = (half)v; y = (half)v; z = (half)v; w = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(float4 v) { x = (half)v.x; y = (half)v.y; z = (half)v.z; w = (half)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(double v) { x = (half)v; y = (half)v; z = (half)v; w = (half)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public half4(double4 v) { x = (half)v.x; y = (half)v.y; z = (half)v.z; w = (half)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator half4(half v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half4(float v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half4(float4 v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half4(double v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator half4(double4 v) { return new half4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(half4 lhs, half4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(half4 lhs, half rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(half lhs, half4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(half4 lhs, half4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(half4 lhs, half rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(half lhs, half4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(half4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is half4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"half4({x}, {y}, {z}, {w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"half4({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)}, {w.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct int2 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public int x; public int y; public DebuggerProxy(int2 v) { x = v.x; y = v.y; } } public int x; public int y; public static readonly int2 zero; [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, y); } } public unsafe int this[int index] { get { fixed (int2* ptr = &this) { return *(int*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (int* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(int x, int y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(int2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(int v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(bool v) { x = (v ? 1 : 0); y = (v ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(bool2 v) { x = (v.x ? 1 : 0); y = (v.y ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(uint v) { x = (int)v; y = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(uint2 v) { x = (int)v.x; y = (int)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(float v) { x = (int)v; y = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(float2 v) { x = (int)v.x; y = (int)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(double v) { x = (int)v; y = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2(double2 v) { x = (int)v.x; y = (int)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int2(int v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(bool v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(bool2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(uint v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(uint2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(float v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(float2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(double v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2(double2 v) { return new int2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator *(int2 lhs, int2 rhs) { return new int2(lhs.x * rhs.x, lhs.y * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator *(int2 lhs, int rhs) { return new int2(lhs.x * rhs, lhs.y * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator *(int lhs, int2 rhs) { return new int2(lhs * rhs.x, lhs * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator +(int2 lhs, int2 rhs) { return new int2(lhs.x + rhs.x, lhs.y + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator +(int2 lhs, int rhs) { return new int2(lhs.x + rhs, lhs.y + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator +(int lhs, int2 rhs) { return new int2(lhs + rhs.x, lhs + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator -(int2 lhs, int2 rhs) { return new int2(lhs.x - rhs.x, lhs.y - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator -(int2 lhs, int rhs) { return new int2(lhs.x - rhs, lhs.y - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator -(int lhs, int2 rhs) { return new int2(lhs - rhs.x, lhs - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator /(int2 lhs, int2 rhs) { return new int2(lhs.x / rhs.x, lhs.y / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator /(int2 lhs, int rhs) { return new int2(lhs.x / rhs, lhs.y / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator /(int lhs, int2 rhs) { return new int2(lhs / rhs.x, lhs / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator %(int2 lhs, int2 rhs) { return new int2(lhs.x % rhs.x, lhs.y % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator %(int2 lhs, int rhs) { return new int2(lhs.x % rhs, lhs.y % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator %(int lhs, int2 rhs) { return new int2(lhs % rhs.x, lhs % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator ++(int2 val) { return new int2(++val.x, ++val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator --(int2 val) { return new int2(--val.x, --val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(int2 lhs, int2 rhs) { return new bool2(lhs.x < rhs.x, lhs.y < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(int2 lhs, int rhs) { return new bool2(lhs.x < rhs, lhs.y < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(int lhs, int2 rhs) { return new bool2(lhs < rhs.x, lhs < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(int2 lhs, int2 rhs) { return new bool2(lhs.x <= rhs.x, lhs.y <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(int2 lhs, int rhs) { return new bool2(lhs.x <= rhs, lhs.y <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(int lhs, int2 rhs) { return new bool2(lhs <= rhs.x, lhs <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(int2 lhs, int2 rhs) { return new bool2(lhs.x > rhs.x, lhs.y > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(int2 lhs, int rhs) { return new bool2(lhs.x > rhs, lhs.y > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(int lhs, int2 rhs) { return new bool2(lhs > rhs.x, lhs > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(int2 lhs, int2 rhs) { return new bool2(lhs.x >= rhs.x, lhs.y >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(int2 lhs, int rhs) { return new bool2(lhs.x >= rhs, lhs.y >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(int lhs, int2 rhs) { return new bool2(lhs >= rhs.x, lhs >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator -(int2 val) { return new int2(-val.x, -val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator +(int2 val) { return new int2(val.x, val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator <<(int2 x, int n) { return new int2(x.x << n, x.y << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator >>(int2 x, int n) { return new int2(x.x >> n, x.y >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(int2 lhs, int2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(int2 lhs, int rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(int lhs, int2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(int2 lhs, int2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(int2 lhs, int rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(int lhs, int2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator ~(int2 val) { return new int2(~val.x, ~val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator &(int2 lhs, int2 rhs) { return new int2(lhs.x & rhs.x, lhs.y & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator &(int2 lhs, int rhs) { return new int2(lhs.x & rhs, lhs.y & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator &(int lhs, int2 rhs) { return new int2(lhs & rhs.x, lhs & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator |(int2 lhs, int2 rhs) { return new int2(lhs.x | rhs.x, lhs.y | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator |(int2 lhs, int rhs) { return new int2(lhs.x | rhs, lhs.y | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator |(int lhs, int2 rhs) { return new int2(lhs | rhs.x, lhs | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator ^(int2 lhs, int2 rhs) { return new int2(lhs.x ^ rhs.x, lhs.y ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator ^(int2 lhs, int rhs) { return new int2(lhs.x ^ rhs, lhs.y ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2 operator ^(int lhs, int2 rhs) { return new int2(lhs ^ rhs.x, lhs ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is int2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int2({x}, {y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int2({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int2x2 : IEquatable, IFormattable { public int2 c0; public int2 c1; public static readonly int2x2 identity = new int2x2(1, 0, 0, 1); public static readonly int2x2 zero; public unsafe ref int2 this[int index] { get { fixed (int2x2* ptr = &this) { return ref *(int2*)((byte*)ptr + (nint)index * (nint)sizeof(int2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(int2 c0, int2 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(int m00, int m01, int m10, int m11) { c0 = new int2(m00, m10); c1 = new int2(m01, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(bool v) { c0 = math.select(new int2(0), new int2(1), v); c1 = math.select(new int2(0), new int2(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(bool2x2 v) { c0 = math.select(new int2(0), new int2(1), v.c0); c1 = math.select(new int2(0), new int2(1), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(uint v) { c0 = (int2)v; c1 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(uint2x2 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(float v) { c0 = (int2)v; c1 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(float2x2 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(double v) { c0 = (int2)v; c1 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x2(double2x2 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int2x2(int v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(bool v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(bool2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(uint v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(uint2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(float v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(float2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(double v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x2(double2x2 v) { return new int2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator *(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator *(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator *(int lhs, int2x2 rhs) { return new int2x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator +(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator +(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator +(int lhs, int2x2 rhs) { return new int2x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator -(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator -(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator -(int lhs, int2x2 rhs) { return new int2x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator /(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator /(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator /(int lhs, int2x2 rhs) { return new int2x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator %(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator %(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator %(int lhs, int2x2 rhs) { return new int2x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator ++(int2x2 val) { return new int2x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator --(int2x2 val) { return new int2x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(int lhs, int2x2 rhs) { return new bool2x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(int lhs, int2x2 rhs) { return new bool2x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(int lhs, int2x2 rhs) { return new bool2x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(int lhs, int2x2 rhs) { return new bool2x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator -(int2x2 val) { return new int2x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator +(int2x2 val) { return new int2x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator <<(int2x2 x, int n) { return new int2x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator >>(int2x2 x, int n) { return new int2x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(int lhs, int2x2 rhs) { return new bool2x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(int2x2 lhs, int2x2 rhs) { return new bool2x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(int2x2 lhs, int rhs) { return new bool2x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(int lhs, int2x2 rhs) { return new bool2x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator ~(int2x2 val) { return new int2x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator &(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator &(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator &(int lhs, int2x2 rhs) { return new int2x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator |(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator |(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator |(int lhs, int2x2 rhs) { return new int2x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator ^(int2x2 lhs, int2x2 rhs) { return new int2x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator ^(int2x2 lhs, int rhs) { return new int2x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x2 operator ^(int lhs, int2x2 rhs) { return new int2x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int2x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is int2x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int2x2({c0.x}, {c1.x}, {c0.y}, {c1.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int2x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int2x3 : IEquatable, IFormattable { public int2 c0; public int2 c1; public int2 c2; public static readonly int2x3 zero; public unsafe ref int2 this[int index] { get { fixed (int2x3* ptr = &this) { return ref *(int2*)((byte*)ptr + (nint)index * (nint)sizeof(int2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(int2 c0, int2 c1, int2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(int m00, int m01, int m02, int m10, int m11, int m12) { c0 = new int2(m00, m10); c1 = new int2(m01, m11); c2 = new int2(m02, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(bool v) { c0 = math.select(new int2(0), new int2(1), v); c1 = math.select(new int2(0), new int2(1), v); c2 = math.select(new int2(0), new int2(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(bool2x3 v) { c0 = math.select(new int2(0), new int2(1), v.c0); c1 = math.select(new int2(0), new int2(1), v.c1); c2 = math.select(new int2(0), new int2(1), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(uint v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(uint2x3 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(float v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(float2x3 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(double v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x3(double2x3 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int2x3(int v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(bool v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(bool2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(uint v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(uint2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(float v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(float2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(double v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x3(double2x3 v) { return new int2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator *(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator *(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator *(int lhs, int2x3 rhs) { return new int2x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator +(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator +(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator +(int lhs, int2x3 rhs) { return new int2x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator -(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator -(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator -(int lhs, int2x3 rhs) { return new int2x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator /(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator /(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator /(int lhs, int2x3 rhs) { return new int2x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator %(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator %(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator %(int lhs, int2x3 rhs) { return new int2x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator ++(int2x3 val) { return new int2x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator --(int2x3 val) { return new int2x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(int lhs, int2x3 rhs) { return new bool2x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(int lhs, int2x3 rhs) { return new bool2x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(int lhs, int2x3 rhs) { return new bool2x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(int lhs, int2x3 rhs) { return new bool2x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator -(int2x3 val) { return new int2x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator +(int2x3 val) { return new int2x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator <<(int2x3 x, int n) { return new int2x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator >>(int2x3 x, int n) { return new int2x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(int lhs, int2x3 rhs) { return new bool2x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(int2x3 lhs, int2x3 rhs) { return new bool2x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(int2x3 lhs, int rhs) { return new bool2x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(int lhs, int2x3 rhs) { return new bool2x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator ~(int2x3 val) { return new int2x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator &(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator &(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator &(int lhs, int2x3 rhs) { return new int2x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator |(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator |(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator |(int lhs, int2x3 rhs) { return new int2x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator ^(int2x3 lhs, int2x3 rhs) { return new int2x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator ^(int2x3 lhs, int rhs) { return new int2x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x3 operator ^(int lhs, int2x3 rhs) { return new int2x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int2x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is int2x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int2x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int2x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int2x4 : IEquatable, IFormattable { public int2 c0; public int2 c1; public int2 c2; public int2 c3; public static readonly int2x4 zero; public unsafe ref int2 this[int index] { get { fixed (int2x4* ptr = &this) { return ref *(int2*)((byte*)ptr + (nint)index * (nint)sizeof(int2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(int2 c0, int2 c1, int2 c2, int2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13) { c0 = new int2(m00, m10); c1 = new int2(m01, m11); c2 = new int2(m02, m12); c3 = new int2(m03, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(bool v) { c0 = math.select(new int2(0), new int2(1), v); c1 = math.select(new int2(0), new int2(1), v); c2 = math.select(new int2(0), new int2(1), v); c3 = math.select(new int2(0), new int2(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(bool2x4 v) { c0 = math.select(new int2(0), new int2(1), v.c0); c1 = math.select(new int2(0), new int2(1), v.c1); c2 = math.select(new int2(0), new int2(1), v.c2); c3 = math.select(new int2(0), new int2(1), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(uint v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; c3 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(uint2x4 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; c3 = (int2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(float v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; c3 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(float2x4 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; c3 = (int2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(double v) { c0 = (int2)v; c1 = (int2)v; c2 = (int2)v; c3 = (int2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2x4(double2x4 v) { c0 = (int2)v.c0; c1 = (int2)v.c1; c2 = (int2)v.c2; c3 = (int2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int2x4(int v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(bool v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(bool2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(uint v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(uint2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(float v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(float2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(double v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int2x4(double2x4 v) { return new int2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator *(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator *(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator *(int lhs, int2x4 rhs) { return new int2x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator +(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator +(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator +(int lhs, int2x4 rhs) { return new int2x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator -(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator -(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator -(int lhs, int2x4 rhs) { return new int2x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator /(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator /(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator /(int lhs, int2x4 rhs) { return new int2x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator %(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator %(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator %(int lhs, int2x4 rhs) { return new int2x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator ++(int2x4 val) { return new int2x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator --(int2x4 val) { return new int2x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(int lhs, int2x4 rhs) { return new bool2x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(int lhs, int2x4 rhs) { return new bool2x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(int lhs, int2x4 rhs) { return new bool2x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(int lhs, int2x4 rhs) { return new bool2x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator -(int2x4 val) { return new int2x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator +(int2x4 val) { return new int2x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator <<(int2x4 x, int n) { return new int2x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator >>(int2x4 x, int n) { return new int2x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(int lhs, int2x4 rhs) { return new bool2x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(int2x4 lhs, int2x4 rhs) { return new bool2x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(int2x4 lhs, int rhs) { return new bool2x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(int lhs, int2x4 rhs) { return new bool2x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator ~(int2x4 val) { return new int2x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator &(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator &(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator &(int lhs, int2x4 rhs) { return new int2x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator |(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator |(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator |(int lhs, int2x4 rhs) { return new int2x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator ^(int2x4 lhs, int2x4 rhs) { return new int2x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator ^(int2x4 lhs, int rhs) { return new int2x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int2x4 operator ^(int lhs, int2x4 rhs) { return new int2x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int2x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is int2x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int2x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int2x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct int3 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public int x; public int y; public int z; public DebuggerProxy(int3 v) { x = v.x; y = v.y; z = v.z; } } public int x; public int y; public int z; public static readonly int3 zero; [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, z); } } public unsafe int this[int index] { get { fixed (int3* ptr = &this) { return *(int*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (int* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(int x, int2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(int2 xy, int z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(int3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(int v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(bool v) { x = (v ? 1 : 0); y = (v ? 1 : 0); z = (v ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(bool3 v) { x = (v.x ? 1 : 0); y = (v.y ? 1 : 0); z = (v.z ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(uint v) { x = (int)v; y = (int)v; z = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(uint3 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(float v) { x = (int)v; y = (int)v; z = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(float3 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(double v) { x = (int)v; y = (int)v; z = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3(double3 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int3(int v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(bool v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(bool3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(uint v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(uint3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(float v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(float3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(double v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3(double3 v) { return new int3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator *(int3 lhs, int3 rhs) { return new int3(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator *(int3 lhs, int rhs) { return new int3(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator *(int lhs, int3 rhs) { return new int3(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator +(int3 lhs, int3 rhs) { return new int3(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator +(int3 lhs, int rhs) { return new int3(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator +(int lhs, int3 rhs) { return new int3(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator -(int3 lhs, int3 rhs) { return new int3(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator -(int3 lhs, int rhs) { return new int3(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator -(int lhs, int3 rhs) { return new int3(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator /(int3 lhs, int3 rhs) { return new int3(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator /(int3 lhs, int rhs) { return new int3(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator /(int lhs, int3 rhs) { return new int3(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator %(int3 lhs, int3 rhs) { return new int3(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator %(int3 lhs, int rhs) { return new int3(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator %(int lhs, int3 rhs) { return new int3(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator ++(int3 val) { return new int3(++val.x, ++val.y, ++val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator --(int3 val) { return new int3(--val.x, --val.y, --val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(int3 lhs, int3 rhs) { return new bool3(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(int3 lhs, int rhs) { return new bool3(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(int lhs, int3 rhs) { return new bool3(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(int3 lhs, int3 rhs) { return new bool3(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(int3 lhs, int rhs) { return new bool3(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(int lhs, int3 rhs) { return new bool3(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(int3 lhs, int3 rhs) { return new bool3(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(int3 lhs, int rhs) { return new bool3(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(int lhs, int3 rhs) { return new bool3(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(int3 lhs, int3 rhs) { return new bool3(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(int3 lhs, int rhs) { return new bool3(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(int lhs, int3 rhs) { return new bool3(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator -(int3 val) { return new int3(-val.x, -val.y, -val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator +(int3 val) { return new int3(val.x, val.y, val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator <<(int3 x, int n) { return new int3(x.x << n, x.y << n, x.z << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator >>(int3 x, int n) { return new int3(x.x >> n, x.y >> n, x.z >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(int3 lhs, int3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(int3 lhs, int rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(int lhs, int3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(int3 lhs, int3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(int3 lhs, int rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(int lhs, int3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator ~(int3 val) { return new int3(~val.x, ~val.y, ~val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator &(int3 lhs, int3 rhs) { return new int3(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator &(int3 lhs, int rhs) { return new int3(lhs.x & rhs, lhs.y & rhs, lhs.z & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator &(int lhs, int3 rhs) { return new int3(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator |(int3 lhs, int3 rhs) { return new int3(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator |(int3 lhs, int rhs) { return new int3(lhs.x | rhs, lhs.y | rhs, lhs.z | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator |(int lhs, int3 rhs) { return new int3(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator ^(int3 lhs, int3 rhs) { return new int3(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator ^(int3 lhs, int rhs) { return new int3(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3 operator ^(int lhs, int3 rhs) { return new int3(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is int3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int3({x}, {y}, {z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int3({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int3x2 : IEquatable, IFormattable { public int3 c0; public int3 c1; public static readonly int3x2 zero; public unsafe ref int3 this[int index] { get { fixed (int3x2* ptr = &this) { return ref *(int3*)((byte*)ptr + (nint)index * (nint)sizeof(int3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(int3 c0, int3 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(int m00, int m01, int m10, int m11, int m20, int m21) { c0 = new int3(m00, m10, m20); c1 = new int3(m01, m11, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(bool v) { c0 = math.select(new int3(0), new int3(1), v); c1 = math.select(new int3(0), new int3(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(bool3x2 v) { c0 = math.select(new int3(0), new int3(1), v.c0); c1 = math.select(new int3(0), new int3(1), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(uint v) { c0 = (int3)v; c1 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(uint3x2 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(float v) { c0 = (int3)v; c1 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(float3x2 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(double v) { c0 = (int3)v; c1 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x2(double3x2 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int3x2(int v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(bool v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(bool3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(uint v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(uint3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(float v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(float3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(double v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x2(double3x2 v) { return new int3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator *(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator *(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator *(int lhs, int3x2 rhs) { return new int3x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator +(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator +(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator +(int lhs, int3x2 rhs) { return new int3x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator -(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator -(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator -(int lhs, int3x2 rhs) { return new int3x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator /(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator /(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator /(int lhs, int3x2 rhs) { return new int3x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator %(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator %(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator %(int lhs, int3x2 rhs) { return new int3x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator ++(int3x2 val) { return new int3x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator --(int3x2 val) { return new int3x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(int lhs, int3x2 rhs) { return new bool3x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(int lhs, int3x2 rhs) { return new bool3x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(int lhs, int3x2 rhs) { return new bool3x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(int lhs, int3x2 rhs) { return new bool3x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator -(int3x2 val) { return new int3x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator +(int3x2 val) { return new int3x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator <<(int3x2 x, int n) { return new int3x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator >>(int3x2 x, int n) { return new int3x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(int lhs, int3x2 rhs) { return new bool3x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(int3x2 lhs, int3x2 rhs) { return new bool3x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(int3x2 lhs, int rhs) { return new bool3x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(int lhs, int3x2 rhs) { return new bool3x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator ~(int3x2 val) { return new int3x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator &(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator &(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator &(int lhs, int3x2 rhs) { return new int3x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator |(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator |(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator |(int lhs, int3x2 rhs) { return new int3x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator ^(int3x2 lhs, int3x2 rhs) { return new int3x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator ^(int3x2 lhs, int rhs) { return new int3x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x2 operator ^(int lhs, int3x2 rhs) { return new int3x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int3x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is int3x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int3x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int3x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int3x3 : IEquatable, IFormattable { public int3 c0; public int3 c1; public int3 c2; public static readonly int3x3 identity = new int3x3(1, 0, 0, 0, 1, 0, 0, 0, 1); public static readonly int3x3 zero; public unsafe ref int3 this[int index] { get { fixed (int3x3* ptr = &this) { return ref *(int3*)((byte*)ptr + (nint)index * (nint)sizeof(int3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(int3 c0, int3 c1, int3 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(int m00, int m01, int m02, int m10, int m11, int m12, int m20, int m21, int m22) { c0 = new int3(m00, m10, m20); c1 = new int3(m01, m11, m21); c2 = new int3(m02, m12, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(bool v) { c0 = math.select(new int3(0), new int3(1), v); c1 = math.select(new int3(0), new int3(1), v); c2 = math.select(new int3(0), new int3(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(bool3x3 v) { c0 = math.select(new int3(0), new int3(1), v.c0); c1 = math.select(new int3(0), new int3(1), v.c1); c2 = math.select(new int3(0), new int3(1), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(uint v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(uint3x3 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(float v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(float3x3 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(double v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x3(double3x3 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int3x3(int v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(bool v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(bool3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(uint v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(uint3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(float v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(float3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(double v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x3(double3x3 v) { return new int3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator *(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator *(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator *(int lhs, int3x3 rhs) { return new int3x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator +(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator +(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator +(int lhs, int3x3 rhs) { return new int3x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator -(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator -(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator -(int lhs, int3x3 rhs) { return new int3x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator /(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator /(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator /(int lhs, int3x3 rhs) { return new int3x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator %(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator %(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator %(int lhs, int3x3 rhs) { return new int3x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator ++(int3x3 val) { return new int3x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator --(int3x3 val) { return new int3x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(int lhs, int3x3 rhs) { return new bool3x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(int lhs, int3x3 rhs) { return new bool3x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(int lhs, int3x3 rhs) { return new bool3x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(int lhs, int3x3 rhs) { return new bool3x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator -(int3x3 val) { return new int3x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator +(int3x3 val) { return new int3x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator <<(int3x3 x, int n) { return new int3x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator >>(int3x3 x, int n) { return new int3x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(int lhs, int3x3 rhs) { return new bool3x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(int3x3 lhs, int3x3 rhs) { return new bool3x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(int3x3 lhs, int rhs) { return new bool3x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(int lhs, int3x3 rhs) { return new bool3x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator ~(int3x3 val) { return new int3x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator &(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator &(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator &(int lhs, int3x3 rhs) { return new int3x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator |(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator |(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator |(int lhs, int3x3 rhs) { return new int3x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator ^(int3x3 lhs, int3x3 rhs) { return new int3x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator ^(int3x3 lhs, int rhs) { return new int3x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x3 operator ^(int lhs, int3x3 rhs) { return new int3x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int3x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is int3x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int3x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int3x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int3x4 : IEquatable, IFormattable { public int3 c0; public int3 c1; public int3 c2; public int3 c3; public static readonly int3x4 zero; public unsafe ref int3 this[int index] { get { fixed (int3x4* ptr = &this) { return ref *(int3*)((byte*)ptr + (nint)index * (nint)sizeof(int3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(int3 c0, int3 c1, int3 c2, int3 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13, int m20, int m21, int m22, int m23) { c0 = new int3(m00, m10, m20); c1 = new int3(m01, m11, m21); c2 = new int3(m02, m12, m22); c3 = new int3(m03, m13, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(bool v) { c0 = math.select(new int3(0), new int3(1), v); c1 = math.select(new int3(0), new int3(1), v); c2 = math.select(new int3(0), new int3(1), v); c3 = math.select(new int3(0), new int3(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(bool3x4 v) { c0 = math.select(new int3(0), new int3(1), v.c0); c1 = math.select(new int3(0), new int3(1), v.c1); c2 = math.select(new int3(0), new int3(1), v.c2); c3 = math.select(new int3(0), new int3(1), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(uint v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; c3 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(uint3x4 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; c3 = (int3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(float v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; c3 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(float3x4 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; c3 = (int3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(double v) { c0 = (int3)v; c1 = (int3)v; c2 = (int3)v; c3 = (int3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3x4(double3x4 v) { c0 = (int3)v.c0; c1 = (int3)v.c1; c2 = (int3)v.c2; c3 = (int3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int3x4(int v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(bool v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(bool3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(uint v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(uint3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(float v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(float3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(double v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int3x4(double3x4 v) { return new int3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator *(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator *(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator *(int lhs, int3x4 rhs) { return new int3x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator +(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator +(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator +(int lhs, int3x4 rhs) { return new int3x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator -(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator -(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator -(int lhs, int3x4 rhs) { return new int3x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator /(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator /(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator /(int lhs, int3x4 rhs) { return new int3x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator %(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator %(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator %(int lhs, int3x4 rhs) { return new int3x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator ++(int3x4 val) { return new int3x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator --(int3x4 val) { return new int3x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(int lhs, int3x4 rhs) { return new bool3x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(int lhs, int3x4 rhs) { return new bool3x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(int lhs, int3x4 rhs) { return new bool3x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(int lhs, int3x4 rhs) { return new bool3x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator -(int3x4 val) { return new int3x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator +(int3x4 val) { return new int3x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator <<(int3x4 x, int n) { return new int3x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator >>(int3x4 x, int n) { return new int3x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(int lhs, int3x4 rhs) { return new bool3x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(int3x4 lhs, int3x4 rhs) { return new bool3x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(int3x4 lhs, int rhs) { return new bool3x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(int lhs, int3x4 rhs) { return new bool3x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator ~(int3x4 val) { return new int3x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator &(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator &(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator &(int lhs, int3x4 rhs) { return new int3x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator |(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator |(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator |(int lhs, int3x4 rhs) { return new int3x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator ^(int3x4 lhs, int3x4 rhs) { return new int3x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator ^(int3x4 lhs, int rhs) { return new int3x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int3x4 operator ^(int lhs, int3x4 rhs) { return new int3x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int3x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is int3x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int3x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int3x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct int4 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public int x; public int y; public int z; public int w; public DebuggerProxy(int4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } public int x; public int y; public int z; public int w; public static readonly int4 zero; [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public int2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new int2(w, w); } } public unsafe int this[int index] { get { fixed (int4* ptr = &this) { return *(int*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (int* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int x, int y, int z, int w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int x, int y, int2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int x, int2 yz, int w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int x, int3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int2 xy, int z, int w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int2 xy, int2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int3 xyz, int w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(int v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(bool v) { x = (v ? 1 : 0); y = (v ? 1 : 0); z = (v ? 1 : 0); w = (v ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(bool4 v) { x = (v.x ? 1 : 0); y = (v.y ? 1 : 0); z = (v.z ? 1 : 0); w = (v.w ? 1 : 0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(uint v) { x = (int)v; y = (int)v; z = (int)v; w = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(uint4 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; w = (int)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(float v) { x = (int)v; y = (int)v; z = (int)v; w = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(float4 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; w = (int)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(double v) { x = (int)v; y = (int)v; z = (int)v; w = (int)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4(double4 v) { x = (int)v.x; y = (int)v.y; z = (int)v.z; w = (int)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int4(int v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(bool v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(bool4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(uint v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(uint4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(float v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(float4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(double v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4(double4 v) { return new int4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator *(int4 lhs, int4 rhs) { return new int4(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator *(int4 lhs, int rhs) { return new int4(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs, lhs.w * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator *(int lhs, int4 rhs) { return new int4(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z, lhs * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator +(int4 lhs, int4 rhs) { return new int4(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z, lhs.w + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator +(int4 lhs, int rhs) { return new int4(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs, lhs.w + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator +(int lhs, int4 rhs) { return new int4(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z, lhs + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator -(int4 lhs, int4 rhs) { return new int4(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z, lhs.w - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator -(int4 lhs, int rhs) { return new int4(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs, lhs.w - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator -(int lhs, int4 rhs) { return new int4(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z, lhs - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator /(int4 lhs, int4 rhs) { return new int4(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z, lhs.w / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator /(int4 lhs, int rhs) { return new int4(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs, lhs.w / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator /(int lhs, int4 rhs) { return new int4(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z, lhs / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator %(int4 lhs, int4 rhs) { return new int4(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z, lhs.w % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator %(int4 lhs, int rhs) { return new int4(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs, lhs.w % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator %(int lhs, int4 rhs) { return new int4(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z, lhs % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator ++(int4 val) { return new int4(++val.x, ++val.y, ++val.z, ++val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator --(int4 val) { return new int4(--val.x, --val.y, --val.z, --val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(int4 lhs, int4 rhs) { return new bool4(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z, lhs.w < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(int4 lhs, int rhs) { return new bool4(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs, lhs.w < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(int lhs, int4 rhs) { return new bool4(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z, lhs < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(int4 lhs, int4 rhs) { return new bool4(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z, lhs.w <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(int4 lhs, int rhs) { return new bool4(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs, lhs.w <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(int lhs, int4 rhs) { return new bool4(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z, lhs <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(int4 lhs, int4 rhs) { return new bool4(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z, lhs.w > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(int4 lhs, int rhs) { return new bool4(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs, lhs.w > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(int lhs, int4 rhs) { return new bool4(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z, lhs > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(int4 lhs, int4 rhs) { return new bool4(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z, lhs.w >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(int4 lhs, int rhs) { return new bool4(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs, lhs.w >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(int lhs, int4 rhs) { return new bool4(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z, lhs >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator -(int4 val) { return new int4(-val.x, -val.y, -val.z, -val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator +(int4 val) { return new int4(val.x, val.y, val.z, val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator <<(int4 x, int n) { return new int4(x.x << n, x.y << n, x.z << n, x.w << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator >>(int4 x, int n) { return new int4(x.x >> n, x.y >> n, x.z >> n, x.w >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(int4 lhs, int4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(int4 lhs, int rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(int lhs, int4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(int4 lhs, int4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(int4 lhs, int rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(int lhs, int4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator ~(int4 val) { return new int4(~val.x, ~val.y, ~val.z, ~val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator &(int4 lhs, int4 rhs) { return new int4(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z, lhs.w & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator &(int4 lhs, int rhs) { return new int4(lhs.x & rhs, lhs.y & rhs, lhs.z & rhs, lhs.w & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator &(int lhs, int4 rhs) { return new int4(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z, lhs & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator |(int4 lhs, int4 rhs) { return new int4(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z, lhs.w | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator |(int4 lhs, int rhs) { return new int4(lhs.x | rhs, lhs.y | rhs, lhs.z | rhs, lhs.w | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator |(int lhs, int4 rhs) { return new int4(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z, lhs | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator ^(int4 lhs, int4 rhs) { return new int4(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z, lhs.w ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator ^(int4 lhs, int rhs) { return new int4(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs, lhs.w ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4 operator ^(int lhs, int4 rhs) { return new int4(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z, lhs ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is int4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int4({x}, {y}, {z}, {w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int4({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)}, {w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int4x2 : IEquatable, IFormattable { public int4 c0; public int4 c1; public static readonly int4x2 zero; public unsafe ref int4 this[int index] { get { fixed (int4x2* ptr = &this) { return ref *(int4*)((byte*)ptr + (nint)index * (nint)sizeof(int4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(int4 c0, int4 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(int m00, int m01, int m10, int m11, int m20, int m21, int m30, int m31) { c0 = new int4(m00, m10, m20, m30); c1 = new int4(m01, m11, m21, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(int v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(bool v) { c0 = math.select(new int4(0), new int4(1), v); c1 = math.select(new int4(0), new int4(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(bool4x2 v) { c0 = math.select(new int4(0), new int4(1), v.c0); c1 = math.select(new int4(0), new int4(1), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(uint v) { c0 = (int4)v; c1 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(uint4x2 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(float v) { c0 = (int4)v; c1 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(float4x2 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(double v) { c0 = (int4)v; c1 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x2(double4x2 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int4x2(int v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(bool v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(bool4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(uint v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(uint4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(float v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(float4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(double v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x2(double4x2 v) { return new int4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator *(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator *(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator *(int lhs, int4x2 rhs) { return new int4x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator +(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator +(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator +(int lhs, int4x2 rhs) { return new int4x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator -(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator -(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator -(int lhs, int4x2 rhs) { return new int4x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator /(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator /(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator /(int lhs, int4x2 rhs) { return new int4x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator %(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator %(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator %(int lhs, int4x2 rhs) { return new int4x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator ++(int4x2 val) { return new int4x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator --(int4x2 val) { return new int4x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(int lhs, int4x2 rhs) { return new bool4x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(int lhs, int4x2 rhs) { return new bool4x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(int lhs, int4x2 rhs) { return new bool4x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(int lhs, int4x2 rhs) { return new bool4x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator -(int4x2 val) { return new int4x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator +(int4x2 val) { return new int4x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator <<(int4x2 x, int n) { return new int4x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator >>(int4x2 x, int n) { return new int4x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(int lhs, int4x2 rhs) { return new bool4x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(int4x2 lhs, int4x2 rhs) { return new bool4x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(int4x2 lhs, int rhs) { return new bool4x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(int lhs, int4x2 rhs) { return new bool4x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator ~(int4x2 val) { return new int4x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator &(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator &(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator &(int lhs, int4x2 rhs) { return new int4x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator |(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator |(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator |(int lhs, int4x2 rhs) { return new int4x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator ^(int4x2 lhs, int4x2 rhs) { return new int4x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator ^(int4x2 lhs, int rhs) { return new int4x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x2 operator ^(int lhs, int4x2 rhs) { return new int4x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int4x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is int4x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int4x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z}, {c0.w}, {c1.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int4x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int4x3 : IEquatable, IFormattable { public int4 c0; public int4 c1; public int4 c2; public static readonly int4x3 zero; public unsafe ref int4 this[int index] { get { fixed (int4x3* ptr = &this) { return ref *(int4*)((byte*)ptr + (nint)index * (nint)sizeof(int4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(int4 c0, int4 c1, int4 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(int m00, int m01, int m02, int m10, int m11, int m12, int m20, int m21, int m22, int m30, int m31, int m32) { c0 = new int4(m00, m10, m20, m30); c1 = new int4(m01, m11, m21, m31); c2 = new int4(m02, m12, m22, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(int v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(bool v) { c0 = math.select(new int4(0), new int4(1), v); c1 = math.select(new int4(0), new int4(1), v); c2 = math.select(new int4(0), new int4(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(bool4x3 v) { c0 = math.select(new int4(0), new int4(1), v.c0); c1 = math.select(new int4(0), new int4(1), v.c1); c2 = math.select(new int4(0), new int4(1), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(uint v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(uint4x3 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(float v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(float4x3 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(double v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x3(double4x3 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int4x3(int v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(bool v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(bool4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(uint v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(uint4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(float v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(float4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(double v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x3(double4x3 v) { return new int4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator *(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator *(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator *(int lhs, int4x3 rhs) { return new int4x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator +(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator +(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator +(int lhs, int4x3 rhs) { return new int4x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator -(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator -(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator -(int lhs, int4x3 rhs) { return new int4x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator /(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator /(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator /(int lhs, int4x3 rhs) { return new int4x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator %(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator %(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator %(int lhs, int4x3 rhs) { return new int4x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator ++(int4x3 val) { return new int4x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator --(int4x3 val) { return new int4x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(int lhs, int4x3 rhs) { return new bool4x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(int lhs, int4x3 rhs) { return new bool4x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(int lhs, int4x3 rhs) { return new bool4x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(int lhs, int4x3 rhs) { return new bool4x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator -(int4x3 val) { return new int4x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator +(int4x3 val) { return new int4x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator <<(int4x3 x, int n) { return new int4x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator >>(int4x3 x, int n) { return new int4x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(int lhs, int4x3 rhs) { return new bool4x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(int4x3 lhs, int4x3 rhs) { return new bool4x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(int4x3 lhs, int rhs) { return new bool4x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(int lhs, int4x3 rhs) { return new bool4x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator ~(int4x3 val) { return new int4x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator &(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator &(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator &(int lhs, int4x3 rhs) { return new int4x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator |(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator |(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator |(int lhs, int4x3 rhs) { return new int4x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator ^(int4x3 lhs, int4x3 rhs) { return new int4x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator ^(int4x3 lhs, int rhs) { return new int4x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x3 operator ^(int lhs, int4x3 rhs) { return new int4x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int4x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is int4x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int4x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z}, {c0.w}, {c1.w}, {c2.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int4x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct int4x4 : IEquatable, IFormattable { public int4 c0; public int4 c1; public int4 c2; public int4 c3; public static readonly int4x4 identity = new int4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); public static readonly int4x4 zero; public unsafe ref int4 this[int index] { get { fixed (int4x4* ptr = &this) { return ref *(int4*)((byte*)ptr + (nint)index * (nint)sizeof(int4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(int4 c0, int4 c1, int4 c2, int4 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(int m00, int m01, int m02, int m03, int m10, int m11, int m12, int m13, int m20, int m21, int m22, int m23, int m30, int m31, int m32, int m33) { c0 = new int4(m00, m10, m20, m30); c1 = new int4(m01, m11, m21, m31); c2 = new int4(m02, m12, m22, m32); c3 = new int4(m03, m13, m23, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(int v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(bool v) { c0 = math.select(new int4(0), new int4(1), v); c1 = math.select(new int4(0), new int4(1), v); c2 = math.select(new int4(0), new int4(1), v); c3 = math.select(new int4(0), new int4(1), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(bool4x4 v) { c0 = math.select(new int4(0), new int4(1), v.c0); c1 = math.select(new int4(0), new int4(1), v.c1); c2 = math.select(new int4(0), new int4(1), v.c2); c3 = math.select(new int4(0), new int4(1), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(uint v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; c3 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(uint4x4 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; c3 = (int4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(float v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; c3 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(float4x4 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; c3 = (int4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(double v) { c0 = (int4)v; c1 = (int4)v; c2 = (int4)v; c3 = (int4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4x4(double4x4 v) { c0 = (int4)v.c0; c1 = (int4)v.c1; c2 = (int4)v.c2; c3 = (int4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator int4x4(int v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(bool v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(bool4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(uint v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(uint4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(float v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(float4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(double v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator int4x4(double4x4 v) { return new int4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator *(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator *(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator *(int lhs, int4x4 rhs) { return new int4x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator +(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator +(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator +(int lhs, int4x4 rhs) { return new int4x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator -(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator -(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator -(int lhs, int4x4 rhs) { return new int4x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator /(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator /(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator /(int lhs, int4x4 rhs) { return new int4x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator %(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator %(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator %(int lhs, int4x4 rhs) { return new int4x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator ++(int4x4 val) { return new int4x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator --(int4x4 val) { return new int4x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(int lhs, int4x4 rhs) { return new bool4x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(int lhs, int4x4 rhs) { return new bool4x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(int lhs, int4x4 rhs) { return new bool4x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(int lhs, int4x4 rhs) { return new bool4x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator -(int4x4 val) { return new int4x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator +(int4x4 val) { return new int4x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator <<(int4x4 x, int n) { return new int4x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator >>(int4x4 x, int n) { return new int4x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(int lhs, int4x4 rhs) { return new bool4x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(int4x4 lhs, int4x4 rhs) { return new bool4x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(int4x4 lhs, int rhs) { return new bool4x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(int lhs, int4x4 rhs) { return new bool4x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator ~(int4x4 val) { return new int4x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator &(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator &(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator &(int lhs, int4x4 rhs) { return new int4x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator |(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator |(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator |(int lhs, int4x4 rhs) { return new int4x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator ^(int4x4 lhs, int4x4 rhs) { return new int4x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator ^(int4x4 lhs, int rhs) { return new int4x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int4x4 operator ^(int lhs, int4x4 rhs) { return new int4x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(int4x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is int4x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"int4x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z}, {c0.w}, {c1.w}, {c2.w}, {c3.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"int4x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)}, {c3.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct quaternion : IEquatable, IFormattable { public float4 value; public static readonly quaternion identity = new quaternion(0f, 0f, 0f, 1f); public static implicit operator Quaternion(quaternion q) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) return new Quaternion(q.value.x, q.value.y, q.value.z, q.value.w); } public static implicit operator quaternion(Quaternion q) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) return new quaternion(q.x, q.y, q.z, q.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public quaternion(float x, float y, float z, float w) { value.x = x; value.y = y; value.z = z; value.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public quaternion(float4 value) { this.value = value; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator quaternion(float4 v) { return new quaternion(v); } public quaternion(float3x3 m) { float3 c = m.c0; float3 c2 = m.c1; float3 c3 = m.c2; uint num = math.asuint(c.x) & 0x80000000u; float x = c2.y + math.asfloat(math.asuint(c3.z) ^ num); uint4 uint5 = math.uint4((int)num >> 31); uint4 uint6 = math.uint4(math.asint(x) >> 31); float x2 = 1f + math.abs(c.x); uint4 uint7 = math.uint4(0u, 2147483648u, 2147483648u, 2147483648u) ^ (uint5 & math.uint4(0u, 2147483648u, 0u, 2147483648u)) ^ (uint6 & math.uint4(2147483648u, 2147483648u, 2147483648u, 0u)); value = math.float4(x2, c.y, c3.x, c2.z) + math.asfloat(math.asuint(math.float4(x, c2.x, c.z, c3.y)) ^ uint7); value = math.asfloat((math.asuint(value) & ~uint5) | (math.asuint(value.zwxy) & uint5)); value = math.asfloat((math.asuint(value.wzyx) & ~uint6) | (math.asuint(value) & uint6)); value = math.normalize(value); } public quaternion(float4x4 m) { float4 c = m.c0; float4 c2 = m.c1; float4 c3 = m.c2; uint num = math.asuint(c.x) & 0x80000000u; float x = c2.y + math.asfloat(math.asuint(c3.z) ^ num); uint4 uint5 = math.uint4((int)num >> 31); uint4 uint6 = math.uint4(math.asint(x) >> 31); float x2 = 1f + math.abs(c.x); uint4 uint7 = math.uint4(0u, 2147483648u, 2147483648u, 2147483648u) ^ (uint5 & math.uint4(0u, 2147483648u, 0u, 2147483648u)) ^ (uint6 & math.uint4(2147483648u, 2147483648u, 2147483648u, 0u)); value = math.float4(x2, c.y, c3.x, c2.z) + math.asfloat(math.asuint(math.float4(x, c2.x, c.z, c3.y)) ^ uint7); value = math.asfloat((math.asuint(value) & ~uint5) | (math.asuint(value.zwxy) & uint5)); value = math.asfloat((math.asuint(value.wzyx) & ~uint6) | (math.asuint(value) & uint6)); value = math.normalize(value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion AxisAngle(float3 axis, float angle) { math.sincos(0.5f * angle, out var s, out var c); return math.quaternion(math.float4(axis * s, c)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerXYZ(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(-1f, 1f, -1f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerXZY(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(1f, 1f, -1f, -1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerYXZ(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(-1f, 1f, 1f, -1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerYZX(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(-1f, -1f, 1f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerZXY(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(1f, -1f, -1f, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerZYX(float3 xyz) { math.sincos(0.5f * xyz, out var s, out var c); return math.quaternion(math.float4(s.xyz, c.x) * c.yxxy * c.zzyz + s.yxxy * s.zzyz * math.float4(c.xyz, s.x) * math.float4(1f, -1f, 1f, -1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerXYZ(float x, float y, float z) { return EulerXYZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerXZY(float x, float y, float z) { return EulerXZY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerYXZ(float x, float y, float z) { return EulerYXZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerYZX(float x, float y, float z) { return EulerYZX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerZXY(float x, float y, float z) { return EulerZXY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion EulerZYX(float x, float y, float z) { return EulerZYX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion Euler(float3 xyz, math.RotationOrder order = math.RotationOrder.ZXY) { return order switch { math.RotationOrder.XYZ => EulerXYZ(xyz), math.RotationOrder.XZY => EulerXZY(xyz), math.RotationOrder.YXZ => EulerYXZ(xyz), math.RotationOrder.YZX => EulerYZX(xyz), math.RotationOrder.ZXY => EulerZXY(xyz), math.RotationOrder.ZYX => EulerZYX(xyz), _ => identity, }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion Euler(float x, float y, float z, math.RotationOrder order = math.RotationOrder.ZXY) { return Euler(math.float3(x, y, z), order); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion RotateX(float angle) { math.sincos(0.5f * angle, out var s, out var c); return math.quaternion(s, 0f, 0f, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion RotateY(float angle) { math.sincos(0.5f * angle, out var s, out var c); return math.quaternion(0f, s, 0f, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion RotateZ(float angle) { math.sincos(0.5f * angle, out var s, out var c); return math.quaternion(0f, 0f, s, c); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion LookRotation(float3 forward, float3 up) { float3 float5 = math.normalize(math.cross(up, forward)); return math.quaternion(math.float3x3(float5, math.cross(forward, float5), forward)); } public static quaternion LookRotationSafe(float3 forward, float3 up) { float x = math.dot(forward, forward); float num = math.dot(up, up); forward *= math.rsqrt(x); up *= math.rsqrt(num); float3 float5 = math.cross(up, forward); float num2 = math.dot(float5, float5); float5 *= math.rsqrt(num2); float num3 = math.min(math.min(x, num), num2); float num4 = math.max(math.max(x, num), num2); bool c = num3 > 1E-35f && num4 < 1E+35f && math.isfinite(x) && math.isfinite(num) && math.isfinite(num2); return math.quaternion(math.select(math.float4(0f, 0f, 0f, 1f), math.quaternion(math.float3x3(float5, math.cross(forward, float5), forward)).value, c)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(quaternion x) { return value.x == x.value.x && value.y == x.value.y && value.z == x.value.z && value.w == x.value.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override bool Equals(object x) { return x is quaternion x2 && Equals(x2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"quaternion({value.x}f, {value.y}f, {value.z}f, {value.w}f)"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"quaternion({value.x.ToString(format, formatProvider)}f, {value.y.ToString(format, formatProvider)}f, {value.z.ToString(format, formatProvider)}f, {value.w.ToString(format, formatProvider)}f)"; } } [Il2CppEagerStaticClassConstruction] public static class noise { public static float2 cellular(float2 P) { float2 float5 = mod289(math.floor(P)); float2 float6 = math.frac(P); float3 float7 = math.float3(-1f, 0f, 1f); float3 float8 = math.float3(-0.5f, 0.5f, 1.5f); float3 float9 = permute(float5.x + float7); float3 float10 = permute(float9.x + float5.y + float7); float3 float11 = math.frac(float10 * (1f / 7f)) - 0.42857143f; float3 float12 = mod7(math.floor(float10 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float13 = float6.x + 0.5f + 1f * float11; float3 float14 = float6.y - float8 + 1f * float12; float3 x = float13 * float13 + float14 * float14; float10 = permute(float9.y + float5.y + float7); float11 = math.frac(float10 * (1f / 7f)) - 0.42857143f; float12 = mod7(math.floor(float10 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float13 = float6.x - 0.5f + 1f * float11; float14 = float6.y - float8 + 1f * float12; float3 y = float13 * float13 + float14 * float14; float10 = permute(float9.z + float5.y + float7); float11 = math.frac(float10 * (1f / 7f)) - 0.42857143f; float12 = mod7(math.floor(float10 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float13 = float6.x - 1.5f + 1f * float11; float14 = float6.y - float8 + 1f * float12; float3 y2 = float13 * float13 + float14 * float14; float3 x2 = math.min(x, y); y = math.max(x, y); y = math.min(y, y2); x = math.min(x2, y); y = math.max(x2, y); x.xy = ((x.x < x.y) ? x.xy : x.yx); x.xz = ((x.x < x.z) ? x.xz : x.zx); x.yz = math.min(x.yz, y.yz); x.y = math.min(x.y, x.z); x.y = math.min(x.y, y.x); return math.sqrt(x.xy); } public static float2 cellular2x2(float2 P) { float2 float5 = mod289(math.floor(P)); float2 float6 = math.frac(P); float4 float7 = float6.x + math.float4(-0.5f, -1.5f, -0.5f, -1.5f); float4 float8 = float6.y + math.float4(-0.5f, -0.5f, -1.5f, -1.5f); float4 float9 = permute(float5.x + math.float4(0f, 1f, 0f, 1f)); float9 = permute(float9 + float5.y + math.float4(0f, 0f, 1f, 1f)); float4 float10 = mod7(float9) * (1f / 7f) + 1f / 14f; float4 float11 = mod7(math.floor(float9 * (1f / 7f))) * (1f / 7f) + 1f / 14f; float4 float12 = float7 + 0.8f * float10; float4 float13 = float8 + 0.8f * float11; float4 float14 = float12 * float12 + float13 * float13; float14.xy = ((float14.x < float14.y) ? float14.xy : float14.yx); float14.xz = ((float14.x < float14.z) ? float14.xz : float14.zx); float14.xw = ((float14.x < float14.w) ? float14.xw : float14.wx); float14.y = math.min(float14.y, float14.z); float14.y = math.min(float14.y, float14.w); return math.sqrt(float14.xy); } public static float2 cellular2x2x2(float3 P) { float3 float5 = mod289(math.floor(P)); float3 float6 = math.frac(P); float4 float7 = float6.x + math.float4(0f, -1f, 0f, -1f); float4 float8 = float6.y + math.float4(0f, 0f, -1f, -1f); float4 float9 = permute(float5.x + math.float4(0f, 1f, 0f, 1f)); float9 = permute(float9 + float5.y + math.float4(0f, 0f, 1f, 1f)); float4 float10 = permute(float9 + float5.z); float4 float11 = permute(float9 + float5.z + math.float4(1f, 1f, 1f, 1f)); float4 float12 = math.frac(float10 * (1f / 7f)) - 0.42857143f; float4 float13 = mod7(math.floor(float10 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float4 float14 = math.floor(float10 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float4 float15 = math.frac(float11 * (1f / 7f)) - 0.42857143f; float4 float16 = mod7(math.floor(float11 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float4 float17 = math.floor(float11 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float4 float18 = float7 + 0.8f * float12; float4 float19 = float8 + 0.8f * float13; float4 float20 = float6.z + 0.8f * float14; float4 float21 = float7 + 0.8f * float15; float4 float22 = float8 + 0.8f * float16; float4 float23 = float6.z - 1f + 0.8f * float17; float4 x = float18 * float18 + float19 * float19 + float20 * float20; float4 y = float21 * float21 + float22 * float22 + float23 * float23; float4 float24 = math.min(x, y); y = math.max(x, y); float24.xy = ((float24.x < float24.y) ? float24.xy : float24.yx); float24.xz = ((float24.x < float24.z) ? float24.xz : float24.zx); float24.xw = ((float24.x < float24.w) ? float24.xw : float24.wx); float24.yzw = math.min(float24.yzw, y.yzw); float24.y = math.min(float24.y, float24.z); float24.y = math.min(float24.y, float24.w); float24.y = math.min(float24.y, y.x); return math.sqrt(float24.xy); } public static float2 cellular(float3 P) { float3 float5 = mod289(math.floor(P)); float3 float6 = math.frac(P) - 0.5f; float3 float7 = float6.x + math.float3(1f, 0f, -1f); float3 float8 = float6.y + math.float3(1f, 0f, -1f); float3 float9 = float6.z + math.float3(1f, 0f, -1f); float3 float10 = permute(float5.x + math.float3(-1f, 0f, 1f)); float3 float11 = permute(float10 + float5.y - 1f); float3 float12 = permute(float10 + float5.y); float3 float13 = permute(float10 + float5.y + 1f); float3 float14 = permute(float11 + float5.z - 1f); float3 float15 = permute(float11 + float5.z); float3 float16 = permute(float11 + float5.z + 1f); float3 float17 = permute(float12 + float5.z - 1f); float3 float18 = permute(float12 + float5.z); float3 float19 = permute(float12 + float5.z + 1f); float3 float20 = permute(float13 + float5.z - 1f); float3 float21 = permute(float13 + float5.z); float3 float22 = permute(float13 + float5.z + 1f); float3 float23 = math.frac(float14 * (1f / 7f)) - 0.42857143f; float3 float24 = mod7(math.floor(float14 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float25 = math.floor(float14 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float26 = math.frac(float15 * (1f / 7f)) - 0.42857143f; float3 float27 = mod7(math.floor(float15 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float28 = math.floor(float15 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float29 = math.frac(float16 * (1f / 7f)) - 0.42857143f; float3 float30 = mod7(math.floor(float16 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float31 = math.floor(float16 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float32 = math.frac(float17 * (1f / 7f)) - 0.42857143f; float3 float33 = mod7(math.floor(float17 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float34 = math.floor(float17 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float35 = math.frac(float18 * (1f / 7f)) - 0.42857143f; float3 float36 = mod7(math.floor(float18 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float37 = math.floor(float18 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float38 = math.frac(float19 * (1f / 7f)) - 0.42857143f; float3 float39 = mod7(math.floor(float19 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float40 = math.floor(float19 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float41 = math.frac(float20 * (1f / 7f)) - 0.42857143f; float3 float42 = mod7(math.floor(float20 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float43 = math.floor(float20 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float44 = math.frac(float21 * (1f / 7f)) - 0.42857143f; float3 float45 = mod7(math.floor(float21 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float46 = math.floor(float21 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float47 = math.frac(float22 * (1f / 7f)) - 0.42857143f; float3 float48 = mod7(math.floor(float22 * (1f / 7f))) * (1f / 7f) - 0.42857143f; float3 float49 = math.floor(float22 * (1f / 49f)) * (1f / 6f) - 5f / 12f; float3 float50 = float7 + 1f * float23; float3 float51 = float8.x + 1f * float24; float3 float52 = float9.x + 1f * float25; float3 float53 = float7 + 1f * float26; float3 float54 = float8.x + 1f * float27; float3 float55 = float9.y + 1f * float28; float3 float56 = float7 + 1f * float29; float3 float57 = float8.x + 1f * float30; float3 float58 = float9.z + 1f * float31; float3 float59 = float7 + 1f * float32; float3 float60 = float8.y + 1f * float33; float3 float61 = float9.x + 1f * float34; float3 float62 = float7 + 1f * float35; float3 float63 = float8.y + 1f * float36; float3 float64 = float9.y + 1f * float37; float3 float65 = float7 + 1f * float38; float3 float66 = float8.y + 1f * float39; float3 float67 = float9.z + 1f * float40; float3 float68 = float7 + 1f * float41; float3 float69 = float8.z + 1f * float42; float3 float70 = float9.x + 1f * float43; float3 float71 = float7 + 1f * float44; float3 float72 = float8.z + 1f * float45; float3 float73 = float9.y + 1f * float46; float3 float74 = float7 + 1f * float47; float3 float75 = float8.z + 1f * float48; float3 float76 = float9.z + 1f * float49; float3 x = float50 * float50 + float51 * float51 + float52 * float52; float3 y = float53 * float53 + float54 * float54 + float55 * float55; float3 y2 = float56 * float56 + float57 * float57 + float58 * float58; float3 x2 = float59 * float59 + float60 * float60 + float61 * float61; float3 y3 = float62 * float62 + float63 * float63 + float64 * float64; float3 y4 = float65 * float65 + float66 * float66 + float67 * float67; float3 x3 = float68 * float68 + float69 * float69 + float70 * float70; float3 y5 = float71 * float71 + float72 * float72 + float73 * float73; float3 y6 = float74 * float74 + float75 * float75 + float76 * float76; float3 x4 = math.min(x, y); y = math.max(x, y); x = math.min(x4, y2); y2 = math.max(x4, y2); y = math.min(y, y2); float3 x5 = math.min(x2, y3); y3 = math.max(x2, y3); x2 = math.min(x5, y4); y4 = math.max(x5, y4); y3 = math.min(y3, y4); float3 x6 = math.min(x3, y5); y5 = math.max(x3, y5); x3 = math.min(x6, y6); y6 = math.max(x6, y6); y5 = math.min(y5, y6); float3 x7 = math.min(x, x2); x2 = math.max(x, x2); x = math.min(x7, x3); x3 = math.max(x7, x3); x.xy = ((x.x < x.y) ? x.xy : x.yx); x.xz = ((x.x < x.z) ? x.xz : x.zx); y = math.min(y, x2); y = math.min(y, y3); y = math.min(y, x3); y = math.min(y, y5); x.yz = math.min(x.yz, y.xy); x.y = math.min(x.y, y.z); x.y = math.min(x.y, x.z); return math.sqrt(x.xy); } public static float cnoise(float2 P) { float4 x = math.floor(P.xyxy) + math.float4(0f, 0f, 1f, 1f); float4 float5 = math.frac(P.xyxy) - math.float4(0f, 0f, 1f, 1f); x = mod289(x); float4 xzxz = x.xzxz; float4 yyww = x.yyww; float4 xzxz2 = float5.xzxz; float4 yyww2 = float5.yyww; float4 float6 = permute(permute(xzxz) + yyww); float4 float7 = math.frac(float6 * (1f / 41f)) * 2f - 1f; float4 float8 = math.abs(float7) - 0.5f; float4 float9 = math.floor(float7 + 0.5f); float7 -= float9; float2 float10 = math.float2(float7.x, float8.x); float2 float11 = math.float2(float7.y, float8.y); float2 float12 = math.float2(float7.z, float8.z); float2 float13 = math.float2(float7.w, float8.w); float4 float14 = taylorInvSqrt(math.float4(math.dot(float10, float10), math.dot(float12, float12), math.dot(float11, float11), math.dot(float13, float13))); float10 *= float14.x; float12 *= float14.y; float11 *= float14.z; float13 *= float14.w; float x2 = math.dot(float10, math.float2(xzxz2.x, yyww2.x)); float x3 = math.dot(float11, math.float2(xzxz2.y, yyww2.y)); float y = math.dot(float12, math.float2(xzxz2.z, yyww2.z)); float y2 = math.dot(float13, math.float2(xzxz2.w, yyww2.w)); float2 float15 = fade(float5.xy); float2 float16 = math.lerp(math.float2(x2, y), math.float2(x3, y2), float15.x); float num = math.lerp(float16.x, float16.y, float15.y); return 2.3f * num; } public static float pnoise(float2 P, float2 rep) { float4 x = math.floor(P.xyxy) + math.float4(0f, 0f, 1f, 1f); float4 float5 = math.frac(P.xyxy) - math.float4(0f, 0f, 1f, 1f); x = math.fmod(x, rep.xyxy); x = mod289(x); float4 xzxz = x.xzxz; float4 yyww = x.yyww; float4 xzxz2 = float5.xzxz; float4 yyww2 = float5.yyww; float4 float6 = permute(permute(xzxz) + yyww); float4 float7 = math.frac(float6 * (1f / 41f)) * 2f - 1f; float4 float8 = math.abs(float7) - 0.5f; float4 float9 = math.floor(float7 + 0.5f); float7 -= float9; float2 float10 = math.float2(float7.x, float8.x); float2 float11 = math.float2(float7.y, float8.y); float2 float12 = math.float2(float7.z, float8.z); float2 float13 = math.float2(float7.w, float8.w); float4 float14 = taylorInvSqrt(math.float4(math.dot(float10, float10), math.dot(float12, float12), math.dot(float11, float11), math.dot(float13, float13))); float10 *= float14.x; float12 *= float14.y; float11 *= float14.z; float13 *= float14.w; float x2 = math.dot(float10, math.float2(xzxz2.x, yyww2.x)); float x3 = math.dot(float11, math.float2(xzxz2.y, yyww2.y)); float y = math.dot(float12, math.float2(xzxz2.z, yyww2.z)); float y2 = math.dot(float13, math.float2(xzxz2.w, yyww2.w)); float2 float15 = fade(float5.xy); float2 float16 = math.lerp(math.float2(x2, y), math.float2(x3, y2), float15.x); float num = math.lerp(float16.x, float16.y, float15.y); return 2.3f * num; } public static float cnoise(float3 P) { float3 float5 = math.floor(P); float3 x = float5 + math.float3(1f); float5 = mod289(float5); x = mod289(x); float3 float6 = math.frac(P); float3 y = float6 - math.float3(1f); float4 x2 = math.float4(float5.x, x.x, float5.x, x.x); float4 float7 = math.float4(float5.yy, x.yy); float4 zzzz = float5.zzzz; float4 zzzz2 = x.zzzz; float4 float8 = permute(permute(x2) + float7); float4 float9 = permute(float8 + zzzz); float4 float10 = permute(float8 + zzzz2); float4 x3 = float9 * (1f / 7f); float4 x4 = math.frac(math.floor(x3) * (1f / 7f)) - 0.5f; x3 = math.frac(x3); float4 y2 = math.float4(0.5f) - math.abs(x3) - math.abs(x4); float4 float11 = math.step(y2, math.float4(0f)); x3 -= float11 * (math.step(0f, x3) - 0.5f); x4 -= float11 * (math.step(0f, x4) - 0.5f); float4 x5 = float10 * (1f / 7f); float4 x6 = math.frac(math.floor(x5) * (1f / 7f)) - 0.5f; x5 = math.frac(x5); float4 y3 = math.float4(0.5f) - math.abs(x5) - math.abs(x6); float4 float12 = math.step(y3, math.float4(0f)); x5 -= float12 * (math.step(0f, x5) - 0.5f); x6 -= float12 * (math.step(0f, x6) - 0.5f); float3 float13 = math.float3(x3.x, x4.x, y2.x); float3 float14 = math.float3(x3.y, x4.y, y2.y); float3 float15 = math.float3(x3.z, x4.z, y2.z); float3 float16 = math.float3(x3.w, x4.w, y2.w); float3 float17 = math.float3(x5.x, x6.x, y3.x); float3 float18 = math.float3(x5.y, x6.y, y3.y); float3 float19 = math.float3(x5.z, x6.z, y3.z); float3 float20 = math.float3(x5.w, x6.w, y3.w); float4 float21 = taylorInvSqrt(math.float4(math.dot(float13, float13), math.dot(float15, float15), math.dot(float14, float14), math.dot(float16, float16))); float13 *= float21.x; float15 *= float21.y; float14 *= float21.z; float16 *= float21.w; float4 float22 = taylorInvSqrt(math.float4(math.dot(float17, float17), math.dot(float19, float19), math.dot(float18, float18), math.dot(float20, float20))); float17 *= float22.x; float19 *= float22.y; float18 *= float22.z; float20 *= float22.w; float x7 = math.dot(float13, float6); float y4 = math.dot(float14, math.float3(y.x, float6.yz)); float z = math.dot(float15, math.float3(float6.x, y.y, float6.z)); float w = math.dot(float16, math.float3(y.xy, float6.z)); float x8 = math.dot(float17, math.float3(float6.xy, y.z)); float y5 = math.dot(float18, math.float3(y.x, float6.y, y.z)); float z2 = math.dot(float19, math.float3(float6.x, y.yz)); float w2 = math.dot(float20, y); float3 float23 = fade(float6); float4 float24 = math.lerp(math.float4(x7, y4, z, w), math.float4(x8, y5, z2, w2), float23.z); float2 float25 = math.lerp(float24.xy, float24.zw, float23.y); float num = math.lerp(float25.x, float25.y, float23.x); return 2.2f * num; } public static float pnoise(float3 P, float3 rep) { float3 float5 = math.fmod(math.floor(P), rep); float3 x = math.fmod(float5 + math.float3(1f), rep); float5 = mod289(float5); x = mod289(x); float3 float6 = math.frac(P); float3 y = float6 - math.float3(1f); float4 x2 = math.float4(float5.x, x.x, float5.x, x.x); float4 float7 = math.float4(float5.yy, x.yy); float4 zzzz = float5.zzzz; float4 zzzz2 = x.zzzz; float4 float8 = permute(permute(x2) + float7); float4 float9 = permute(float8 + zzzz); float4 float10 = permute(float8 + zzzz2); float4 x3 = float9 * (1f / 7f); float4 x4 = math.frac(math.floor(x3) * (1f / 7f)) - 0.5f; x3 = math.frac(x3); float4 y2 = math.float4(0.5f) - math.abs(x3) - math.abs(x4); float4 float11 = math.step(y2, math.float4(0f)); x3 -= float11 * (math.step(0f, x3) - 0.5f); x4 -= float11 * (math.step(0f, x4) - 0.5f); float4 x5 = float10 * (1f / 7f); float4 x6 = math.frac(math.floor(x5) * (1f / 7f)) - 0.5f; x5 = math.frac(x5); float4 y3 = math.float4(0.5f) - math.abs(x5) - math.abs(x6); float4 float12 = math.step(y3, math.float4(0f)); x5 -= float12 * (math.step(0f, x5) - 0.5f); x6 -= float12 * (math.step(0f, x6) - 0.5f); float3 float13 = math.float3(x3.x, x4.x, y2.x); float3 float14 = math.float3(x3.y, x4.y, y2.y); float3 float15 = math.float3(x3.z, x4.z, y2.z); float3 float16 = math.float3(x3.w, x4.w, y2.w); float3 float17 = math.float3(x5.x, x6.x, y3.x); float3 float18 = math.float3(x5.y, x6.y, y3.y); float3 float19 = math.float3(x5.z, x6.z, y3.z); float3 float20 = math.float3(x5.w, x6.w, y3.w); float4 float21 = taylorInvSqrt(math.float4(math.dot(float13, float13), math.dot(float15, float15), math.dot(float14, float14), math.dot(float16, float16))); float13 *= float21.x; float15 *= float21.y; float14 *= float21.z; float16 *= float21.w; float4 float22 = taylorInvSqrt(math.float4(math.dot(float17, float17), math.dot(float19, float19), math.dot(float18, float18), math.dot(float20, float20))); float17 *= float22.x; float19 *= float22.y; float18 *= float22.z; float20 *= float22.w; float x7 = math.dot(float13, float6); float y4 = math.dot(float14, math.float3(y.x, float6.yz)); float z = math.dot(float15, math.float3(float6.x, y.y, float6.z)); float w = math.dot(float16, math.float3(y.xy, float6.z)); float x8 = math.dot(float17, math.float3(float6.xy, y.z)); float y5 = math.dot(float18, math.float3(y.x, float6.y, y.z)); float z2 = math.dot(float19, math.float3(float6.x, y.yz)); float w2 = math.dot(float20, y); float3 float23 = fade(float6); float4 float24 = math.lerp(math.float4(x7, y4, z, w), math.float4(x8, y5, z2, w2), float23.z); float2 float25 = math.lerp(float24.xy, float24.zw, float23.y); float num = math.lerp(float25.x, float25.y, float23.x); return 2.2f * num; } public static float cnoise(float4 P) { float4 float5 = math.floor(P); float4 x = float5 + 1f; float5 = mod289(float5); x = mod289(x); float4 float6 = math.frac(P); float4 y = float6 - 1f; float4 x2 = math.float4(float5.x, x.x, float5.x, x.x); float4 float7 = math.float4(float5.yy, x.yy); float4 float8 = math.float4(float5.zzzz); float4 float9 = math.float4(x.zzzz); float4 float10 = math.float4(float5.wwww); float4 float11 = math.float4(x.wwww); float4 float12 = permute(permute(x2) + float7); float4 float13 = permute(float12 + float8); float4 float14 = permute(float12 + float9); float4 float15 = permute(float13 + float10); float4 float16 = permute(float13 + float11); float4 float17 = permute(float14 + float10); float4 float18 = permute(float14 + float11); float4 x3 = float15 * (1f / 7f); float4 x4 = math.floor(x3) * (1f / 7f); float4 x5 = math.floor(x4) * (1f / 6f); x3 = math.frac(x3) - 0.5f; x4 = math.frac(x4) - 0.5f; x5 = math.frac(x5) - 0.5f; float4 y2 = math.float4(0.75f) - math.abs(x3) - math.abs(x4) - math.abs(x5); float4 float19 = math.step(y2, math.float4(0f)); x3 -= float19 * (math.step(0f, x3) - 0.5f); x4 -= float19 * (math.step(0f, x4) - 0.5f); float4 x6 = float16 * (1f / 7f); float4 x7 = math.floor(x6) * (1f / 7f); float4 x8 = math.floor(x7) * (1f / 6f); x6 = math.frac(x6) - 0.5f; x7 = math.frac(x7) - 0.5f; x8 = math.frac(x8) - 0.5f; float4 y3 = math.float4(0.75f) - math.abs(x6) - math.abs(x7) - math.abs(x8); float4 float20 = math.step(y3, math.float4(0f)); x6 -= float20 * (math.step(0f, x6) - 0.5f); x7 -= float20 * (math.step(0f, x7) - 0.5f); float4 x9 = float17 * (1f / 7f); float4 x10 = math.floor(x9) * (1f / 7f); float4 x11 = math.floor(x10) * (1f / 6f); x9 = math.frac(x9) - 0.5f; x10 = math.frac(x10) - 0.5f; x11 = math.frac(x11) - 0.5f; float4 y4 = math.float4(0.75f) - math.abs(x9) - math.abs(x10) - math.abs(x11); float4 float21 = math.step(y4, math.float4(0f)); x9 -= float21 * (math.step(0f, x9) - 0.5f); x10 -= float21 * (math.step(0f, x10) - 0.5f); float4 x12 = float18 * (1f / 7f); float4 x13 = math.floor(x12) * (1f / 7f); float4 x14 = math.floor(x13) * (1f / 6f); x12 = math.frac(x12) - 0.5f; x13 = math.frac(x13) - 0.5f; x14 = math.frac(x14) - 0.5f; float4 y5 = math.float4(0.75f) - math.abs(x12) - math.abs(x13) - math.abs(x14); float4 float22 = math.step(y5, math.float4(0f)); x12 -= float22 * (math.step(0f, x12) - 0.5f); x13 -= float22 * (math.step(0f, x13) - 0.5f); float4 float23 = math.float4(x3.x, x4.x, x5.x, y2.x); float4 float24 = math.float4(x3.y, x4.y, x5.y, y2.y); float4 float25 = math.float4(x3.z, x4.z, x5.z, y2.z); float4 float26 = math.float4(x3.w, x4.w, x5.w, y2.w); float4 float27 = math.float4(x9.x, x10.x, x11.x, y4.x); float4 float28 = math.float4(x9.y, x10.y, x11.y, y4.y); float4 float29 = math.float4(x9.z, x10.z, x11.z, y4.z); float4 float30 = math.float4(x9.w, x10.w, x11.w, y4.w); float4 float31 = math.float4(x6.x, x7.x, x8.x, y3.x); float4 float32 = math.float4(x6.y, x7.y, x8.y, y3.y); float4 float33 = math.float4(x6.z, x7.z, x8.z, y3.z); float4 float34 = math.float4(x6.w, x7.w, x8.w, y3.w); float4 float35 = math.float4(x12.x, x13.x, x14.x, y5.x); float4 float36 = math.float4(x12.y, x13.y, x14.y, y5.y); float4 float37 = math.float4(x12.z, x13.z, x14.z, y5.z); float4 float38 = math.float4(x12.w, x13.w, x14.w, y5.w); float4 float39 = taylorInvSqrt(math.float4(math.dot(float23, float23), math.dot(float25, float25), math.dot(float24, float24), math.dot(float26, float26))); float23 *= float39.x; float25 *= float39.y; float24 *= float39.z; float26 *= float39.w; float4 float40 = taylorInvSqrt(math.float4(math.dot(float31, float31), math.dot(float33, float33), math.dot(float32, float32), math.dot(float34, float34))); float31 *= float40.x; float33 *= float40.y; float32 *= float40.z; float34 *= float40.w; float4 float41 = taylorInvSqrt(math.float4(math.dot(float27, float27), math.dot(float29, float29), math.dot(float28, float28), math.dot(float30, float30))); float27 *= float41.x; float29 *= float41.y; float28 *= float41.z; float30 *= float41.w; float4 float42 = taylorInvSqrt(math.float4(math.dot(float35, float35), math.dot(float37, float37), math.dot(float36, float36), math.dot(float38, float38))); float35 *= float42.x; float37 *= float42.y; float36 *= float42.z; float38 *= float42.w; float x15 = math.dot(float23, float6); float y6 = math.dot(float24, math.float4(y.x, float6.yzw)); float z = math.dot(float25, math.float4(float6.x, y.y, float6.zw)); float w = math.dot(float26, math.float4(y.xy, float6.zw)); float x16 = math.dot(float27, math.float4(float6.xy, y.z, float6.w)); float y7 = math.dot(float28, math.float4(y.x, float6.y, y.z, float6.w)); float z2 = math.dot(float29, math.float4(float6.x, y.yz, float6.w)); float w2 = math.dot(float30, math.float4(y.xyz, float6.w)); float x17 = math.dot(float31, math.float4(float6.xyz, y.w)); float y8 = math.dot(float32, math.float4(y.x, float6.yz, y.w)); float z3 = math.dot(float33, math.float4(float6.x, y.y, float6.z, y.w)); float w3 = math.dot(float34, math.float4(y.xy, float6.z, y.w)); float x18 = math.dot(float35, math.float4(float6.xy, y.zw)); float y9 = math.dot(float36, math.float4(y.x, float6.y, y.zw)); float z4 = math.dot(float37, math.float4(float6.x, y.yzw)); float w4 = math.dot(float38, y); float4 float43 = fade(float6); float4 x19 = math.lerp(math.float4(x15, y6, z, w), math.float4(x17, y8, z3, w3), float43.w); float4 y10 = math.lerp(math.float4(x16, y7, z2, w2), math.float4(x18, y9, z4, w4), float43.w); float4 float44 = math.lerp(x19, y10, float43.z); float2 float45 = math.lerp(float44.xy, float44.zw, float43.y); float num = math.lerp(float45.x, float45.y, float43.x); return 2.2f * num; } public static float pnoise(float4 P, float4 rep) { float4 float5 = math.fmod(math.floor(P), rep); float4 x = math.fmod(float5 + 1f, rep); float5 = mod289(float5); x = mod289(x); float4 float6 = math.frac(P); float4 y = float6 - 1f; float4 x2 = math.float4(float5.x, x.x, float5.x, x.x); float4 float7 = math.float4(float5.yy, x.yy); float4 float8 = math.float4(float5.zzzz); float4 float9 = math.float4(x.zzzz); float4 float10 = math.float4(float5.wwww); float4 float11 = math.float4(x.wwww); float4 float12 = permute(permute(x2) + float7); float4 float13 = permute(float12 + float8); float4 float14 = permute(float12 + float9); float4 float15 = permute(float13 + float10); float4 float16 = permute(float13 + float11); float4 float17 = permute(float14 + float10); float4 float18 = permute(float14 + float11); float4 x3 = float15 * (1f / 7f); float4 x4 = math.floor(x3) * (1f / 7f); float4 x5 = math.floor(x4) * (1f / 6f); x3 = math.frac(x3) - 0.5f; x4 = math.frac(x4) - 0.5f; x5 = math.frac(x5) - 0.5f; float4 y2 = math.float4(0.75f) - math.abs(x3) - math.abs(x4) - math.abs(x5); float4 float19 = math.step(y2, math.float4(0f)); x3 -= float19 * (math.step(0f, x3) - 0.5f); x4 -= float19 * (math.step(0f, x4) - 0.5f); float4 x6 = float16 * (1f / 7f); float4 x7 = math.floor(x6) * (1f / 7f); float4 x8 = math.floor(x7) * (1f / 6f); x6 = math.frac(x6) - 0.5f; x7 = math.frac(x7) - 0.5f; x8 = math.frac(x8) - 0.5f; float4 y3 = math.float4(0.75f) - math.abs(x6) - math.abs(x7) - math.abs(x8); float4 float20 = math.step(y3, math.float4(0f)); x6 -= float20 * (math.step(0f, x6) - 0.5f); x7 -= float20 * (math.step(0f, x7) - 0.5f); float4 x9 = float17 * (1f / 7f); float4 x10 = math.floor(x9) * (1f / 7f); float4 x11 = math.floor(x10) * (1f / 6f); x9 = math.frac(x9) - 0.5f; x10 = math.frac(x10) - 0.5f; x11 = math.frac(x11) - 0.5f; float4 y4 = math.float4(0.75f) - math.abs(x9) - math.abs(x10) - math.abs(x11); float4 float21 = math.step(y4, math.float4(0f)); x9 -= float21 * (math.step(0f, x9) - 0.5f); x10 -= float21 * (math.step(0f, x10) - 0.5f); float4 x12 = float18 * (1f / 7f); float4 x13 = math.floor(x12) * (1f / 7f); float4 x14 = math.floor(x13) * (1f / 6f); x12 = math.frac(x12) - 0.5f; x13 = math.frac(x13) - 0.5f; x14 = math.frac(x14) - 0.5f; float4 y5 = math.float4(0.75f) - math.abs(x12) - math.abs(x13) - math.abs(x14); float4 float22 = math.step(y5, math.float4(0f)); x12 -= float22 * (math.step(0f, x12) - 0.5f); x13 -= float22 * (math.step(0f, x13) - 0.5f); float4 float23 = math.float4(x3.x, x4.x, x5.x, y2.x); float4 float24 = math.float4(x3.y, x4.y, x5.y, y2.y); float4 float25 = math.float4(x3.z, x4.z, x5.z, y2.z); float4 float26 = math.float4(x3.w, x4.w, x5.w, y2.w); float4 float27 = math.float4(x9.x, x10.x, x11.x, y4.x); float4 float28 = math.float4(x9.y, x10.y, x11.y, y4.y); float4 float29 = math.float4(x9.z, x10.z, x11.z, y4.z); float4 float30 = math.float4(x9.w, x10.w, x11.w, y4.w); float4 float31 = math.float4(x6.x, x7.x, x8.x, y3.x); float4 float32 = math.float4(x6.y, x7.y, x8.y, y3.y); float4 float33 = math.float4(x6.z, x7.z, x8.z, y3.z); float4 float34 = math.float4(x6.w, x7.w, x8.w, y3.w); float4 float35 = math.float4(x12.x, x13.x, x14.x, y5.x); float4 float36 = math.float4(x12.y, x13.y, x14.y, y5.y); float4 float37 = math.float4(x12.z, x13.z, x14.z, y5.z); float4 float38 = math.float4(x12.w, x13.w, x14.w, y5.w); float4 float39 = taylorInvSqrt(math.float4(math.dot(float23, float23), math.dot(float25, float25), math.dot(float24, float24), math.dot(float26, float26))); float23 *= float39.x; float25 *= float39.y; float24 *= float39.z; float26 *= float39.w; float4 float40 = taylorInvSqrt(math.float4(math.dot(float31, float31), math.dot(float33, float33), math.dot(float32, float32), math.dot(float34, float34))); float31 *= float40.x; float33 *= float40.y; float32 *= float40.z; float34 *= float40.w; float4 float41 = taylorInvSqrt(math.float4(math.dot(float27, float27), math.dot(float29, float29), math.dot(float28, float28), math.dot(float30, float30))); float27 *= float41.x; float29 *= float41.y; float28 *= float41.z; float30 *= float41.w; float4 float42 = taylorInvSqrt(math.float4(math.dot(float35, float35), math.dot(float37, float37), math.dot(float36, float36), math.dot(float38, float38))); float35 *= float42.x; float37 *= float42.y; float36 *= float42.z; float38 *= float42.w; float x15 = math.dot(float23, float6); float y6 = math.dot(float24, math.float4(y.x, float6.yzw)); float z = math.dot(float25, math.float4(float6.x, y.y, float6.zw)); float w = math.dot(float26, math.float4(y.xy, float6.zw)); float x16 = math.dot(float27, math.float4(float6.xy, y.z, float6.w)); float y7 = math.dot(float28, math.float4(y.x, float6.y, y.z, float6.w)); float z2 = math.dot(float29, math.float4(float6.x, y.yz, float6.w)); float w2 = math.dot(float30, math.float4(y.xyz, float6.w)); float x17 = math.dot(float31, math.float4(float6.xyz, y.w)); float y8 = math.dot(float32, math.float4(y.x, float6.yz, y.w)); float z3 = math.dot(float33, math.float4(float6.x, y.y, float6.z, y.w)); float w3 = math.dot(float34, math.float4(y.xy, float6.z, y.w)); float x18 = math.dot(float35, math.float4(float6.xy, y.zw)); float y9 = math.dot(float36, math.float4(y.x, float6.y, y.zw)); float z4 = math.dot(float37, math.float4(float6.x, y.yzw)); float w4 = math.dot(float38, y); float4 float43 = fade(float6); float4 x19 = math.lerp(math.float4(x15, y6, z, w), math.float4(x17, y8, z3, w3), float43.w); float4 y10 = math.lerp(math.float4(x16, y7, z2, w2), math.float4(x18, y9, z4, w4), float43.w); float4 float44 = math.lerp(x19, y10, float43.z); float2 float45 = math.lerp(float44.xy, float44.zw, float43.y); float num = math.lerp(float45.x, float45.y, float43.x); return 2.2f * num; } private static float mod289(float x) { return x - math.floor(x * 0.0034602077f) * 289f; } private static float2 mod289(float2 x) { return x - math.floor(x * 0.0034602077f) * 289f; } private static float3 mod289(float3 x) { return x - math.floor(x * 0.0034602077f) * 289f; } private static float4 mod289(float4 x) { return x - math.floor(x * 0.0034602077f) * 289f; } private static float3 mod7(float3 x) { return x - math.floor(x * (1f / 7f)) * 7f; } private static float4 mod7(float4 x) { return x - math.floor(x * (1f / 7f)) * 7f; } private static float permute(float x) { return mod289((34f * x + 1f) * x); } private static float3 permute(float3 x) { return mod289((34f * x + 1f) * x); } private static float4 permute(float4 x) { return mod289((34f * x + 1f) * x); } private static float taylorInvSqrt(float r) { return 1.7928429f - 0.85373473f * r; } private static float4 taylorInvSqrt(float4 r) { return 1.7928429f - 0.85373473f * r; } private static float2 fade(float2 t) { return t * t * t * (t * (t * 6f - 15f) + 10f); } private static float3 fade(float3 t) { return t * t * t * (t * (t * 6f - 15f) + 10f); } private static float4 fade(float4 t) { return t * t * t * (t * (t * 6f - 15f) + 10f); } private static float4 grad4(float j, float4 ip) { float4 float5 = math.float4(1f, 1f, 1f, -1f); float3 float6 = math.floor(math.frac(math.float3(j) * ip.xyz) * 7f) * ip.z - 1f; float w = 1.5f - math.dot(math.abs(float6), float5.xyz); float4 float7 = math.float4(float6, w); float4 float8 = math.float4(float7 < 0f); float7.xyz += (float8.xyz * 2f - 1f) * float8.www; return float7; } private static float2 rgrad2(float2 p, float rot) { float x = permute(permute(p.x) + p.y) * (1f / 41f) + rot; x = math.frac(x) * (MathF.PI * 2f); return math.float2(math.cos(x), math.sin(x)); } public static float snoise(float2 v) { float4 float5 = math.float4(0.21132487f, 0.36602542f, -0.57735026f, 1f / 41f); float2 float6 = math.floor(v + math.dot(v, float5.yy)); float2 float7 = v - float6 + math.dot(float6, float5.xx); float2 float8 = ((float7.x > float7.y) ? math.float2(1f, 0f) : math.float2(0f, 1f)); float4 float9 = float7.xyxy + float5.xxzz; float9.xy -= float8; float6 = mod289(float6); float3 float10 = permute(permute(float6.y + math.float3(0f, float8.y, 1f)) + float6.x + math.float3(0f, float8.x, 1f)); float3 float11 = math.max(0.5f - math.float3(math.dot(float7, float7), math.dot(float9.xy, float9.xy), math.dot(float9.zw, float9.zw)), 0f); float11 *= float11; float11 *= float11; float3 float12 = 2f * math.frac(float10 * float5.www) - 1f; float3 float13 = math.abs(float12) - 0.5f; float3 float14 = math.floor(float12 + 0.5f); float3 float15 = float12 - float14; float11 *= 1.7928429f - 0.85373473f * (float15 * float15 + float13 * float13); float x = float15.x * float7.x + float13.x * float7.y; float2 yz = float15.yz * float9.xz + float13.yz * float9.yw; float3 y = math.float3(x, yz); return 130f * math.dot(float11, y); } public static float snoise(float3 v) { float2 float5 = math.float2(1f / 6f, 1f / 3f); float4 float6 = math.float4(0f, 0.5f, 1f, 2f); float3 float7 = math.floor(v + math.dot(v, float5.yyy)); float3 float8 = v - float7 + math.dot(float7, float5.xxx); float3 float9 = math.step(float8.yzx, float8.xyz); float3 float10 = 1f - float9; float3 float11 = math.min(float9.xyz, float10.zxy); float3 float12 = math.max(float9.xyz, float10.zxy); float3 float13 = float8 - float11 + float5.xxx; float3 float14 = float8 - float12 + float5.yyy; float3 float15 = float8 - float6.yyy; float7 = mod289(float7); float4 float16 = permute(permute(permute(float7.z + math.float4(0f, float11.z, float12.z, 1f)) + float7.y + math.float4(0f, float11.y, float12.y, 1f)) + float7.x + math.float4(0f, float11.x, float12.x, 1f)); float num = 1f / 7f; float3 float17 = num * float6.wyz - float6.xzx; float4 float18 = float16 - 49f * math.floor(float16 * float17.z * float17.z); float4 float19 = math.floor(float18 * float17.z); float4 float20 = math.floor(float18 - 7f * float19); float4 x = float19 * float17.x + float17.yyyy; float4 x2 = float20 * float17.x + float17.yyyy; float4 y = 1f - math.abs(x) - math.abs(x2); float4 x3 = math.float4(x.xy, x2.xy); float4 x4 = math.float4(x.zw, x2.zw); float4 float21 = math.floor(x3) * 2f + 1f; float4 float22 = math.floor(x4) * 2f + 1f; float4 float23 = -math.step(y, math.float4(0f)); float4 float24 = x3.xzyw + float21.xzyw * float23.xxyy; float4 float25 = x4.xzyw + float22.xzyw * float23.zzww; float3 float26 = math.float3(float24.xy, y.x); float3 float27 = math.float3(float24.zw, y.y); float3 float28 = math.float3(float25.xy, y.z); float3 float29 = math.float3(float25.zw, y.w); float4 float30 = taylorInvSqrt(math.float4(math.dot(float26, float26), math.dot(float27, float27), math.dot(float28, float28), math.dot(float29, float29))); float26 *= float30.x; float27 *= float30.y; float28 *= float30.z; float29 *= float30.w; float4 float31 = math.max(0.6f - math.float4(math.dot(float8, float8), math.dot(float13, float13), math.dot(float14, float14), math.dot(float15, float15)), 0f); float31 *= float31; return 42f * math.dot(float31 * float31, math.float4(math.dot(float26, float8), math.dot(float27, float13), math.dot(float28, float14), math.dot(float29, float15))); } public static float snoise(float3 v, out float3 gradient) { float2 float5 = math.float2(1f / 6f, 1f / 3f); float4 float6 = math.float4(0f, 0.5f, 1f, 2f); float3 float7 = math.floor(v + math.dot(v, float5.yyy)); float3 float8 = v - float7 + math.dot(float7, float5.xxx); float3 float9 = math.step(float8.yzx, float8.xyz); float3 float10 = 1f - float9; float3 float11 = math.min(float9.xyz, float10.zxy); float3 float12 = math.max(float9.xyz, float10.zxy); float3 float13 = float8 - float11 + float5.xxx; float3 float14 = float8 - float12 + float5.yyy; float3 float15 = float8 - float6.yyy; float7 = mod289(float7); float4 float16 = permute(permute(permute(float7.z + math.float4(0f, float11.z, float12.z, 1f)) + float7.y + math.float4(0f, float11.y, float12.y, 1f)) + float7.x + math.float4(0f, float11.x, float12.x, 1f)); float num = 1f / 7f; float3 float17 = num * float6.wyz - float6.xzx; float4 float18 = float16 - 49f * math.floor(float16 * float17.z * float17.z); float4 float19 = math.floor(float18 * float17.z); float4 float20 = math.floor(float18 - 7f * float19); float4 x = float19 * float17.x + float17.yyyy; float4 x2 = float20 * float17.x + float17.yyyy; float4 y = 1f - math.abs(x) - math.abs(x2); float4 x3 = math.float4(x.xy, x2.xy); float4 x4 = math.float4(x.zw, x2.zw); float4 float21 = math.floor(x3) * 2f + 1f; float4 float22 = math.floor(x4) * 2f + 1f; float4 float23 = -math.step(y, math.float4(0f)); float4 float24 = x3.xzyw + float21.xzyw * float23.xxyy; float4 float25 = x4.xzyw + float22.xzyw * float23.zzww; float3 float26 = math.float3(float24.xy, y.x); float3 float27 = math.float3(float24.zw, y.y); float3 float28 = math.float3(float25.xy, y.z); float3 float29 = math.float3(float25.zw, y.w); float4 float30 = taylorInvSqrt(math.float4(math.dot(float26, float26), math.dot(float27, float27), math.dot(float28, float28), math.dot(float29, float29))); float26 *= float30.x; float27 *= float30.y; float28 *= float30.z; float29 *= float30.w; float4 float31 = math.max(0.6f - math.float4(math.dot(float8, float8), math.dot(float13, float13), math.dot(float14, float14), math.dot(float15, float15)), 0f); float4 float32 = float31 * float31; float4 x5 = float32 * float32; float4 float33 = math.float4(math.dot(float26, float8), math.dot(float27, float13), math.dot(float28, float14), math.dot(float29, float15)); float4 float34 = float32 * float31 * float33; gradient = -8f * (float34.x * float8 + float34.y * float13 + float34.z * float14 + float34.w * float15); gradient += x5.x * float26 + x5.y * float27 + x5.z * float28 + x5.w * float29; gradient *= 42f; return 42f * math.dot(x5, float33); } public static float snoise(float4 v) { float4 float5 = math.float4(0.1381966f, 0.2763932f, 0.4145898f, -0.4472136f); float4 float6 = math.floor(v + math.dot(v, math.float4(0.309017f))); float4 float7 = v - float6 + math.dot(float6, float5.xxxx); float4 float8 = math.float4(0f); float3 float9 = math.step(float7.yzw, float7.xxx); float3 float10 = math.step(float7.zww, float7.yyz); float8.x = float9.x + float9.y + float9.z; float8.yzw = 1f - float9; float8.y += float10.x + float10.y; float8.zw += 1f - float10.xy; float8.z += float10.z; float8.w += 1f - float10.z; float4 float11 = math.clamp(float8, 0f, 1f); float4 float12 = math.clamp(float8 - 1f, 0f, 1f); float4 float13 = math.clamp(float8 - 2f, 0f, 1f); float4 float14 = float7 - float13 + float5.xxxx; float4 float15 = float7 - float12 + float5.yyyy; float4 float16 = float7 - float11 + float5.zzzz; float4 float17 = float7 + float5.wwww; float6 = mod289(float6); float j = permute(permute(permute(permute(float6.w) + float6.z) + float6.y) + float6.x); float4 float18 = permute(permute(permute(permute(float6.w + math.float4(float13.w, float12.w, float11.w, 1f)) + float6.z + math.float4(float13.z, float12.z, float11.z, 1f)) + float6.y + math.float4(float13.y, float12.y, float11.y, 1f)) + float6.x + math.float4(float13.x, float12.x, float11.x, 1f)); float4 ip = math.float4(0.0034013605f, 1f / 49f, 1f / 7f, 0f); float4 float19 = grad4(j, ip); float4 float20 = grad4(float18.x, ip); float4 float21 = grad4(float18.y, ip); float4 float22 = grad4(float18.z, ip); float4 float23 = grad4(float18.w, ip); float4 float24 = taylorInvSqrt(math.float4(math.dot(float19, float19), math.dot(float20, float20), math.dot(float21, float21), math.dot(float22, float22))); float19 *= float24.x; float20 *= float24.y; float21 *= float24.z; float22 *= float24.w; float23 *= taylorInvSqrt(math.dot(float23, float23)); float3 float25 = math.max(0.6f - math.float3(math.dot(float7, float7), math.dot(float14, float14), math.dot(float15, float15)), 0f); float2 float26 = math.max(0.6f - math.float2(math.dot(float16, float16), math.dot(float17, float17)), 0f); float25 *= float25; float26 *= float26; return 49f * (math.dot(float25 * float25, math.float3(math.dot(float19, float7), math.dot(float20, float14), math.dot(float21, float15))) + math.dot(float26 * float26, math.float2(math.dot(float22, float16), math.dot(float23, float17)))); } public static float3 psrdnoise(float2 pos, float2 per, float rot) { pos.y += 0.01f; float2 x = math.float2(pos.x + pos.y * 0.5f, pos.y); float2 float5 = math.floor(x); float2 float6 = math.frac(x); float2 float7 = ((float6.x > float6.y) ? math.float2(1f, 0f) : math.float2(0f, 1f)); float2 float8 = math.float2(float5.x - float5.y * 0.5f, float5.y); float2 float9 = math.float2(float8.x + float7.x - float7.y * 0.5f, float8.y + float7.y); float2 float10 = math.float2(float8.x + 0.5f, float8.y + 1f); float2 float11 = pos - float8; float2 float12 = pos - float9; float2 float13 = pos - float10; float3 float14 = math.fmod(math.float3(float8.x, float9.x, float10.x), per.x); float3 float15 = math.fmod(math.float3(float8.y, float9.y, float10.y), per.y); float3 float16 = float14 + 0.5f * float15; float3 float17 = float15; float2 float18 = rgrad2(math.float2(float16.x, float17.x), rot); float2 float19 = rgrad2(math.float2(float16.y, float17.y), rot); float2 float20 = rgrad2(math.float2(float16.z, float17.z), rot); float3 y = math.float3(math.dot(float18, float11), math.dot(float19, float12), math.dot(float20, float13)); float3 float21 = 0.8f - math.float3(math.dot(float11, float11), math.dot(float12, float12), math.dot(float13, float13)); float3 float22 = -2f * math.float3(float11.x, float12.x, float13.x); float3 float23 = -2f * math.float3(float11.y, float12.y, float13.y); if (float21.x < 0f) { float22.x = 0f; float23.x = 0f; float21.x = 0f; } if (float21.y < 0f) { float22.y = 0f; float23.y = 0f; float21.y = 0f; } if (float21.z < 0f) { float22.z = 0f; float23.z = 0f; float21.z = 0f; } float3 float24 = float21 * float21; float3 x2 = float24 * float24; float3 float25 = float24 * float21; float x3 = math.dot(x2, y); float2 float26 = math.float2(float22.x, float23.x) * 4f * float25.x; float2 float27 = x2.x * float18 + float26 * y.x; float2 float28 = math.float2(float22.y, float23.y) * 4f * float25.y; float2 float29 = x2.y * float19 + float28 * y.y; float2 float30 = math.float2(float22.z, float23.z) * 4f * float25.z; float2 float31 = x2.z * float20 + float30 * y.z; return 11f * math.float3(x3, float27 + float29 + float31); } public static float3 psrdnoise(float2 pos, float2 per) { return psrdnoise(pos, per, 0f); } public static float psrnoise(float2 pos, float2 per, float rot) { pos.y += 0.001f; float2 x = math.float2(pos.x + pos.y * 0.5f, pos.y); float2 float5 = math.floor(x); float2 float6 = math.frac(x); float2 float7 = ((float6.x > float6.y) ? math.float2(1f, 0f) : math.float2(0f, 1f)); float2 float8 = math.float2(float5.x - float5.y * 0.5f, float5.y); float2 float9 = math.float2(float8.x + float7.x - float7.y * 0.5f, float8.y + float7.y); float2 float10 = math.float2(float8.x + 0.5f, float8.y + 1f); float2 float11 = pos - float8; float2 float12 = pos - float9; float2 float13 = pos - float10; float3 float14 = math.fmod(math.float3(float8.x, float9.x, float10.x), per.x); float3 float15 = math.fmod(math.float3(float8.y, float9.y, float10.y), per.y); float3 float16 = float14 + 0.5f * float15; float3 float17 = float15; float2 x2 = rgrad2(math.float2(float16.x, float17.x), rot); float2 x3 = rgrad2(math.float2(float16.y, float17.y), rot); float2 x4 = rgrad2(math.float2(float16.z, float17.z), rot); float3 y = math.float3(math.dot(x2, float11), math.dot(x3, float12), math.dot(x4, float13)); float3 x5 = 0.8f - math.float3(math.dot(float11, float11), math.dot(float12, float12), math.dot(float13, float13)); x5 = math.max(x5, 0f); float3 float18 = x5 * x5; float3 x6 = float18 * float18; float num = math.dot(x6, y); return 11f * num; } public static float psrnoise(float2 pos, float2 per) { return psrnoise(pos, per, 0f); } public static float3 srdnoise(float2 pos, float rot) { pos.y += 0.001f; float2 x = math.float2(pos.x + pos.y * 0.5f, pos.y); float2 float5 = math.floor(x); float2 float6 = math.frac(x); float2 float7 = ((float6.x > float6.y) ? math.float2(1f, 0f) : math.float2(0f, 1f)); float2 float8 = math.float2(float5.x - float5.y * 0.5f, float5.y); float2 float9 = math.float2(float8.x + float7.x - float7.y * 0.5f, float8.y + float7.y); float2 float10 = math.float2(float8.x + 0.5f, float8.y + 1f); float2 float11 = pos - float8; float2 float12 = pos - float9; float2 float13 = pos - float10; float3 float14 = math.float3(float8.x, float9.x, float10.x); float3 float15 = math.float3(float8.y, float9.y, float10.y); float3 x2 = float14 + 0.5f * float15; float3 x3 = float15; x2 = mod289(x2); x3 = mod289(x3); float2 float16 = rgrad2(math.float2(x2.x, x3.x), rot); float2 float17 = rgrad2(math.float2(x2.y, x3.y), rot); float2 float18 = rgrad2(math.float2(x2.z, x3.z), rot); float3 y = math.float3(math.dot(float16, float11), math.dot(float17, float12), math.dot(float18, float13)); float3 float19 = 0.8f - math.float3(math.dot(float11, float11), math.dot(float12, float12), math.dot(float13, float13)); float3 float20 = -2f * math.float3(float11.x, float12.x, float13.x); float3 float21 = -2f * math.float3(float11.y, float12.y, float13.y); if (float19.x < 0f) { float20.x = 0f; float21.x = 0f; float19.x = 0f; } if (float19.y < 0f) { float20.y = 0f; float21.y = 0f; float19.y = 0f; } if (float19.z < 0f) { float20.z = 0f; float21.z = 0f; float19.z = 0f; } float3 float22 = float19 * float19; float3 x4 = float22 * float22; float3 float23 = float22 * float19; float x5 = math.dot(x4, y); float2 float24 = math.float2(float20.x, float21.x) * 4f * float23.x; float2 float25 = x4.x * float16 + float24 * y.x; float2 float26 = math.float2(float20.y, float21.y) * 4f * float23.y; float2 float27 = x4.y * float17 + float26 * y.y; float2 float28 = math.float2(float20.z, float21.z) * 4f * float23.z; float2 float29 = x4.z * float18 + float28 * y.z; return 11f * math.float3(x5, float25 + float27 + float29); } public static float3 srdnoise(float2 pos) { return srdnoise(pos, 0f); } public static float srnoise(float2 pos, float rot) { pos.y += 0.001f; float2 x = math.float2(pos.x + pos.y * 0.5f, pos.y); float2 float5 = math.floor(x); float2 float6 = math.frac(x); float2 float7 = ((float6.x > float6.y) ? math.float2(1f, 0f) : math.float2(0f, 1f)); float2 float8 = math.float2(float5.x - float5.y * 0.5f, float5.y); float2 float9 = math.float2(float8.x + float7.x - float7.y * 0.5f, float8.y + float7.y); float2 float10 = math.float2(float8.x + 0.5f, float8.y + 1f); float2 float11 = pos - float8; float2 float12 = pos - float9; float2 float13 = pos - float10; float3 float14 = math.float3(float8.x, float9.x, float10.x); float3 float15 = math.float3(float8.y, float9.y, float10.y); float3 x2 = float14 + 0.5f * float15; float3 x3 = float15; x2 = mod289(x2); x3 = mod289(x3); float2 x4 = rgrad2(math.float2(x2.x, x3.x), rot); float2 x5 = rgrad2(math.float2(x2.y, x3.y), rot); float2 x6 = rgrad2(math.float2(x2.z, x3.z), rot); float3 y = math.float3(math.dot(x4, float11), math.dot(x5, float12), math.dot(x6, float13)); float3 x7 = 0.8f - math.float3(math.dot(float11, float11), math.dot(float12, float12), math.dot(float13, float13)); x7 = math.max(x7, 0f); float3 float16 = x7 * x7; float3 x8 = float16 * float16; float num = math.dot(x8, y); return 11f * num; } public static float srnoise(float2 pos) { return srnoise(pos, 0f); } } public class PostNormalizeAttribute : PropertyAttribute { } public class DoNotNormalizeAttribute : PropertyAttribute { } [Serializable] [Il2CppEagerStaticClassConstruction] public struct Random { public uint state; [MethodImpl(MethodImplOptions.AggressiveInlining)] public Random(uint seed) { state = seed; NextState(); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Random CreateFromIndex(uint index) { return new Random(WangHash(index + 62)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint WangHash(uint n) { n = n ^ 0x3Du ^ (n >> 16); n *= 9; n ^= n >> 4; n *= 668265261; n ^= n >> 15; return n; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void InitState(uint seed = 1851936439u) { state = seed; NextState(); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool NextBool() { return (NextState() & 1) == 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2 NextBool2() { uint v = NextState(); return (math.uint2(v) & math.uint2(1u, 2u)) == 0u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool3 NextBool3() { uint v = NextState(); return (math.uint3(v) & math.uint3(1u, 2u, 4u)) == 0u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool4 NextBool4() { uint v = NextState(); return (math.uint4(v) & math.uint4(1u, 2u, 4u, 8u)) == 0u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int NextInt() { return (int)NextState() ^ int.MinValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2 NextInt2() { return math.int2((int)NextState(), (int)NextState()) ^ int.MinValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3 NextInt3() { return math.int3((int)NextState(), (int)NextState(), (int)NextState()) ^ int.MinValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4 NextInt4() { return math.int4((int)NextState(), (int)NextState(), (int)NextState(), (int)NextState()) ^ int.MinValue; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int NextInt(int max) { return (int)(NextState() * max >>> 32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2 NextInt2(int2 max) { return math.int2((int)(NextState() * max.x >>> 32), (int)(NextState() * max.y >>> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3 NextInt3(int3 max) { return math.int3((int)(NextState() * max.x >>> 32), (int)(NextState() * max.y >>> 32), (int)(NextState() * max.z >>> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4 NextInt4(int4 max) { return math.int4((int)(NextState() * max.x >>> 32), (int)(NextState() * max.y >>> 32), (int)(NextState() * max.z >>> 32), (int)(NextState() * max.w >>> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int NextInt(int min, int max) { uint num = (uint)(max - min); return (int)((long)NextState() * (long)num >>> 32) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int2 NextInt2(int2 min, int2 max) { uint2 uint5 = (uint2)(max - min); return math.int2((int)((long)NextState() * (long)uint5.x >>> 32), (int)((long)NextState() * (long)uint5.y >>> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int3 NextInt3(int3 min, int3 max) { uint3 uint5 = (uint3)(max - min); return math.int3((int)((long)NextState() * (long)uint5.x >>> 32), (int)((long)NextState() * (long)uint5.y >>> 32), (int)((long)NextState() * (long)uint5.z >>> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public int4 NextInt4(int4 min, int4 max) { uint4 uint5 = (uint4)(max - min); return math.int4((int)((long)NextState() * (long)uint5.x >>> 32), (int)((long)NextState() * (long)uint5.y >>> 32), (int)((long)NextState() * (long)uint5.z >>> 32), (int)((long)NextState() * (long)uint5.w >>> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint NextUInt() { return NextState() - 1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2 NextUInt2() { return math.uint2(NextState(), NextState()) - 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3 NextUInt3() { return math.uint3(NextState(), NextState(), NextState()) - 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4 NextUInt4() { return math.uint4(NextState(), NextState(), NextState(), NextState()) - 1u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint NextUInt(uint max) { return (uint)((ulong)((long)NextState() * (long)max) >> 32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2 NextUInt2(uint2 max) { return math.uint2((uint)((ulong)((long)NextState() * (long)max.x) >> 32), (uint)((ulong)((long)NextState() * (long)max.y) >> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3 NextUInt3(uint3 max) { return math.uint3((uint)((ulong)((long)NextState() * (long)max.x) >> 32), (uint)((ulong)((long)NextState() * (long)max.y) >> 32), (uint)((ulong)((long)NextState() * (long)max.z) >> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4 NextUInt4(uint4 max) { return math.uint4((uint)((ulong)((long)NextState() * (long)max.x) >> 32), (uint)((ulong)((long)NextState() * (long)max.y) >> 32), (uint)((ulong)((long)NextState() * (long)max.z) >> 32), (uint)((ulong)((long)NextState() * (long)max.w) >> 32)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint NextUInt(uint min, uint max) { uint num = max - min; return (uint)(int)((long)NextState() * (long)num >>> 32) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2 NextUInt2(uint2 min, uint2 max) { uint2 uint5 = max - min; return math.uint2((uint)((ulong)((long)NextState() * (long)uint5.x) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.y) >> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3 NextUInt3(uint3 min, uint3 max) { uint3 uint5 = max - min; return math.uint3((uint)((ulong)((long)NextState() * (long)uint5.x) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.y) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.z) >> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4 NextUInt4(uint4 min, uint4 max) { uint4 uint5 = max - min; return math.uint4((uint)((ulong)((long)NextState() * (long)uint5.x) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.y) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.z) >> 32), (uint)((ulong)((long)NextState() * (long)uint5.w) >> 32)) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float NextFloat() { return math.asfloat(0x3F800000u | (NextState() >> 9)) - 1f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2 NextFloat2() { return math.asfloat(1065353216u | (math.uint2(NextState(), NextState()) >> 9)) - 1f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3 NextFloat3() { return math.asfloat(1065353216u | (math.uint3(NextState(), NextState(), NextState()) >> 9)) - 1f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4 NextFloat4() { return math.asfloat(1065353216u | (math.uint4(NextState(), NextState(), NextState(), NextState()) >> 9)) - 1f; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float NextFloat(float max) { return NextFloat() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2 NextFloat2(float2 max) { return NextFloat2() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3 NextFloat3(float3 max) { return NextFloat3() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4 NextFloat4(float4 max) { return NextFloat4() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float NextFloat(float min, float max) { return NextFloat() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2 NextFloat2(float2 min, float2 max) { return NextFloat2() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3 NextFloat3(float3 min, float3 max) { return NextFloat3() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float4 NextFloat4(float4 min, float4 max) { return NextFloat4() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double NextDouble() { ulong num = ((ulong)NextState() << 20) ^ NextState(); return math.asdouble(0x3FF0000000000000uL | num) - 1.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2 NextDouble2() { ulong num = ((ulong)NextState() << 20) ^ NextState(); ulong num2 = ((ulong)NextState() << 20) ^ NextState(); return math.double2(math.asdouble(0x3FF0000000000000uL | num), math.asdouble(0x3FF0000000000000uL | num2)) - 1.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3 NextDouble3() { ulong num = ((ulong)NextState() << 20) ^ NextState(); ulong num2 = ((ulong)NextState() << 20) ^ NextState(); ulong num3 = ((ulong)NextState() << 20) ^ NextState(); return math.double3(math.asdouble(0x3FF0000000000000uL | num), math.asdouble(0x3FF0000000000000uL | num2), math.asdouble(0x3FF0000000000000uL | num3)) - 1.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4 NextDouble4() { ulong num = ((ulong)NextState() << 20) ^ NextState(); ulong num2 = ((ulong)NextState() << 20) ^ NextState(); ulong num3 = ((ulong)NextState() << 20) ^ NextState(); ulong num4 = ((ulong)NextState() << 20) ^ NextState(); return math.double4(math.asdouble(0x3FF0000000000000uL | num), math.asdouble(0x3FF0000000000000uL | num2), math.asdouble(0x3FF0000000000000uL | num3), math.asdouble(0x3FF0000000000000uL | num4)) - 1.0; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double NextDouble(double max) { return NextDouble() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2 NextDouble2(double2 max) { return NextDouble2() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3 NextDouble3(double3 max) { return NextDouble3() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4 NextDouble4(double4 max) { return NextDouble4() * max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double NextDouble(double min, double max) { return NextDouble() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2 NextDouble2(double2 min, double2 max) { return NextDouble2() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3 NextDouble3(double3 min, double3 max) { return NextDouble3() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double4 NextDouble4(double4 min, double4 max) { return NextDouble4() * (max - min) + min; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float2 NextFloat2Direction() { float x = NextFloat() * MathF.PI * 2f; math.sincos(x, out var s, out var c); return math.float2(c, s); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double2 NextDouble2Direction() { double x = NextDouble() * Math.PI * 2.0; math.sincos(x, out var s, out var c); return math.double2(c, s); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3 NextFloat3Direction() { float2 float5 = NextFloat2(); float num = float5.x * 2f - 1f; float num2 = math.sqrt(math.max(1f - num * num, 0f)); float x = float5.y * MathF.PI * 2f; math.sincos(x, out var s, out var c); return math.float3(c * num2, s * num2, num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public double3 NextDouble3Direction() { double2 double5 = NextDouble2(); double num = double5.x * 2.0 - 1.0; double num2 = math.sqrt(math.max(1.0 - num * num, 0.0)); double x = double5.y * Math.PI * 2.0; math.sincos(x, out var s, out var c); return math.double3(c * num2, s * num2, num); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public quaternion NextQuaternionRotation() { float3 float5 = NextFloat3(math.float3(MathF.PI * 2f, MathF.PI * 2f, 1f)); float z = float5.z; float2 xy = float5.xy; float num = math.sqrt(1f - z); float num2 = math.sqrt(z); math.sincos(xy, out var s, out var c); quaternion quaternion2 = math.quaternion(num * s.x, num * c.x, num2 * s.y, num2 * c.y); return math.quaternion(math.select(quaternion2.value, -quaternion2.value, quaternion2.value.w < 0f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private uint NextState() { uint result = state; state ^= state << 13; state ^= state >> 17; state ^= state << 5; return result; } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckInitState() { } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private static void CheckIndexForHash(uint index) { if (index == uint.MaxValue) { throw new ArgumentException("Index must not be uint.MaxValue"); } } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckState() { } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckNextIntMax(int max) { } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckNextIntMinMax(int min, int max) { } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckNextUIntMinMax(uint min, uint max) { } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct RigidTransform { public quaternion rot; public float3 pos; public static readonly RigidTransform identity = new RigidTransform(new quaternion(0f, 0f, 0f, 1f), new float3(0f, 0f, 0f)); [MethodImpl(MethodImplOptions.AggressiveInlining)] public RigidTransform(quaternion rotation, float3 translation) { rot = rotation; pos = translation; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public RigidTransform(float3x3 rotation, float3 translation) { rot = new quaternion(rotation); pos = translation; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public RigidTransform(float4x4 transform) { rot = new quaternion(transform); pos = transform.c3.xyz; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform AxisAngle(float3 axis, float angle) { return new RigidTransform(quaternion.AxisAngle(axis, angle), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerXYZ(float3 xyz) { return new RigidTransform(quaternion.EulerXYZ(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerXZY(float3 xyz) { return new RigidTransform(quaternion.EulerXZY(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerYXZ(float3 xyz) { return new RigidTransform(quaternion.EulerYXZ(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerYZX(float3 xyz) { return new RigidTransform(quaternion.EulerYZX(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerZXY(float3 xyz) { return new RigidTransform(quaternion.EulerZXY(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerZYX(float3 xyz) { return new RigidTransform(quaternion.EulerZYX(xyz), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerXYZ(float x, float y, float z) { return EulerXYZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerXZY(float x, float y, float z) { return EulerXZY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerYXZ(float x, float y, float z) { return EulerYXZ(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerYZX(float x, float y, float z) { return EulerYZX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerZXY(float x, float y, float z) { return EulerZXY(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform EulerZYX(float x, float y, float z) { return EulerZYX(math.float3(x, y, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform Euler(float3 xyz, math.RotationOrder order = math.RotationOrder.ZXY) { return order switch { math.RotationOrder.XYZ => EulerXYZ(xyz), math.RotationOrder.XZY => EulerXZY(xyz), math.RotationOrder.YXZ => EulerYXZ(xyz), math.RotationOrder.YZX => EulerYZX(xyz), math.RotationOrder.ZXY => EulerZXY(xyz), math.RotationOrder.ZYX => EulerZYX(xyz), _ => identity, }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform Euler(float x, float y, float z, math.RotationOrder order = math.RotationOrder.ZXY) { return Euler(math.float3(x, y, z), order); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RotateX(float angle) { return new RigidTransform(quaternion.RotateX(angle), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RotateY(float angle) { return new RigidTransform(quaternion.RotateY(angle), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform RotateZ(float angle) { return new RigidTransform(quaternion.RotateZ(angle), float3.zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RigidTransform Translate(float3 vector) { return new RigidTransform(quaternion.identity, vector); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(RigidTransform x) { return rot.Equals(x.rot) && pos.Equals(x.pos); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override bool Equals(object x) { return x is RigidTransform x2 && Equals(x2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"RigidTransform(({rot.value.x}f, {rot.value.y}f, {rot.value.z}f, {rot.value.w}f), ({pos.x}f, {pos.y}f, {pos.z}f))"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"float4x4(({rot.value.x.ToString(format, formatProvider)}f, {rot.value.y.ToString(format, formatProvider)}f, {rot.value.z.ToString(format, formatProvider)}f, {rot.value.w.ToString(format, formatProvider)}f), ({pos.x.ToString(format, formatProvider)}f, {pos.y.ToString(format, formatProvider)}f, {pos.z.ToString(format, formatProvider)}f))"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct uint2 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public uint x; public uint y; public DebuggerProxy(uint2 v) { x = v.x; y = v.y; } } public uint x; public uint y; public static readonly uint2 zero; [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, y); } } public unsafe uint this[int index] { get { fixed (uint2* ptr = &this) { return *(uint*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (uint* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(uint x, uint y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(uint2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(uint v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(bool v) { x = (v ? 1u : 0u); y = (v ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(bool2 v) { x = (v.x ? 1u : 0u); y = (v.y ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(int v) { x = (uint)v; y = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(int2 v) { x = (uint)v.x; y = (uint)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(float v) { x = (uint)v; y = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(float2 v) { x = (uint)v.x; y = (uint)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(double v) { x = (uint)v; y = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2(double2 v) { x = (uint)v.x; y = (uint)v.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint2(uint v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(bool v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(bool2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(int v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(int2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(float v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(float2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(double v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2(double2 v) { return new uint2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator *(uint2 lhs, uint2 rhs) { return new uint2(lhs.x * rhs.x, lhs.y * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator *(uint2 lhs, uint rhs) { return new uint2(lhs.x * rhs, lhs.y * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator *(uint lhs, uint2 rhs) { return new uint2(lhs * rhs.x, lhs * rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator +(uint2 lhs, uint2 rhs) { return new uint2(lhs.x + rhs.x, lhs.y + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator +(uint2 lhs, uint rhs) { return new uint2(lhs.x + rhs, lhs.y + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator +(uint lhs, uint2 rhs) { return new uint2(lhs + rhs.x, lhs + rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator -(uint2 lhs, uint2 rhs) { return new uint2(lhs.x - rhs.x, lhs.y - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator -(uint2 lhs, uint rhs) { return new uint2(lhs.x - rhs, lhs.y - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator -(uint lhs, uint2 rhs) { return new uint2(lhs - rhs.x, lhs - rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator /(uint2 lhs, uint2 rhs) { return new uint2(lhs.x / rhs.x, lhs.y / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator /(uint2 lhs, uint rhs) { return new uint2(lhs.x / rhs, lhs.y / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator /(uint lhs, uint2 rhs) { return new uint2(lhs / rhs.x, lhs / rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator %(uint2 lhs, uint2 rhs) { return new uint2(lhs.x % rhs.x, lhs.y % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator %(uint2 lhs, uint rhs) { return new uint2(lhs.x % rhs, lhs.y % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator %(uint lhs, uint2 rhs) { return new uint2(lhs % rhs.x, lhs % rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator ++(uint2 val) { return new uint2(++val.x, ++val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator --(uint2 val) { return new uint2(--val.x, --val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(uint2 lhs, uint2 rhs) { return new bool2(lhs.x < rhs.x, lhs.y < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(uint2 lhs, uint rhs) { return new bool2(lhs.x < rhs, lhs.y < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <(uint lhs, uint2 rhs) { return new bool2(lhs < rhs.x, lhs < rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(uint2 lhs, uint2 rhs) { return new bool2(lhs.x <= rhs.x, lhs.y <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(uint2 lhs, uint rhs) { return new bool2(lhs.x <= rhs, lhs.y <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator <=(uint lhs, uint2 rhs) { return new bool2(lhs <= rhs.x, lhs <= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(uint2 lhs, uint2 rhs) { return new bool2(lhs.x > rhs.x, lhs.y > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(uint2 lhs, uint rhs) { return new bool2(lhs.x > rhs, lhs.y > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >(uint lhs, uint2 rhs) { return new bool2(lhs > rhs.x, lhs > rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(uint2 lhs, uint2 rhs) { return new bool2(lhs.x >= rhs.x, lhs.y >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(uint2 lhs, uint rhs) { return new bool2(lhs.x >= rhs, lhs.y >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator >=(uint lhs, uint2 rhs) { return new bool2(lhs >= rhs.x, lhs >= rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator -(uint2 val) { return new uint2((uint)(0uL - (ulong)val.x), (uint)(0uL - (ulong)val.y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator +(uint2 val) { return new uint2(val.x, val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator <<(uint2 x, int n) { return new uint2(x.x << n, x.y << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator >>(uint2 x, int n) { return new uint2(x.x >> n, x.y >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(uint2 lhs, uint2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(uint2 lhs, uint rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(uint lhs, uint2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(uint2 lhs, uint2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(uint2 lhs, uint rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(uint lhs, uint2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator ~(uint2 val) { return new uint2(~val.x, ~val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator &(uint2 lhs, uint2 rhs) { return new uint2(lhs.x & rhs.x, lhs.y & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator &(uint2 lhs, uint rhs) { return new uint2(lhs.x & rhs, lhs.y & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator &(uint lhs, uint2 rhs) { return new uint2(lhs & rhs.x, lhs & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator |(uint2 lhs, uint2 rhs) { return new uint2(lhs.x | rhs.x, lhs.y | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator |(uint2 lhs, uint rhs) { return new uint2(lhs.x | rhs, lhs.y | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator |(uint lhs, uint2 rhs) { return new uint2(lhs | rhs.x, lhs | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator ^(uint2 lhs, uint2 rhs) { return new uint2(lhs.x ^ rhs.x, lhs.y ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator ^(uint2 lhs, uint rhs) { return new uint2(lhs.x ^ rhs, lhs.y ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 operator ^(uint lhs, uint2 rhs) { return new uint2(lhs ^ rhs.x, lhs ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint2 rhs) { return x == rhs.x && y == rhs.y; } public override bool Equals(object o) { return o is uint2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint2({x}, {y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint2({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint2x2 : IEquatable, IFormattable { public uint2 c0; public uint2 c1; public static readonly uint2x2 identity = new uint2x2(1u, 0u, 0u, 1u); public static readonly uint2x2 zero; public unsafe ref uint2 this[int index] { get { fixed (uint2x2* ptr = &this) { return ref *(uint2*)((byte*)ptr + (nint)index * (nint)sizeof(uint2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(uint2 c0, uint2 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(uint m00, uint m01, uint m10, uint m11) { c0 = new uint2(m00, m10); c1 = new uint2(m01, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(bool v) { c0 = math.select(new uint2(0u), new uint2(1u), v); c1 = math.select(new uint2(0u), new uint2(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(bool2x2 v) { c0 = math.select(new uint2(0u), new uint2(1u), v.c0); c1 = math.select(new uint2(0u), new uint2(1u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(int v) { c0 = (uint2)v; c1 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(int2x2 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(float v) { c0 = (uint2)v; c1 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(float2x2 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(double v) { c0 = (uint2)v; c1 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x2(double2x2 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint2x2(uint v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(bool v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(bool2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(int v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(int2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(float v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(float2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(double v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x2(double2x2 v) { return new uint2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator *(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator *(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator *(uint lhs, uint2x2 rhs) { return new uint2x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator +(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator +(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator +(uint lhs, uint2x2 rhs) { return new uint2x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator -(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator -(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator -(uint lhs, uint2x2 rhs) { return new uint2x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator /(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator /(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator /(uint lhs, uint2x2 rhs) { return new uint2x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator %(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator %(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator %(uint lhs, uint2x2 rhs) { return new uint2x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator ++(uint2x2 val) { return new uint2x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator --(uint2x2 val) { return new uint2x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <(uint lhs, uint2x2 rhs) { return new bool2x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator <=(uint lhs, uint2x2 rhs) { return new bool2x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >(uint lhs, uint2x2 rhs) { return new bool2x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator >=(uint lhs, uint2x2 rhs) { return new bool2x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator -(uint2x2 val) { return new uint2x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator +(uint2x2 val) { return new uint2x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator <<(uint2x2 x, int n) { return new uint2x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator >>(uint2x2 x, int n) { return new uint2x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator ==(uint lhs, uint2x2 rhs) { return new bool2x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(uint2x2 lhs, uint2x2 rhs) { return new bool2x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(uint2x2 lhs, uint rhs) { return new bool2x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 operator !=(uint lhs, uint2x2 rhs) { return new bool2x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator ~(uint2x2 val) { return new uint2x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator &(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator &(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator &(uint lhs, uint2x2 rhs) { return new uint2x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator |(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator |(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator |(uint lhs, uint2x2 rhs) { return new uint2x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator ^(uint2x2 lhs, uint2x2 rhs) { return new uint2x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator ^(uint2x2 lhs, uint rhs) { return new uint2x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x2 operator ^(uint lhs, uint2x2 rhs) { return new uint2x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint2x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is uint2x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint2x2({c0.x}, {c1.x}, {c0.y}, {c1.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint2x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint2x3 : IEquatable, IFormattable { public uint2 c0; public uint2 c1; public uint2 c2; public static readonly uint2x3 zero; public unsafe ref uint2 this[int index] { get { fixed (uint2x3* ptr = &this) { return ref *(uint2*)((byte*)ptr + (nint)index * (nint)sizeof(uint2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(uint2 c0, uint2 c1, uint2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12) { c0 = new uint2(m00, m10); c1 = new uint2(m01, m11); c2 = new uint2(m02, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(bool v) { c0 = math.select(new uint2(0u), new uint2(1u), v); c1 = math.select(new uint2(0u), new uint2(1u), v); c2 = math.select(new uint2(0u), new uint2(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(bool2x3 v) { c0 = math.select(new uint2(0u), new uint2(1u), v.c0); c1 = math.select(new uint2(0u), new uint2(1u), v.c1); c2 = math.select(new uint2(0u), new uint2(1u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(int v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(int2x3 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(float v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(float2x3 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(double v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x3(double2x3 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint2x3(uint v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(bool v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(bool2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(int v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(int2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(float v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(float2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(double v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x3(double2x3 v) { return new uint2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator *(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator *(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator *(uint lhs, uint2x3 rhs) { return new uint2x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator +(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator +(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator +(uint lhs, uint2x3 rhs) { return new uint2x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator -(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator -(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator -(uint lhs, uint2x3 rhs) { return new uint2x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator /(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator /(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator /(uint lhs, uint2x3 rhs) { return new uint2x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator %(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator %(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator %(uint lhs, uint2x3 rhs) { return new uint2x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator ++(uint2x3 val) { return new uint2x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator --(uint2x3 val) { return new uint2x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <(uint lhs, uint2x3 rhs) { return new bool2x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator <=(uint lhs, uint2x3 rhs) { return new bool2x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >(uint lhs, uint2x3 rhs) { return new bool2x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator >=(uint lhs, uint2x3 rhs) { return new bool2x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator -(uint2x3 val) { return new uint2x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator +(uint2x3 val) { return new uint2x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator <<(uint2x3 x, int n) { return new uint2x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator >>(uint2x3 x, int n) { return new uint2x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator ==(uint lhs, uint2x3 rhs) { return new bool2x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(uint2x3 lhs, uint2x3 rhs) { return new bool2x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(uint2x3 lhs, uint rhs) { return new bool2x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 operator !=(uint lhs, uint2x3 rhs) { return new bool2x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator ~(uint2x3 val) { return new uint2x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator &(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator &(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator &(uint lhs, uint2x3 rhs) { return new uint2x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator |(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator |(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator |(uint lhs, uint2x3 rhs) { return new uint2x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator ^(uint2x3 lhs, uint2x3 rhs) { return new uint2x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator ^(uint2x3 lhs, uint rhs) { return new uint2x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x3 operator ^(uint lhs, uint2x3 rhs) { return new uint2x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint2x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is uint2x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint2x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint2x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint2x4 : IEquatable, IFormattable { public uint2 c0; public uint2 c1; public uint2 c2; public uint2 c3; public static readonly uint2x4 zero; public unsafe ref uint2 this[int index] { get { fixed (uint2x4* ptr = &this) { return ref *(uint2*)((byte*)ptr + (nint)index * (nint)sizeof(uint2)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(uint2 c0, uint2 c1, uint2 c2, uint2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13) { c0 = new uint2(m00, m10); c1 = new uint2(m01, m11); c2 = new uint2(m02, m12); c3 = new uint2(m03, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(bool v) { c0 = math.select(new uint2(0u), new uint2(1u), v); c1 = math.select(new uint2(0u), new uint2(1u), v); c2 = math.select(new uint2(0u), new uint2(1u), v); c3 = math.select(new uint2(0u), new uint2(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(bool2x4 v) { c0 = math.select(new uint2(0u), new uint2(1u), v.c0); c1 = math.select(new uint2(0u), new uint2(1u), v.c1); c2 = math.select(new uint2(0u), new uint2(1u), v.c2); c3 = math.select(new uint2(0u), new uint2(1u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(int v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; c3 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(int2x4 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; c3 = (uint2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(float v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; c3 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(float2x4 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; c3 = (uint2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(double v) { c0 = (uint2)v; c1 = (uint2)v; c2 = (uint2)v; c3 = (uint2)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint2x4(double2x4 v) { c0 = (uint2)v.c0; c1 = (uint2)v.c1; c2 = (uint2)v.c2; c3 = (uint2)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint2x4(uint v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(bool v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(bool2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(int v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(int2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(float v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(float2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(double v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint2x4(double2x4 v) { return new uint2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator *(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator *(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator *(uint lhs, uint2x4 rhs) { return new uint2x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator +(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator +(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator +(uint lhs, uint2x4 rhs) { return new uint2x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator -(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator -(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator -(uint lhs, uint2x4 rhs) { return new uint2x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator /(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator /(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator /(uint lhs, uint2x4 rhs) { return new uint2x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator %(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator %(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator %(uint lhs, uint2x4 rhs) { return new uint2x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator ++(uint2x4 val) { return new uint2x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator --(uint2x4 val) { return new uint2x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <(uint lhs, uint2x4 rhs) { return new bool2x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator <=(uint lhs, uint2x4 rhs) { return new bool2x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >(uint lhs, uint2x4 rhs) { return new bool2x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator >=(uint lhs, uint2x4 rhs) { return new bool2x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator -(uint2x4 val) { return new uint2x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator +(uint2x4 val) { return new uint2x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator <<(uint2x4 x, int n) { return new uint2x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator >>(uint2x4 x, int n) { return new uint2x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator ==(uint lhs, uint2x4 rhs) { return new bool2x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(uint2x4 lhs, uint2x4 rhs) { return new bool2x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(uint2x4 lhs, uint rhs) { return new bool2x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 operator !=(uint lhs, uint2x4 rhs) { return new bool2x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator ~(uint2x4 val) { return new uint2x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator &(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator &(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator &(uint lhs, uint2x4 rhs) { return new uint2x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator |(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator |(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator |(uint lhs, uint2x4 rhs) { return new uint2x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator ^(uint2x4 lhs, uint2x4 rhs) { return new uint2x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator ^(uint2x4 lhs, uint rhs) { return new uint2x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2x4 operator ^(uint lhs, uint2x4 rhs) { return new uint2x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint2x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is uint2x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint2x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint2x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct uint3 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public uint x; public uint y; public uint z; public DebuggerProxy(uint3 v) { x = v.x; y = v.y; z = v.z; } } public uint x; public uint y; public uint z; public static readonly uint3 zero; [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, z); } } public unsafe uint this[int index] { get { fixed (uint3* ptr = &this) { return *(uint*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (uint* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(uint x, uint y, uint z) { this.x = x; this.y = y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(uint x, uint2 yz) { this.x = x; y = yz.x; z = yz.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(uint2 xy, uint z) { x = xy.x; y = xy.y; this.z = z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(uint3 xyz) { x = xyz.x; y = xyz.y; z = xyz.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(uint v) { x = v; y = v; z = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(bool v) { x = (v ? 1u : 0u); y = (v ? 1u : 0u); z = (v ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(bool3 v) { x = (v.x ? 1u : 0u); y = (v.y ? 1u : 0u); z = (v.z ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(int v) { x = (uint)v; y = (uint)v; z = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(int3 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(float v) { x = (uint)v; y = (uint)v; z = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(float3 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(double v) { x = (uint)v; y = (uint)v; z = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3(double3 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint3(uint v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(bool v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(bool3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(int v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(int3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(float v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(float3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(double v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3(double3 v) { return new uint3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator *(uint3 lhs, uint3 rhs) { return new uint3(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator *(uint3 lhs, uint rhs) { return new uint3(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator *(uint lhs, uint3 rhs) { return new uint3(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator +(uint3 lhs, uint3 rhs) { return new uint3(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator +(uint3 lhs, uint rhs) { return new uint3(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator +(uint lhs, uint3 rhs) { return new uint3(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator -(uint3 lhs, uint3 rhs) { return new uint3(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator -(uint3 lhs, uint rhs) { return new uint3(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator -(uint lhs, uint3 rhs) { return new uint3(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator /(uint3 lhs, uint3 rhs) { return new uint3(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator /(uint3 lhs, uint rhs) { return new uint3(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator /(uint lhs, uint3 rhs) { return new uint3(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator %(uint3 lhs, uint3 rhs) { return new uint3(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator %(uint3 lhs, uint rhs) { return new uint3(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator %(uint lhs, uint3 rhs) { return new uint3(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator ++(uint3 val) { return new uint3(++val.x, ++val.y, ++val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator --(uint3 val) { return new uint3(--val.x, --val.y, --val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(uint3 lhs, uint3 rhs) { return new bool3(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(uint3 lhs, uint rhs) { return new bool3(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <(uint lhs, uint3 rhs) { return new bool3(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(uint3 lhs, uint3 rhs) { return new bool3(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(uint3 lhs, uint rhs) { return new bool3(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator <=(uint lhs, uint3 rhs) { return new bool3(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(uint3 lhs, uint3 rhs) { return new bool3(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(uint3 lhs, uint rhs) { return new bool3(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >(uint lhs, uint3 rhs) { return new bool3(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(uint3 lhs, uint3 rhs) { return new bool3(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(uint3 lhs, uint rhs) { return new bool3(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator >=(uint lhs, uint3 rhs) { return new bool3(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator -(uint3 val) { return new uint3((uint)(0uL - (ulong)val.x), (uint)(0uL - (ulong)val.y), (uint)(0uL - (ulong)val.z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator +(uint3 val) { return new uint3(val.x, val.y, val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator <<(uint3 x, int n) { return new uint3(x.x << n, x.y << n, x.z << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator >>(uint3 x, int n) { return new uint3(x.x >> n, x.y >> n, x.z >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(uint3 lhs, uint3 rhs) { return new bool3(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(uint3 lhs, uint rhs) { return new bool3(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator ==(uint lhs, uint3 rhs) { return new bool3(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(uint3 lhs, uint3 rhs) { return new bool3(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(uint3 lhs, uint rhs) { return new bool3(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 operator !=(uint lhs, uint3 rhs) { return new bool3(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator ~(uint3 val) { return new uint3(~val.x, ~val.y, ~val.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator &(uint3 lhs, uint3 rhs) { return new uint3(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator &(uint3 lhs, uint rhs) { return new uint3(lhs.x & rhs, lhs.y & rhs, lhs.z & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator &(uint lhs, uint3 rhs) { return new uint3(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator |(uint3 lhs, uint3 rhs) { return new uint3(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator |(uint3 lhs, uint rhs) { return new uint3(lhs.x | rhs, lhs.y | rhs, lhs.z | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator |(uint lhs, uint3 rhs) { return new uint3(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator ^(uint3 lhs, uint3 rhs) { return new uint3(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator ^(uint3 lhs, uint rhs) { return new uint3(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 operator ^(uint lhs, uint3 rhs) { return new uint3(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; } public override bool Equals(object o) { return o is uint3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint3({x}, {y}, {z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint3({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint3x2 : IEquatable, IFormattable { public uint3 c0; public uint3 c1; public static readonly uint3x2 zero; public unsafe ref uint3 this[int index] { get { fixed (uint3x2* ptr = &this) { return ref *(uint3*)((byte*)ptr + (nint)index * (nint)sizeof(uint3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(uint3 c0, uint3 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(uint m00, uint m01, uint m10, uint m11, uint m20, uint m21) { c0 = new uint3(m00, m10, m20); c1 = new uint3(m01, m11, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(bool v) { c0 = math.select(new uint3(0u), new uint3(1u), v); c1 = math.select(new uint3(0u), new uint3(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(bool3x2 v) { c0 = math.select(new uint3(0u), new uint3(1u), v.c0); c1 = math.select(new uint3(0u), new uint3(1u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(int v) { c0 = (uint3)v; c1 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(int3x2 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(float v) { c0 = (uint3)v; c1 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(float3x2 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(double v) { c0 = (uint3)v; c1 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x2(double3x2 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint3x2(uint v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(bool v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(bool3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(int v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(int3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(float v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(float3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(double v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x2(double3x2 v) { return new uint3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator *(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator *(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator *(uint lhs, uint3x2 rhs) { return new uint3x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator +(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator +(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator +(uint lhs, uint3x2 rhs) { return new uint3x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator -(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator -(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator -(uint lhs, uint3x2 rhs) { return new uint3x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator /(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator /(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator /(uint lhs, uint3x2 rhs) { return new uint3x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator %(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator %(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator %(uint lhs, uint3x2 rhs) { return new uint3x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator ++(uint3x2 val) { return new uint3x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator --(uint3x2 val) { return new uint3x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <(uint lhs, uint3x2 rhs) { return new bool3x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator <=(uint lhs, uint3x2 rhs) { return new bool3x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >(uint lhs, uint3x2 rhs) { return new bool3x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator >=(uint lhs, uint3x2 rhs) { return new bool3x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator -(uint3x2 val) { return new uint3x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator +(uint3x2 val) { return new uint3x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator <<(uint3x2 x, int n) { return new uint3x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator >>(uint3x2 x, int n) { return new uint3x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator ==(uint lhs, uint3x2 rhs) { return new bool3x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(uint3x2 lhs, uint3x2 rhs) { return new bool3x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(uint3x2 lhs, uint rhs) { return new bool3x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 operator !=(uint lhs, uint3x2 rhs) { return new bool3x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator ~(uint3x2 val) { return new uint3x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator &(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator &(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator &(uint lhs, uint3x2 rhs) { return new uint3x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator |(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator |(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator |(uint lhs, uint3x2 rhs) { return new uint3x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator ^(uint3x2 lhs, uint3x2 rhs) { return new uint3x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator ^(uint3x2 lhs, uint rhs) { return new uint3x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x2 operator ^(uint lhs, uint3x2 rhs) { return new uint3x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint3x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is uint3x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint3x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint3x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint3x3 : IEquatable, IFormattable { public uint3 c0; public uint3 c1; public uint3 c2; public static readonly uint3x3 identity = new uint3x3(1u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 1u); public static readonly uint3x3 zero; public unsafe ref uint3 this[int index] { get { fixed (uint3x3* ptr = &this) { return ref *(uint3*)((byte*)ptr + (nint)index * (nint)sizeof(uint3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(uint3 c0, uint3 c1, uint3 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12, uint m20, uint m21, uint m22) { c0 = new uint3(m00, m10, m20); c1 = new uint3(m01, m11, m21); c2 = new uint3(m02, m12, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(bool v) { c0 = math.select(new uint3(0u), new uint3(1u), v); c1 = math.select(new uint3(0u), new uint3(1u), v); c2 = math.select(new uint3(0u), new uint3(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(bool3x3 v) { c0 = math.select(new uint3(0u), new uint3(1u), v.c0); c1 = math.select(new uint3(0u), new uint3(1u), v.c1); c2 = math.select(new uint3(0u), new uint3(1u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(int v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(int3x3 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(float v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(float3x3 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(double v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x3(double3x3 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint3x3(uint v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(bool v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(bool3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(int v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(int3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(float v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(float3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(double v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x3(double3x3 v) { return new uint3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator *(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator *(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator *(uint lhs, uint3x3 rhs) { return new uint3x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator +(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator +(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator +(uint lhs, uint3x3 rhs) { return new uint3x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator -(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator -(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator -(uint lhs, uint3x3 rhs) { return new uint3x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator /(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator /(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator /(uint lhs, uint3x3 rhs) { return new uint3x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator %(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator %(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator %(uint lhs, uint3x3 rhs) { return new uint3x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator ++(uint3x3 val) { return new uint3x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator --(uint3x3 val) { return new uint3x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <(uint lhs, uint3x3 rhs) { return new bool3x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator <=(uint lhs, uint3x3 rhs) { return new bool3x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >(uint lhs, uint3x3 rhs) { return new bool3x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator >=(uint lhs, uint3x3 rhs) { return new bool3x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator -(uint3x3 val) { return new uint3x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator +(uint3x3 val) { return new uint3x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator <<(uint3x3 x, int n) { return new uint3x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator >>(uint3x3 x, int n) { return new uint3x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator ==(uint lhs, uint3x3 rhs) { return new bool3x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(uint3x3 lhs, uint3x3 rhs) { return new bool3x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(uint3x3 lhs, uint rhs) { return new bool3x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 operator !=(uint lhs, uint3x3 rhs) { return new bool3x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator ~(uint3x3 val) { return new uint3x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator &(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator &(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator &(uint lhs, uint3x3 rhs) { return new uint3x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator |(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator |(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator |(uint lhs, uint3x3 rhs) { return new uint3x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator ^(uint3x3 lhs, uint3x3 rhs) { return new uint3x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator ^(uint3x3 lhs, uint rhs) { return new uint3x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x3 operator ^(uint lhs, uint3x3 rhs) { return new uint3x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint3x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is uint3x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint3x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint3x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint3x4 : IEquatable, IFormattable { public uint3 c0; public uint3 c1; public uint3 c2; public uint3 c3; public static readonly uint3x4 zero; public unsafe ref uint3 this[int index] { get { fixed (uint3x4* ptr = &this) { return ref *(uint3*)((byte*)ptr + (nint)index * (nint)sizeof(uint3)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(uint3 c0, uint3 c1, uint3 c2, uint3 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13, uint m20, uint m21, uint m22, uint m23) { c0 = new uint3(m00, m10, m20); c1 = new uint3(m01, m11, m21); c2 = new uint3(m02, m12, m22); c3 = new uint3(m03, m13, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(bool v) { c0 = math.select(new uint3(0u), new uint3(1u), v); c1 = math.select(new uint3(0u), new uint3(1u), v); c2 = math.select(new uint3(0u), new uint3(1u), v); c3 = math.select(new uint3(0u), new uint3(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(bool3x4 v) { c0 = math.select(new uint3(0u), new uint3(1u), v.c0); c1 = math.select(new uint3(0u), new uint3(1u), v.c1); c2 = math.select(new uint3(0u), new uint3(1u), v.c2); c3 = math.select(new uint3(0u), new uint3(1u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(int v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; c3 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(int3x4 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; c3 = (uint3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(float v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; c3 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(float3x4 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; c3 = (uint3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(double v) { c0 = (uint3)v; c1 = (uint3)v; c2 = (uint3)v; c3 = (uint3)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint3x4(double3x4 v) { c0 = (uint3)v.c0; c1 = (uint3)v.c1; c2 = (uint3)v.c2; c3 = (uint3)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint3x4(uint v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(bool v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(bool3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(int v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(int3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(float v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(float3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(double v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint3x4(double3x4 v) { return new uint3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator *(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator *(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator *(uint lhs, uint3x4 rhs) { return new uint3x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator +(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator +(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator +(uint lhs, uint3x4 rhs) { return new uint3x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator -(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator -(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator -(uint lhs, uint3x4 rhs) { return new uint3x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator /(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator /(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator /(uint lhs, uint3x4 rhs) { return new uint3x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator %(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator %(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator %(uint lhs, uint3x4 rhs) { return new uint3x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator ++(uint3x4 val) { return new uint3x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator --(uint3x4 val) { return new uint3x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <(uint lhs, uint3x4 rhs) { return new bool3x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator <=(uint lhs, uint3x4 rhs) { return new bool3x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >(uint lhs, uint3x4 rhs) { return new bool3x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator >=(uint lhs, uint3x4 rhs) { return new bool3x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator -(uint3x4 val) { return new uint3x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator +(uint3x4 val) { return new uint3x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator <<(uint3x4 x, int n) { return new uint3x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator >>(uint3x4 x, int n) { return new uint3x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator ==(uint lhs, uint3x4 rhs) { return new bool3x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(uint3x4 lhs, uint3x4 rhs) { return new bool3x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(uint3x4 lhs, uint rhs) { return new bool3x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 operator !=(uint lhs, uint3x4 rhs) { return new bool3x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator ~(uint3x4 val) { return new uint3x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator &(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator &(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator &(uint lhs, uint3x4 rhs) { return new uint3x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator |(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator |(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator |(uint lhs, uint3x4 rhs) { return new uint3x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator ^(uint3x4 lhs, uint3x4 rhs) { return new uint3x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator ^(uint3x4 lhs, uint rhs) { return new uint3x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3x4 operator ^(uint lhs, uint3x4 rhs) { return new uint3x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint3x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is uint3x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint3x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint3x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)})"; } } [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct uint4 : IEquatable, IFormattable { internal sealed class DebuggerProxy { public uint x; public uint y; public uint z; public uint w; public DebuggerProxy(uint4 v) { x = v.x; y = v.y; z = v.z; w = v.w; } } public uint x; public uint y; public uint z; public uint w; public static readonly uint4 zero; [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 xwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(x, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 yzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 ywww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(y, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; w = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 zwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(z, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wxww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; z = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wyww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; y = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; x = value.w; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wzww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint4 wwww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint4(w, w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 xww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(x, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 ywx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 ywy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 ywz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 yww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(y, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; w = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 zww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(z, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wxz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wxw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, x, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wyz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; z = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wyw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, y, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wzx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; x = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wzy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; y = value.z; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wzz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wzw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, z, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wwx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, w, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wwy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, w, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 wwz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, w, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint3 www { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint3(w, w, w); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 xw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(x, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 yw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(y, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, z); } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 zw { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { z = value.x; w = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 wx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(w, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 wy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(w, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 wz { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(w, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { w = value.x; z = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public uint2 ww { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new uint2(w, w); } } public unsafe uint this[int index] { get { fixed (uint4* ptr = &this) { return *(uint*)((byte*)ptr + (nint)index * (nint)4); } } set { fixed (uint* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint x, uint y, uint z, uint w) { this.x = x; this.y = y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint x, uint y, uint2 zw) { this.x = x; this.y = y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint x, uint2 yz, uint w) { this.x = x; y = yz.x; z = yz.y; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint x, uint3 yzw) { this.x = x; y = yzw.x; z = yzw.y; w = yzw.z; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint2 xy, uint z, uint w) { x = xy.x; y = xy.y; this.z = z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint2 xy, uint2 zw) { x = xy.x; y = xy.y; z = zw.x; w = zw.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint3 xyz, uint w) { x = xyz.x; y = xyz.y; z = xyz.z; this.w = w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint4 xyzw) { x = xyzw.x; y = xyzw.y; z = xyzw.z; w = xyzw.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(uint v) { x = v; y = v; z = v; w = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(bool v) { x = (v ? 1u : 0u); y = (v ? 1u : 0u); z = (v ? 1u : 0u); w = (v ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(bool4 v) { x = (v.x ? 1u : 0u); y = (v.y ? 1u : 0u); z = (v.z ? 1u : 0u); w = (v.w ? 1u : 0u); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(int v) { x = (uint)v; y = (uint)v; z = (uint)v; w = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(int4 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; w = (uint)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(float v) { x = (uint)v; y = (uint)v; z = (uint)v; w = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(float4 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; w = (uint)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(double v) { x = (uint)v; y = (uint)v; z = (uint)v; w = (uint)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4(double4 v) { x = (uint)v.x; y = (uint)v.y; z = (uint)v.z; w = (uint)v.w; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint4(uint v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(bool v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(bool4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(int v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(int4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(float v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(float4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(double v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4(double4 v) { return new uint4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator *(uint4 lhs, uint4 rhs) { return new uint4(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator *(uint4 lhs, uint rhs) { return new uint4(lhs.x * rhs, lhs.y * rhs, lhs.z * rhs, lhs.w * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator *(uint lhs, uint4 rhs) { return new uint4(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z, lhs * rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator +(uint4 lhs, uint4 rhs) { return new uint4(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z, lhs.w + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator +(uint4 lhs, uint rhs) { return new uint4(lhs.x + rhs, lhs.y + rhs, lhs.z + rhs, lhs.w + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator +(uint lhs, uint4 rhs) { return new uint4(lhs + rhs.x, lhs + rhs.y, lhs + rhs.z, lhs + rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator -(uint4 lhs, uint4 rhs) { return new uint4(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z, lhs.w - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator -(uint4 lhs, uint rhs) { return new uint4(lhs.x - rhs, lhs.y - rhs, lhs.z - rhs, lhs.w - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator -(uint lhs, uint4 rhs) { return new uint4(lhs - rhs.x, lhs - rhs.y, lhs - rhs.z, lhs - rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator /(uint4 lhs, uint4 rhs) { return new uint4(lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z, lhs.w / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator /(uint4 lhs, uint rhs) { return new uint4(lhs.x / rhs, lhs.y / rhs, lhs.z / rhs, lhs.w / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator /(uint lhs, uint4 rhs) { return new uint4(lhs / rhs.x, lhs / rhs.y, lhs / rhs.z, lhs / rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator %(uint4 lhs, uint4 rhs) { return new uint4(lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z, lhs.w % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator %(uint4 lhs, uint rhs) { return new uint4(lhs.x % rhs, lhs.y % rhs, lhs.z % rhs, lhs.w % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator %(uint lhs, uint4 rhs) { return new uint4(lhs % rhs.x, lhs % rhs.y, lhs % rhs.z, lhs % rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator ++(uint4 val) { return new uint4(++val.x, ++val.y, ++val.z, ++val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator --(uint4 val) { return new uint4(--val.x, --val.y, --val.z, --val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(uint4 lhs, uint4 rhs) { return new bool4(lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z, lhs.w < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(uint4 lhs, uint rhs) { return new bool4(lhs.x < rhs, lhs.y < rhs, lhs.z < rhs, lhs.w < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <(uint lhs, uint4 rhs) { return new bool4(lhs < rhs.x, lhs < rhs.y, lhs < rhs.z, lhs < rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(uint4 lhs, uint4 rhs) { return new bool4(lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z, lhs.w <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(uint4 lhs, uint rhs) { return new bool4(lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs, lhs.w <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator <=(uint lhs, uint4 rhs) { return new bool4(lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z, lhs <= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(uint4 lhs, uint4 rhs) { return new bool4(lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z, lhs.w > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(uint4 lhs, uint rhs) { return new bool4(lhs.x > rhs, lhs.y > rhs, lhs.z > rhs, lhs.w > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >(uint lhs, uint4 rhs) { return new bool4(lhs > rhs.x, lhs > rhs.y, lhs > rhs.z, lhs > rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(uint4 lhs, uint4 rhs) { return new bool4(lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z, lhs.w >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(uint4 lhs, uint rhs) { return new bool4(lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs, lhs.w >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator >=(uint lhs, uint4 rhs) { return new bool4(lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z, lhs >= rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator -(uint4 val) { return new uint4((uint)(0uL - (ulong)val.x), (uint)(0uL - (ulong)val.y), (uint)(0uL - (ulong)val.z), (uint)(0uL - (ulong)val.w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator +(uint4 val) { return new uint4(val.x, val.y, val.z, val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator <<(uint4 x, int n) { return new uint4(x.x << n, x.y << n, x.z << n, x.w << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator >>(uint4 x, int n) { return new uint4(x.x >> n, x.y >> n, x.z >> n, x.w >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(uint4 lhs, uint4 rhs) { return new bool4(lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z, lhs.w == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(uint4 lhs, uint rhs) { return new bool4(lhs.x == rhs, lhs.y == rhs, lhs.z == rhs, lhs.w == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator ==(uint lhs, uint4 rhs) { return new bool4(lhs == rhs.x, lhs == rhs.y, lhs == rhs.z, lhs == rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(uint4 lhs, uint4 rhs) { return new bool4(lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z, lhs.w != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(uint4 lhs, uint rhs) { return new bool4(lhs.x != rhs, lhs.y != rhs, lhs.z != rhs, lhs.w != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 operator !=(uint lhs, uint4 rhs) { return new bool4(lhs != rhs.x, lhs != rhs.y, lhs != rhs.z, lhs != rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator ~(uint4 val) { return new uint4(~val.x, ~val.y, ~val.z, ~val.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator &(uint4 lhs, uint4 rhs) { return new uint4(lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z, lhs.w & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator &(uint4 lhs, uint rhs) { return new uint4(lhs.x & rhs, lhs.y & rhs, lhs.z & rhs, lhs.w & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator &(uint lhs, uint4 rhs) { return new uint4(lhs & rhs.x, lhs & rhs.y, lhs & rhs.z, lhs & rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator |(uint4 lhs, uint4 rhs) { return new uint4(lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z, lhs.w | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator |(uint4 lhs, uint rhs) { return new uint4(lhs.x | rhs, lhs.y | rhs, lhs.z | rhs, lhs.w | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator |(uint lhs, uint4 rhs) { return new uint4(lhs | rhs.x, lhs | rhs.y, lhs | rhs.z, lhs | rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator ^(uint4 lhs, uint4 rhs) { return new uint4(lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z, lhs.w ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator ^(uint4 lhs, uint rhs) { return new uint4(lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs, lhs.w ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 operator ^(uint lhs, uint4 rhs) { return new uint4(lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z, lhs ^ rhs.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint4 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w; } public override bool Equals(object o) { return o is uint4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint4({x}, {y}, {z}, {w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint4({x.ToString(format, formatProvider)}, {y.ToString(format, formatProvider)}, {z.ToString(format, formatProvider)}, {w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint4x2 : IEquatable, IFormattable { public uint4 c0; public uint4 c1; public static readonly uint4x2 zero; public unsafe ref uint4 this[int index] { get { fixed (uint4x2* ptr = &this) { return ref *(uint4*)((byte*)ptr + (nint)index * (nint)sizeof(uint4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(uint4 c0, uint4 c1) { this.c0 = c0; this.c1 = c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(uint m00, uint m01, uint m10, uint m11, uint m20, uint m21, uint m30, uint m31) { c0 = new uint4(m00, m10, m20, m30); c1 = new uint4(m01, m11, m21, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(uint v) { c0 = v; c1 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(bool v) { c0 = math.select(new uint4(0u), new uint4(1u), v); c1 = math.select(new uint4(0u), new uint4(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(bool4x2 v) { c0 = math.select(new uint4(0u), new uint4(1u), v.c0); c1 = math.select(new uint4(0u), new uint4(1u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(int v) { c0 = (uint4)v; c1 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(int4x2 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(float v) { c0 = (uint4)v; c1 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(float4x2 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(double v) { c0 = (uint4)v; c1 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x2(double4x2 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint4x2(uint v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(bool v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(bool4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(int v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(int4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(float v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(float4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(double v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x2(double4x2 v) { return new uint4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator *(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator *(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 * rhs, lhs.c1 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator *(uint lhs, uint4x2 rhs) { return new uint4x2(lhs * rhs.c0, lhs * rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator +(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator +(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 + rhs, lhs.c1 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator +(uint lhs, uint4x2 rhs) { return new uint4x2(lhs + rhs.c0, lhs + rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator -(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator -(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 - rhs, lhs.c1 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator -(uint lhs, uint4x2 rhs) { return new uint4x2(lhs - rhs.c0, lhs - rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator /(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator /(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 / rhs, lhs.c1 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator /(uint lhs, uint4x2 rhs) { return new uint4x2(lhs / rhs.c0, lhs / rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator %(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator %(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 % rhs, lhs.c1 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator %(uint lhs, uint4x2 rhs) { return new uint4x2(lhs % rhs.c0, lhs % rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator ++(uint4x2 val) { return new uint4x2(++val.c0, ++val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator --(uint4x2 val) { return new uint4x2(--val.c0, --val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 < rhs, lhs.c1 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <(uint lhs, uint4x2 rhs) { return new bool4x2(lhs < rhs.c0, lhs < rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 <= rhs, lhs.c1 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator <=(uint lhs, uint4x2 rhs) { return new bool4x2(lhs <= rhs.c0, lhs <= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 > rhs, lhs.c1 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >(uint lhs, uint4x2 rhs) { return new bool4x2(lhs > rhs.c0, lhs > rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 >= rhs, lhs.c1 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator >=(uint lhs, uint4x2 rhs) { return new bool4x2(lhs >= rhs.c0, lhs >= rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator -(uint4x2 val) { return new uint4x2(-val.c0, -val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator +(uint4x2 val) { return new uint4x2(+val.c0, +val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator <<(uint4x2 x, int n) { return new uint4x2(x.c0 << n, x.c1 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator >>(uint4x2 x, int n) { return new uint4x2(x.c0 >> n, x.c1 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 == rhs, lhs.c1 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator ==(uint lhs, uint4x2 rhs) { return new bool4x2(lhs == rhs.c0, lhs == rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(uint4x2 lhs, uint4x2 rhs) { return new bool4x2(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(uint4x2 lhs, uint rhs) { return new bool4x2(lhs.c0 != rhs, lhs.c1 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 operator !=(uint lhs, uint4x2 rhs) { return new bool4x2(lhs != rhs.c0, lhs != rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator ~(uint4x2 val) { return new uint4x2(~val.c0, ~val.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator &(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator &(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 & rhs, lhs.c1 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator &(uint lhs, uint4x2 rhs) { return new uint4x2(lhs & rhs.c0, lhs & rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator |(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator |(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 | rhs, lhs.c1 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator |(uint lhs, uint4x2 rhs) { return new uint4x2(lhs | rhs.c0, lhs | rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator ^(uint4x2 lhs, uint4x2 rhs) { return new uint4x2(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator ^(uint4x2 lhs, uint rhs) { return new uint4x2(lhs.c0 ^ rhs, lhs.c1 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x2 operator ^(uint lhs, uint4x2 rhs) { return new uint4x2(lhs ^ rhs.c0, lhs ^ rhs.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint4x2 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1); } public override bool Equals(object o) { return o is uint4x2 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint4x2({c0.x}, {c1.x}, {c0.y}, {c1.y}, {c0.z}, {c1.z}, {c0.w}, {c1.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint4x2({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint4x3 : IEquatable, IFormattable { public uint4 c0; public uint4 c1; public uint4 c2; public static readonly uint4x3 zero; public unsafe ref uint4 this[int index] { get { fixed (uint4x3* ptr = &this) { return ref *(uint4*)((byte*)ptr + (nint)index * (nint)sizeof(uint4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(uint4 c0, uint4 c1, uint4 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(uint m00, uint m01, uint m02, uint m10, uint m11, uint m12, uint m20, uint m21, uint m22, uint m30, uint m31, uint m32) { c0 = new uint4(m00, m10, m20, m30); c1 = new uint4(m01, m11, m21, m31); c2 = new uint4(m02, m12, m22, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(uint v) { c0 = v; c1 = v; c2 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(bool v) { c0 = math.select(new uint4(0u), new uint4(1u), v); c1 = math.select(new uint4(0u), new uint4(1u), v); c2 = math.select(new uint4(0u), new uint4(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(bool4x3 v) { c0 = math.select(new uint4(0u), new uint4(1u), v.c0); c1 = math.select(new uint4(0u), new uint4(1u), v.c1); c2 = math.select(new uint4(0u), new uint4(1u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(int v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(int4x3 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(float v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(float4x3 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(double v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x3(double4x3 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint4x3(uint v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(bool v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(bool4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(int v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(int4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(float v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(float4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(double v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x3(double4x3 v) { return new uint4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator *(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator *(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator *(uint lhs, uint4x3 rhs) { return new uint4x3(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator +(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator +(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator +(uint lhs, uint4x3 rhs) { return new uint4x3(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator -(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator -(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator -(uint lhs, uint4x3 rhs) { return new uint4x3(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator /(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator /(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator /(uint lhs, uint4x3 rhs) { return new uint4x3(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator %(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator %(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator %(uint lhs, uint4x3 rhs) { return new uint4x3(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator ++(uint4x3 val) { return new uint4x3(++val.c0, ++val.c1, ++val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator --(uint4x3 val) { return new uint4x3(--val.c0, --val.c1, --val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <(uint lhs, uint4x3 rhs) { return new bool4x3(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator <=(uint lhs, uint4x3 rhs) { return new bool4x3(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >(uint lhs, uint4x3 rhs) { return new bool4x3(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator >=(uint lhs, uint4x3 rhs) { return new bool4x3(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator -(uint4x3 val) { return new uint4x3(-val.c0, -val.c1, -val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator +(uint4x3 val) { return new uint4x3(+val.c0, +val.c1, +val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator <<(uint4x3 x, int n) { return new uint4x3(x.c0 << n, x.c1 << n, x.c2 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator >>(uint4x3 x, int n) { return new uint4x3(x.c0 >> n, x.c1 >> n, x.c2 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator ==(uint lhs, uint4x3 rhs) { return new bool4x3(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(uint4x3 lhs, uint4x3 rhs) { return new bool4x3(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(uint4x3 lhs, uint rhs) { return new bool4x3(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 operator !=(uint lhs, uint4x3 rhs) { return new bool4x3(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator ~(uint4x3 val) { return new uint4x3(~val.c0, ~val.c1, ~val.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator &(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator &(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator &(uint lhs, uint4x3 rhs) { return new uint4x3(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator |(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator |(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator |(uint lhs, uint4x3 rhs) { return new uint4x3(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator ^(uint4x3 lhs, uint4x3 rhs) { return new uint4x3(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator ^(uint4x3 lhs, uint rhs) { return new uint4x3(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x3 operator ^(uint lhs, uint4x3 rhs) { return new uint4x3(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint4x3 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2); } public override bool Equals(object o) { return o is uint4x3 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint4x3({c0.x}, {c1.x}, {c2.x}, {c0.y}, {c1.y}, {c2.y}, {c0.z}, {c1.z}, {c2.z}, {c0.w}, {c1.w}, {c2.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint4x3({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)})"; } } [Serializable] [Il2CppEagerStaticClassConstruction] public struct uint4x4 : IEquatable, IFormattable { public uint4 c0; public uint4 c1; public uint4 c2; public uint4 c3; public static readonly uint4x4 identity = new uint4x4(1u, 0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 1u); public static readonly uint4x4 zero; public unsafe ref uint4 this[int index] { get { fixed (uint4x4* ptr = &this) { return ref *(uint4*)((byte*)ptr + (nint)index * (nint)sizeof(uint4)); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(uint4 c0, uint4 c1, uint4 c2, uint4 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(uint m00, uint m01, uint m02, uint m03, uint m10, uint m11, uint m12, uint m13, uint m20, uint m21, uint m22, uint m23, uint m30, uint m31, uint m32, uint m33) { c0 = new uint4(m00, m10, m20, m30); c1 = new uint4(m01, m11, m21, m31); c2 = new uint4(m02, m12, m22, m32); c3 = new uint4(m03, m13, m23, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(uint v) { c0 = v; c1 = v; c2 = v; c3 = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(bool v) { c0 = math.select(new uint4(0u), new uint4(1u), v); c1 = math.select(new uint4(0u), new uint4(1u), v); c2 = math.select(new uint4(0u), new uint4(1u), v); c3 = math.select(new uint4(0u), new uint4(1u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(bool4x4 v) { c0 = math.select(new uint4(0u), new uint4(1u), v.c0); c1 = math.select(new uint4(0u), new uint4(1u), v.c1); c2 = math.select(new uint4(0u), new uint4(1u), v.c2); c3 = math.select(new uint4(0u), new uint4(1u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(int v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; c3 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(int4x4 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; c3 = (uint4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(float v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; c3 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(float4x4 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; c3 = (uint4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(double v) { c0 = (uint4)v; c1 = (uint4)v; c2 = (uint4)v; c3 = (uint4)v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public uint4x4(double4x4 v) { c0 = (uint4)v.c0; c1 = (uint4)v.c1; c2 = (uint4)v.c2; c3 = (uint4)v.c3; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator uint4x4(uint v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(bool v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(bool4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(int v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(int4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(float v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(float4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(double v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static explicit operator uint4x4(double4x4 v) { return new uint4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator *(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 * rhs.c0, lhs.c1 * rhs.c1, lhs.c2 * rhs.c2, lhs.c3 * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator *(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 * rhs, lhs.c1 * rhs, lhs.c2 * rhs, lhs.c3 * rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator *(uint lhs, uint4x4 rhs) { return new uint4x4(lhs * rhs.c0, lhs * rhs.c1, lhs * rhs.c2, lhs * rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator +(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 + rhs.c0, lhs.c1 + rhs.c1, lhs.c2 + rhs.c2, lhs.c3 + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator +(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 + rhs, lhs.c1 + rhs, lhs.c2 + rhs, lhs.c3 + rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator +(uint lhs, uint4x4 rhs) { return new uint4x4(lhs + rhs.c0, lhs + rhs.c1, lhs + rhs.c2, lhs + rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator -(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 - rhs.c0, lhs.c1 - rhs.c1, lhs.c2 - rhs.c2, lhs.c3 - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator -(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 - rhs, lhs.c1 - rhs, lhs.c2 - rhs, lhs.c3 - rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator -(uint lhs, uint4x4 rhs) { return new uint4x4(lhs - rhs.c0, lhs - rhs.c1, lhs - rhs.c2, lhs - rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator /(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 / rhs.c0, lhs.c1 / rhs.c1, lhs.c2 / rhs.c2, lhs.c3 / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator /(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 / rhs, lhs.c1 / rhs, lhs.c2 / rhs, lhs.c3 / rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator /(uint lhs, uint4x4 rhs) { return new uint4x4(lhs / rhs.c0, lhs / rhs.c1, lhs / rhs.c2, lhs / rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator %(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 % rhs.c0, lhs.c1 % rhs.c1, lhs.c2 % rhs.c2, lhs.c3 % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator %(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 % rhs, lhs.c1 % rhs, lhs.c2 % rhs, lhs.c3 % rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator %(uint lhs, uint4x4 rhs) { return new uint4x4(lhs % rhs.c0, lhs % rhs.c1, lhs % rhs.c2, lhs % rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator ++(uint4x4 val) { return new uint4x4(++val.c0, ++val.c1, ++val.c2, ++val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator --(uint4x4 val) { return new uint4x4(--val.c0, --val.c1, --val.c2, --val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 < rhs.c0, lhs.c1 < rhs.c1, lhs.c2 < rhs.c2, lhs.c3 < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 < rhs, lhs.c1 < rhs, lhs.c2 < rhs, lhs.c3 < rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <(uint lhs, uint4x4 rhs) { return new bool4x4(lhs < rhs.c0, lhs < rhs.c1, lhs < rhs.c2, lhs < rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 <= rhs.c0, lhs.c1 <= rhs.c1, lhs.c2 <= rhs.c2, lhs.c3 <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 <= rhs, lhs.c1 <= rhs, lhs.c2 <= rhs, lhs.c3 <= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator <=(uint lhs, uint4x4 rhs) { return new bool4x4(lhs <= rhs.c0, lhs <= rhs.c1, lhs <= rhs.c2, lhs <= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 > rhs.c0, lhs.c1 > rhs.c1, lhs.c2 > rhs.c2, lhs.c3 > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 > rhs, lhs.c1 > rhs, lhs.c2 > rhs, lhs.c3 > rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >(uint lhs, uint4x4 rhs) { return new bool4x4(lhs > rhs.c0, lhs > rhs.c1, lhs > rhs.c2, lhs > rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 >= rhs.c0, lhs.c1 >= rhs.c1, lhs.c2 >= rhs.c2, lhs.c3 >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 >= rhs, lhs.c1 >= rhs, lhs.c2 >= rhs, lhs.c3 >= rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator >=(uint lhs, uint4x4 rhs) { return new bool4x4(lhs >= rhs.c0, lhs >= rhs.c1, lhs >= rhs.c2, lhs >= rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator -(uint4x4 val) { return new uint4x4(-val.c0, -val.c1, -val.c2, -val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator +(uint4x4 val) { return new uint4x4(+val.c0, +val.c1, +val.c2, +val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator <<(uint4x4 x, int n) { return new uint4x4(x.c0 << n, x.c1 << n, x.c2 << n, x.c3 << n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator >>(uint4x4 x, int n) { return new uint4x4(x.c0 >> n, x.c1 >> n, x.c2 >> n, x.c3 >> n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 == rhs.c0, lhs.c1 == rhs.c1, lhs.c2 == rhs.c2, lhs.c3 == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 == rhs, lhs.c1 == rhs, lhs.c2 == rhs, lhs.c3 == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator ==(uint lhs, uint4x4 rhs) { return new bool4x4(lhs == rhs.c0, lhs == rhs.c1, lhs == rhs.c2, lhs == rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(uint4x4 lhs, uint4x4 rhs) { return new bool4x4(lhs.c0 != rhs.c0, lhs.c1 != rhs.c1, lhs.c2 != rhs.c2, lhs.c3 != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(uint4x4 lhs, uint rhs) { return new bool4x4(lhs.c0 != rhs, lhs.c1 != rhs, lhs.c2 != rhs, lhs.c3 != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 operator !=(uint lhs, uint4x4 rhs) { return new bool4x4(lhs != rhs.c0, lhs != rhs.c1, lhs != rhs.c2, lhs != rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator ~(uint4x4 val) { return new uint4x4(~val.c0, ~val.c1, ~val.c2, ~val.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator &(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 & rhs.c0, lhs.c1 & rhs.c1, lhs.c2 & rhs.c2, lhs.c3 & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator &(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 & rhs, lhs.c1 & rhs, lhs.c2 & rhs, lhs.c3 & rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator &(uint lhs, uint4x4 rhs) { return new uint4x4(lhs & rhs.c0, lhs & rhs.c1, lhs & rhs.c2, lhs & rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator |(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 | rhs.c0, lhs.c1 | rhs.c1, lhs.c2 | rhs.c2, lhs.c3 | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator |(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 | rhs, lhs.c1 | rhs, lhs.c2 | rhs, lhs.c3 | rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator |(uint lhs, uint4x4 rhs) { return new uint4x4(lhs | rhs.c0, lhs | rhs.c1, lhs | rhs.c2, lhs | rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator ^(uint4x4 lhs, uint4x4 rhs) { return new uint4x4(lhs.c0 ^ rhs.c0, lhs.c1 ^ rhs.c1, lhs.c2 ^ rhs.c2, lhs.c3 ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator ^(uint4x4 lhs, uint rhs) { return new uint4x4(lhs.c0 ^ rhs, lhs.c1 ^ rhs, lhs.c2 ^ rhs, lhs.c3 ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4x4 operator ^(uint lhs, uint4x4 rhs) { return new uint4x4(lhs ^ rhs.c0, lhs ^ rhs.c1, lhs ^ rhs.c2, lhs ^ rhs.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(uint4x4 rhs) { return c0.Equals(rhs.c0) && c1.Equals(rhs.c1) && c2.Equals(rhs.c2) && c3.Equals(rhs.c3); } public override bool Equals(object o) { return o is uint4x4 rhs && Equals(rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"uint4x4({c0.x}, {c1.x}, {c2.x}, {c3.x}, {c0.y}, {c1.y}, {c2.y}, {c3.y}, {c0.z}, {c1.z}, {c2.z}, {c3.z}, {c0.w}, {c1.w}, {c2.w}, {c3.w})"; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public string ToString(string format, IFormatProvider formatProvider) { return $"uint4x4({c0.x.ToString(format, formatProvider)}, {c1.x.ToString(format, formatProvider)}, {c2.x.ToString(format, formatProvider)}, {c3.x.ToString(format, formatProvider)}, {c0.y.ToString(format, formatProvider)}, {c1.y.ToString(format, formatProvider)}, {c2.y.ToString(format, formatProvider)}, {c3.y.ToString(format, formatProvider)}, {c0.z.ToString(format, formatProvider)}, {c1.z.ToString(format, formatProvider)}, {c2.z.ToString(format, formatProvider)}, {c3.z.ToString(format, formatProvider)}, {c0.w.ToString(format, formatProvider)}, {c1.w.ToString(format, formatProvider)}, {c2.w.ToString(format, formatProvider)}, {c3.w.ToString(format, formatProvider)})"; } } } namespace Unity.Mathematics.Geometry { [Serializable] [Il2CppEagerStaticClassConstruction] internal struct MinMaxAABB : IEquatable { public float3 Min; public float3 Max; public float3 Extents => Max - Min; public float3 HalfExtents => (Max - Min) * 0.5f; public float3 Center => (Max + Min) * 0.5f; public bool IsValid => math.all(Min <= Max); public float SurfaceArea { get { float3 x = Max - Min; return 2f * math.dot(x, x.yzx); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public MinMaxAABB(float3 min, float3 max) { Min = min; Max = max; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static MinMaxAABB CreateFromCenterAndExtents(float3 center, float3 extents) { return CreateFromCenterAndHalfExtents(center, extents * 0.5f); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static MinMaxAABB CreateFromCenterAndHalfExtents(float3 center, float3 halfExtents) { return new MinMaxAABB(center - halfExtents, center + halfExtents); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Contains(float3 point) { return math.all((point >= Min) & (point <= Max)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Contains(MinMaxAABB aabb) { return math.all((Min <= aabb.Min) & (Max >= aabb.Max)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Overlaps(MinMaxAABB aabb) { return math.all((Max >= aabb.Min) & (Min <= aabb.Max)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Expand(float signedDistance) { Min -= signedDistance; Max += signedDistance; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Encapsulate(MinMaxAABB aabb) { Min = math.min(Min, aabb.Min); Max = math.max(Max, aabb.Max); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Encapsulate(float3 point) { Min = math.min(Min, point); Max = math.max(Max, point); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(MinMaxAABB other) { return Min.Equals(other.Min) && Max.Equals(other.Max); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"MinMaxAABB({Min}, {Max})"; } } internal static class Math { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static MinMaxAABB Transform(RigidTransform transform, MinMaxAABB aabb) { float3 halfExtents = aabb.HalfExtents; float3 x = math.rotate(transform.rot, new float3(halfExtents.x, 0f, 0f)); float3 x2 = math.rotate(transform.rot, new float3(0f, halfExtents.y, 0f)); float3 x3 = math.rotate(transform.rot, new float3(0f, 0f, halfExtents.z)); float3 @float = math.abs(x) + math.abs(x2) + math.abs(x3); float3 float2 = math.transform(transform, aabb.Center); return new MinMaxAABB(float2 - @float, float2 + @float); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static MinMaxAABB Transform(float4x4 transform, MinMaxAABB aabb) { MinMaxAABB result = Transform(new float3x3(transform), aabb); result.Min += transform.c3.xyz; result.Max += transform.c3.xyz; return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static MinMaxAABB Transform(float3x3 transform, MinMaxAABB aabb) { float3 @float = transform.c0.xyz * aabb.Min.xxx; float3 float2 = transform.c0.xyz * aabb.Max.xxx; bool3 @bool = @float < float2; MinMaxAABB result = new MinMaxAABB(math.select(float2, @float, @bool), math.select(float2, @float, !@bool)); @float = transform.c1.xyz * aabb.Min.yyy; float2 = transform.c1.xyz * aabb.Max.yyy; @bool = @float < float2; result.Min += math.select(float2, @float, @bool); result.Max += math.select(float2, @float, !@bool); @float = transform.c2.xyz * aabb.Min.zzz; float2 = transform.c2.xyz * aabb.Max.zzz; @bool = @float < float2; result.Min += math.select(float2, @float, @bool); result.Max += math.select(float2, @float, !@bool); return result; } } [Serializable] [DebuggerDisplay("{Normal}, {Distance}")] [Il2CppEagerStaticClassConstruction] internal struct Plane { public float4 NormalAndDistance; public float3 Normal { get { return NormalAndDistance.xyz; } set { NormalAndDistance.xyz = value; } } public float Distance { get { return NormalAndDistance.w; } set { NormalAndDistance.w = value; } } public Plane Flipped { get { Plane result = default(Plane); result.NormalAndDistance = -NormalAndDistance; return result; } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public Plane(float coefficientA, float coefficientB, float coefficientC, float coefficientD) { NormalAndDistance = Normalize(new float4(coefficientA, coefficientB, coefficientC, coefficientD)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public Plane(float3 normal, float distance) { NormalAndDistance = Normalize(new float4(normal, distance)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public Plane(float3 normal, float3 pointInPlane) : this(normal, 0f - math.dot(normal, pointInPlane)) { } [MethodImpl(MethodImplOptions.AggressiveInlining)] public Plane(float3 vector1InPlane, float3 vector2InPlane, float3 pointInPlane) : this(math.cross(vector1InPlane, vector2InPlane), pointInPlane) { } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Plane CreateFromUnitNormalAndDistance(float3 unitNormal, float distance) { Plane result = default(Plane); result.NormalAndDistance = new float4(unitNormal, distance); return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Plane CreateFromUnitNormalAndPointInPlane(float3 unitNormal, float3 pointInPlane) { Plane result = default(Plane); result.NormalAndDistance = new float4(unitNormal, 0f - math.dot(unitNormal, pointInPlane)); return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Plane Normalize(Plane plane) { Plane result = default(Plane); result.NormalAndDistance = Normalize(plane.NormalAndDistance); return result; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static float4 Normalize(float4 planeCoefficients) { float num = math.rsqrt(math.lengthsq(planeCoefficients.xyz)); Plane plane = default(Plane); plane.NormalAndDistance = planeCoefficients * num; return plane; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float SignedDistanceToPoint(float3 point) { return math.dot(NormalAndDistance, new float4(point, 1f)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public float3 Projection(float3 point) { return point - Normal * SignedDistanceToPoint(point); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator float4(Plane plane) { return plane.NormalAndDistance; } [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] private void CheckPlaneIsNormalized() { float num = math.lengthsq(Normal.xyz); if (num < 0.99800104f || num > 1.002001f) { throw new ArgumentException("Plane must be normalized. Call Plane.Normalize() to normalize plane."); } } } }