예제 #1
0
 public static uint hash(bool3x4 v)
 {
     return(csum(select(uint3(0x83B58237u, 0x833E3E29u, 0xA9D919BFu), uint3(0xC3EC1D97u, 0xB8B208C7u, 0x5D3ED947u), v.c0) +
                 select(uint3(0x4473BBB1u, 0xCBA11D5Fu, 0x685835CFu), uint3(0xC3D32AE1u, 0xB966942Fu, 0xFE9856B3u), v.c1) +
                 select(uint3(0xFA3A3285u, 0xAD55999Du, 0xDCDD5341u), uint3(0x94DDD769u, 0xA1E92D39u, 0x4583C801u), v.c2) +
                 select(uint3(0x9536A0F5u, 0xAF816615u, 0x9AF8D62Du), uint3(0xE3600729u, 0x5F17300Du, 0x670D6809u), v.c3)));
 }
예제 #2
0
 public static uint3 hashwide(bool3x4 v)
 {
     return(select(uint3(0x7AF32C49u, 0xAE131389u, 0x5D1B165Bu), uint3(0x87096CD7u, 0x4C7F6DD1u, 0x4822A3E9u), v.c0) +
            select(uint3(0xAAC3C25Du, 0xD21D0945u, 0x88FCAB2Du), uint3(0x614DA60Du, 0x5BA2C50Bu, 0x8C455ACBu), v.c1) +
            select(uint3(0xCD266C89u, 0xF1852A33u, 0x77E35E77u), uint3(0x863E3729u, 0xE191B035u, 0x68586FAFu), v.c2) +
            select(uint3(0xD4DFF6D3u, 0xCB634F4Du, 0x9B13B92Du), uint3(0x4ABF0813u, 0x86068063u, 0xD75513F9u), v.c3));
 }
예제 #3
0
 public float3x4(bool3x4 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);
     this.c3 = math.select(new float3(sfloat.Zero), new float3(sfloat.One), v.c3);
 }
예제 #4
0
 public uint3x4(bool3x4 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);
     this.c3 = math.select(new uint3(0u), new uint3(1u), v.c3);
 }
예제 #5
0
 public int3x4(bool3x4 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);
     this.c3 = math.select(new int3(0), new int3(1), v.c3);
 }
예제 #6
0
 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));
 }
예제 #7
0
 public static float3x4 float3x4(bool3x4 v)
 {
     return(new float3x4(v));
 }
예제 #8
0
 public static uint3x4 uint3x4(bool3x4 v)
 {
     return(new uint3x4(v));
 }
예제 #9
0
 public static int3x4 int3x4(bool3x4 v)
 {
     return(new int3x4(v));
 }