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)); }
public int2x3(bool2x3 v) { this.c0 = math.select(new int2(0), new int2(1), v.c0); this.c1 = math.select(new int2(0), new int2(1), v.c1); this.c2 = math.select(new int2(0), new int2(1), v.c2); }
public static int2x3 int2x3(bool2x3 v) { return(new int2x3(v)); }
public uint2x3(bool2x3 v) { this.c0 = math.select(new uint2(0u), new uint2(1u), v.c0); this.c1 = math.select(new uint2(0u), new uint2(1u), v.c1); this.c2 = math.select(new uint2(0u), new uint2(1u), v.c2); }
public static uint2x3 uint2x3(bool2x3 v) { return(new uint2x3(v)); }
public static uint2 hashwide(bool2x3 v) { return(select(uint2(0xA47EC335u, 0xA477DF57u), uint2(0xC4B1493Fu, 0xBA0966D3u), v.c0) + select(uint2(0xAFBEE253u, 0x5B419C01u), uint2(0x515D90F5u, 0xEC9F68F3u), v.c1) + select(uint2(0xF9EA92D5u, 0xC2FAFCB9u), uint2(0x616E9CA1u, 0xC5C5394Bu), v.c2)); }
public static uint hash(bool2x3 v) { return(csum(select(uint2(0x7BE39F3Bu, 0xFAB9913Fu), uint2(0xB4501269u, 0xE04B89FDu), v.c0) + select(uint2(0xDB3DE101u, 0x7B6D1B4Bu), uint2(0x58399E77u, 0x5EAC29C9u), v.c1) + select(uint2(0xFC6014F9u, 0x6BF6693Fu), uint2(0x9D1B1D9Bu, 0xF842F5C1u), v.c2))); }
public float2x3(bool2x3 v) { this.c0 = math.select(new float2(sfloat.Zero), new float2(sfloat.One), v.c0); this.c1 = math.select(new float2(sfloat.Zero), new float2(sfloat.One), v.c1); this.c2 = math.select(new float2(sfloat.Zero), new float2(sfloat.One), v.c2); }
public static float2x3 float2x3(bool2x3 v) { return new float2x3(v); }