Пример #1
0
 public static int3x3 transpose(int3x3 v)
 {
     return(int3x3(
                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));
 }
Пример #2
0
        public static int determinant(int3x3 m)
        {
            int3 c0 = m.c0;
            int3 c1 = m.c1;
            int3 c2 = m.c2;

            int m00 = c1.y * c2.z - c1.z * c2.y;
            int m01 = c0.y * c2.z - c0.z * c2.y;
            int m02 = c0.y * c1.z - c0.z * c1.y;

            return(c0.x * m00 - c1.x * m01 + c2.x * m02);
        }
Пример #3
0
 public static uint3x3 uint3x3(int3x3 v)
 {
     return(new uint3x3(v));
 }
Пример #4
0
 public uint3x3(int3x3 v)
 {
     this.c0 = (uint3)v.c0;
     this.c1 = (uint3)v.c1;
     this.c2 = (uint3)v.c2;
 }
Пример #5
0
 public static fix64p3x3 fix64p3x3(int3x3 v)
 {
     return(new fix64p3x3(v));
 }
Пример #6
0
 public static uint3 hashwide(int3x3 v)
 {
     return((asuint(v.c0) * uint3(0xAD7C5EC1u, 0x822A7D6Du, 0xB492BF15u) +
             asuint(v.c1) * uint3(0xD37220E3u, 0x7AA2C2BDu, 0xE16BC89Du) +
             asuint(v.c2) * uint3(0x7AA07CD3u, 0xAF642BA9u, 0xA8F2213Bu)) + 0x9F3FDC37u);
 }
Пример #7
0
 public double3x3(int3x3 v)
 {
     this.c0 = v.c0;
     this.c1 = v.c1;
     this.c2 = v.c2;
 }
 public static float3x3 float3x3(int3x3 v)
 {
     return(new float3x3(v));
 }
Пример #9
0
 public static uint3 hashwide(int3x3 v)
 {
     return((asuint(v.c0) * uint3(0x83B58237u, 0x833E3E29u, 0xA9D919BFu) +
             asuint(v.c1) * uint3(0xC3EC1D97u, 0xB8B208C7u, 0x5D3ED947u) +
             asuint(v.c2) * uint3(0x4473BBB1u, 0xCBA11D5Fu, 0x685835CFu)) + 0xC3D32AE1u);
 }
Пример #10
0
 public static double3x3 double3x3(int3x3 v)
 {
     return(new double3x3(v));
 }
Пример #11
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0x91475DF7u, 0x55E84827u, 0x90A285BBu) +
                 asuint(v.c1) * uint3(0x5D19E1D5u, 0xFAAF07DDu, 0x625C45BDu) +
                 asuint(v.c2) * uint3(0xC9F27FCBu, 0x6D2523B1u, 0x6E2BF6A9u)) + 0xCC74B3B7u);
 }
Пример #12
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0x713BD06Fu, 0x753AD6ADu, 0xD19764C7u) +
                 asuint(v.c1) * uint3(0xB5D0BF63u, 0xF9102C5Fu, 0x9881FB9Fu) +
                 asuint(v.c2) * uint3(0x56A1530Du, 0x804B722Du, 0x738E50E5u)) + 0x4FC93C25u);
 }
Пример #13
0
 public fix64p3x3(int3x3 v)
 {
     this.c0 = (fix64p3)v.c0;
     this.c1 = (fix64p3)v.c1;
     this.c2 = (fix64p3)v.c2;
 }
Пример #14
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0x7AA2C2BDu, 0xE16BC89Du, 0x7AA07CD3u) +
                 asuint(v.c1) * uint3(0xAF642BA9u, 0xA8F2213Bu, 0x9F3FDC37u) +
                 asuint(v.c2) * uint3(0xAC60D0C3u, 0x9263662Fu, 0xE69626FFu)) + 0xBD010EEBu);
 }
Пример #15
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0xB36DE767u, 0x6FCA387Du, 0xAF0F3103u) +
                 asuint(v.c1) * uint3(0xE4A056C7u, 0x841D8225u, 0xC9393C7Du) +
                 asuint(v.c2) * uint3(0xD42EAFA3u, 0xD9AFD06Du, 0x97A65421u)) + 0x7809205Fu);
 }
Пример #16
0
 public static uint3 hash_wide(int3x3 v)
 {
     return((asuint(v.c0) * uint3(0x9CEDE1D1u, 0x43BE0B51u, 0xAF836EE1u) +
             asuint(v.c1) * uint3(0xB130C137u, 0x54834775u, 0x7C022221u) +
             asuint(v.c2) * uint3(0xA2D00EDFu, 0xA8977779u, 0x9F1C739Bu)) + 0x4B1BD187u);
 }
Пример #17
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0x93C30C2Bu, 0xDCAF0351u, 0x6E050B01u) +
                 asuint(v.c1) * uint3(0x750FDBF5u, 0x7F3DD499u, 0x52EAAEBBu) +
                 asuint(v.c2) * uint3(0x4599C793u, 0x83B5E729u, 0xC267163Fu)) + 0x67BC9149u);
 }
 public float3x3(int3x3 v)
 {
     this.c0 = v.c0;
     this.c1 = v.c1;
     this.c2 = v.c2;
 }
Пример #19
0
 public static uint hash(int3x3 v)
 {
     return(csum(asuint(v.c0) * uint3(0xCE1CF8BFu, 0x7BE39F3Bu, 0xFAB9913Fu) +
                 asuint(v.c1) * uint3(0xB4501269u, 0xE04B89FDu, 0xDB3DE101u) +
                 asuint(v.c2) * uint3(0x7B6D1B4Bu, 0x58399E77u, 0x5EAC29C9u)) + 0xFC6014F9u);
 }