Beispiel #1
0
 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));
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 public static int3x3 int3x3(bool3x3 v)
 {
     return(new int3x3(v));
 }
 public static uint hash(bool3x3 v)
 {
     return(csum(select(uint3(0xFA3A3285u, 0xAD55999Du, 0xDCDD5341u), uint3(0x94DDD769u, 0xA1E92D39u, 0x4583C801u), v.c0) +
                 select(uint3(0x9536A0F5u, 0xAF816615u, 0x9AF8D62Du), uint3(0xE3600729u, 0x5F17300Du, 0x670D6809u), v.c1) +
                 select(uint3(0x7AF32C49u, 0xAE131389u, 0x5D1B165Bu), uint3(0x87096CD7u, 0x4C7F6DD1u, 0x4822A3E9u), v.c2)));
 }
Beispiel #5
0
 public static uint hash(bool3x3 v)
 {
     return(csum(select(uint3(0x9BC17CE7u, 0xC8B86851u, 0x64095221u), uint3(0xADF428FFu, 0xA3977109u, 0x745ED837u), v.c0) +
                 select(uint3(0x9CDC88F5u, 0xFA62D721u, 0x7E4DB1CFu), uint3(0x68EEE0F5u, 0xBC3B0A59u, 0x816EFB5Du), v.c1) +
                 select(uint3(0xA24E82B7u, 0x45A22087u, 0xFC104C3Bu), uint3(0x5FFF6B19u, 0x5E6CBF3Bu, 0xB546F2A5u), v.c2)));
 }
Beispiel #6
0
 public double3x3(bool3x3 v)
 {
     this.c0 = math.select(new double3(0.0), new double3(1.0), v.c0);
     this.c1 = math.select(new double3(0.0), new double3(1.0), v.c1);
     this.c2 = math.select(new double3(0.0), new double3(1.0), v.c2);
 }
Beispiel #7
0
 public fix64p3x3(bool3x3 v)
 {
     this.c0 = math.select(new fix64p3(fix64p.zero), new fix64p3(fix64p.One), v.c0);
     this.c1 = math.select(new fix64p3(fix64p.zero), new fix64p3(fix64p.One), v.c1);
     this.c2 = math.select(new fix64p3(fix64p.zero), new fix64p3(fix64p.One), v.c2);
 }
Beispiel #8
0
 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)));
 }
Beispiel #9
0
 public static uint3x3 uint3x3(bool3x3 v)
 {
     return(new uint3x3(v));
 }
Beispiel #10
0
 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 uint3 hash_wide(bool3x3 v)
 {
     return(select(uint3(0x9D77A59Bu, 0x4942CA39u, 0xB40EC62Du), uint3(0x565ED63Fu, 0x93C30C2Bu, 0xDCAF0351u), v.c0) +
            select(uint3(0x6E050B01u, 0x750FDBF5u, 0x7F3DD499u), uint3(0x52EAAEBBu, 0x4599C793u, 0x83B5E729u), v.c1) +
            select(uint3(0xC267163Fu, 0x67BC9149u, 0xAD7C5EC1u), uint3(0x822A7D6Du, 0xB492BF15u, 0xD37220E3u), v.c2));
 }
 public static uint hash(bool3x3 v)
 {
     return(csum(select(uint3(0xFA62D721u, 0x7E4DB1CFu, 0x68EEE0F5u), uint3(0xBC3B0A59u, 0x816EFB5Du, 0xA24E82B7u), v.c0) +
                 select(uint3(0x45A22087u, 0xFC104C3Bu, 0x5FFF6B19u), uint3(0x5E6CBF3Bu, 0xB546F2A5u, 0xBBCF63E7u), v.c1) +
                 select(uint3(0xC53F4755u, 0x6985C229u, 0xE133B0B3u), uint3(0xC3E0A3B9u, 0xFE31134Fu, 0x712A34D7u), v.c2)));
 }
Beispiel #13
0
 public static uint hash(bool3x3 v)
 {
     return(csum(select(uint3(0xE69626FFu, 0xBD010EEBu, 0x9CEDE1D1u), uint3(0x43BE0B51u, 0xAF836EE1u, 0xB130C137u), v.c0) +
                 select(uint3(0x54834775u, 0x7C022221u, 0xA2D00EDFu), uint3(0xA8977779u, 0x9F1C739Bu, 0x4B1BD187u), v.c1) +
                 select(uint3(0x9DF50593u, 0xF18EEB85u, 0x9E19BFC3u), uint3(0x8196B06Fu, 0xD24EFA19u, 0x7D8048BBu), v.c2)));
 }
Beispiel #14
0
 public static uint3 hashwide(bool3x3 v)
 {
     return(select(uint3(0xD35C9B2Du, 0xA10D9E27u, 0x568DAAA9u), uint3(0x7530254Fu, 0x9F090439u, 0x5E9F85C9u), v.c0) +
            select(uint3(0x8C4CA03Fu, 0xB8D969EDu, 0xAC5DB57Bu), uint3(0xA91A02EDu, 0xB3C49313u, 0xF43A9ABBu), v.c1) +
            select(uint3(0x84E7E01Bu, 0x8E055BE5u, 0x6E624EB7u), uint3(0x7383ED49u, 0xDD49C23Bu, 0xEBD0D005u), v.c2));
 }
Beispiel #15
0
 public static uint hash(bool3x3 v)
 {
     return(csum(select(uint3(0x9DF50593u, 0xF18EEB85u, 0x9E19BFC3u), uint3(0x8196B06Fu, 0xD24EFA19u, 0x7D8048BBu), v.c0) +
                 select(uint3(0x713BD06Fu, 0x753AD6ADu, 0xD19764C7u), uint3(0xB5D0BF63u, 0xF9102C5Fu, 0x9881FB9Fu), v.c1) +
                 select(uint3(0x56A1530Du, 0x804B722Du, 0x738E50E5u), uint3(0x4FC93C25u, 0xCD0445A5u, 0xD2B90D9Bu), v.c2)));
 }
 public static float3x3 float3x3(bool3x3 v)
 {
     return(new float3x3(v));
 }
 public float3x3(bool3x3 v)
 {
     this.c0 = math.select(new float3(0.0f), new float3(1.0f), v.c0);
     this.c1 = math.select(new float3(0.0f), new float3(1.0f), v.c1);
     this.c2 = math.select(new float3(0.0f), new float3(1.0f), v.c2);
 }
Beispiel #18
0
 public static double3x3 double3x3(bool3x3 v)
 {
     return(new double3x3(v));
 }
Beispiel #19
0
 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));
 }
Beispiel #20
0
 public static fix64p3x3 fix64p3x3(bool3x3 v)
 {
     return(new fix64p3x3(v));
 }