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)); }
public static uint4 hashwide(bool4x3 v) { return(select(uint4(0x9D1B1D9Bu, 0xF842F5C1u, 0xA47EC335u, 0xA477DF57u), uint4(0xC4B1493Fu, 0xBA0966D3u, 0xAFBEE253u, 0x5B419C01u), v.c0) + select(uint4(0x515D90F5u, 0xEC9F68F3u, 0xF9EA92D5u, 0xC2FAFCB9u), uint4(0x616E9CA1u, 0xC5C5394Bu, 0xCAE78587u, 0x7A1541C9u), v.c1) + select(uint4(0xF83BD927u, 0x6A243BCBu, 0x509B84C9u, 0x91D13847u), uint4(0x52F7230Fu, 0xCF286E83u, 0xE121E6ADu, 0xC9CA1249u), v.c2)); }
public static uint hash(bool4x3 v) { return(csum(select(uint4(0xEADF0775u, 0x747A9D7Bu, 0x4111F799u, 0xB5F05AF1u), uint4(0xFD80290Bu, 0x8B65ADB7u, 0xDFF4F563u, 0x7069770Du), v.c0) + select(uint4(0xD1224537u, 0xE99ED6F3u, 0x48125549u, 0xEEE2123Bu), uint4(0xE3AD9FE5u, 0xCE1CF8BFu, 0x7BE39F3Bu, 0xFAB9913Fu), v.c1) + select(uint4(0xB4501269u, 0xE04B89FDu, 0xDB3DE101u, 0x7B6D1B4Bu), uint4(0x58399E77u, 0x5EAC29C9u, 0xFC6014F9u, 0x6BF6693Fu), v.c2))); }
public float4x3(bool4x3 v) { this.c0 = math.select(new float4(sfloat.Zero), new float4(sfloat.One), v.c0); this.c1 = math.select(new float4(sfloat.Zero), new float4(sfloat.One), v.c1); this.c2 = math.select(new float4(sfloat.Zero), new float4(sfloat.One), v.c2); }
public static float4x3 float4x3(bool4x3 v) { return(new float4x3(v)); }
public uint4x3(bool4x3 v) { this.c0 = math.select(new uint4(0u), new uint4(1u), v.c0); this.c1 = math.select(new uint4(0u), new uint4(1u), v.c1); this.c2 = math.select(new uint4(0u), new uint4(1u), v.c2); }
public static uint4x3 uint4x3(bool4x3 v) { return(new uint4x3(v)); }
public int4x3(bool4x3 v) { this.c0 = math.select(new int4(0), new int4(1), v.c0); this.c1 = math.select(new int4(0), new int4(1), v.c1); this.c2 = math.select(new int4(0), new int4(1), v.c2); }
public static int4x3 int4x3(bool4x3 v) { return(new int4x3(v)); }