Esempio n. 1
0
        public static double determinant(double2x2 m)
        {
            double a = m.c0.x;
            double b = m.c1.x;
            double c = m.c0.y;
            double d = m.c1.y;

            return(a * d - b * c);
        }
Esempio n. 2
0
        public static double2x2 inverse(double2x2 m)
        {
            double a = m.c0.x;
            double b = m.c1.x;
            double c = m.c0.y;
            double d = m.c1.y;

            double det = a * d - b * c;

            return(double2x2(d, -b, -c, a) * (1.0 / det));
        }
Esempio n. 3
0
 public static uint2x2 uint2x2(double2x2 v)
 {
     return(new uint2x2(v));
 }
Esempio n. 4
0
 public uint2x2(double2x2 v)
 {
     this.c0 = (uint2)v.c0;
     this.c1 = (uint2)v.c1;
 }
Esempio n. 5
0
 public static int2x2 int2x2(double2x2 v)
 {
     return(new int2x2(v));
 }
Esempio n. 6
0
 public static uint2 hashwide(double2x2 v)
 {
     return((fold_to_uint(v.c0) * uint2(0xE99ED6F3u, 0x48125549u) +
             fold_to_uint(v.c1) * uint2(0xEEE2123Bu, 0xE3AD9FE5u)) + 0xCE1CF8BFu);
 }
Esempio n. 7
0
 public static uint hash(double2x2 v)
 {
     return(csum(fold_to_uint(v.c0) * uint2(0xFD80290Bu, 0x8B65ADB7u) +
                 fold_to_uint(v.c1) * uint2(0xDFF4F563u, 0x7069770Du)) + 0xD1224537u);
 }
Esempio n. 8
0
 public static double2x2 transpose(double2x2 v)
 {
     return(double2x2(
                v.c0.x, v.c0.y,
                v.c1.x, v.c1.y));
 }
Esempio n. 9
0
 public static float2x2 float2x2(double2x2 v)
 {
     return(new float2x2(v));
 }
Esempio n. 10
0
 public float2x2(double2x2 v)
 {
     this.c0 = (float2)v.c0;
     this.c1 = (float2)v.c1;
 }