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)); }
public uint3x3(bool3x3 v) { this.c0 = math.select(new uint3(0u), new uint3(1u), v.c0); this.c1 = math.select(new uint3(0u), new uint3(1u), v.c1); this.c2 = math.select(new uint3(0u), new uint3(1u), v.c2); }
public static uint3x3 uint3x3(bool3x3 v) { return(new uint3x3(v)); }
public int3x3(bool3x3 v) { this.c0 = math.select(new int3(0), new int3(1), v.c0); this.c1 = math.select(new int3(0), new int3(1), v.c1); this.c2 = math.select(new int3(0), new int3(1), v.c2); }
public static int3x3 int3x3(bool3x3 v) { return(new int3x3(v)); }
public float3x3(bool3x3 v) { this.c0 = math.select(new float3(sfloat.Zero), new float3(sfloat.One), v.c0); this.c1 = math.select(new float3(sfloat.Zero), new float3(sfloat.One), v.c1); this.c2 = math.select(new float3(sfloat.Zero), new float3(sfloat.One), v.c2); }
public static float3x3 float3x3(bool3x3 v) { return(new float3x3(v)); }
public static uint3 hashwide(bool3x3 v) { return(select(uint3(0x816EFB5Du, 0xA24E82B7u, 0x45A22087u), uint3(0xFC104C3Bu, 0x5FFF6B19u, 0x5E6CBF3Bu), v.c0) + select(uint3(0xB546F2A5u, 0xBBCF63E7u, 0xC53F4755u), uint3(0x6985C229u, 0xE133B0B3u, 0xC3E0A3B9u), v.c1) + select(uint3(0xFE31134Fu, 0x712A34D7u, 0x9D77A59Bu), uint3(0x4942CA39u, 0xB40EC62Du, 0x565ED63Fu), v.c2)); }
public static uint hash(bool3x3 v) { return(csum(select(uint3(0xE7579997u, 0xEF7D56C7u, 0x66F38F0Bu), uint3(0x624256A3u, 0x5292ADE1u, 0xD2E590E5u), v.c0) + select(uint3(0xF25BE857u, 0x9BC17CE7u, 0xC8B86851u), uint3(0x64095221u, 0xADF428FFu, 0xA3977109u), v.c1) + select(uint3(0x745ED837u, 0x9CDC88F5u, 0xFA62D721u), uint3(0x7E4DB1CFu, 0x68EEE0F5u, 0xBC3B0A59u), v.c2))); }