Beispiel #1
0
 public static fix64p3x3 transpose(fix64p3x3 v)
 {
     return(fix64p3x3(
                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 static uint3 hashwide(fix64p3x3 v)
 {
     return((fold_to_uint(v.c0) * uint3(0x7BE39F3Bu, 0xFAB9913Fu, 0xB4501269u) +
             fold_to_uint(v.c1) * uint3(0xE04B89FDu, 0xDB3DE101u, 0x7B6D1B4Bu) +
             fold_to_uint(v.c2) * uint3(0x58399E77u, 0x5EAC29C9u, 0xFC6014F9u)) + 0x6BF6693Fu);
 }
Beispiel #3
0
 public static uint hash(fix64p3x3 v)
 {
     return(csum(fold_to_uint(v.c0) * uint3(0xFD80290Bu, 0x8B65ADB7u, 0xDFF4F563u) +
                 fold_to_uint(v.c1) * uint3(0x7069770Du, 0xD1224537u, 0xE99ED6F3u) +
                 fold_to_uint(v.c2) * uint3(0x48125549u, 0xEEE2123Bu, 0xE3AD9FE5u)) + 0xCE1CF8BFu);
 }