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)); }
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); }
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); }