public double4x4(uint4x4 v) { this.c0 = v.c0; this.c1 = v.c1; this.c2 = v.c2; this.c3 = v.c3; }
public static uint hash(uint4x4 v) { return(csum(v.c0 * uint4(0x9C9F0823u, 0x5A9CA13Bu, 0xAFCDD5EFu, 0xA88D187Du) + v.c1 * uint4(0xCF6EBA1Du, 0x9D88E5A1u, 0xEADF0775u, 0x747A9D7Bu) + v.c2 * uint4(0x4111F799u, 0xB5F05AF1u, 0xFD80290Bu, 0x8B65ADB7u) + v.c3 * uint4(0xDFF4F563u, 0x7069770Du, 0xD1224537u, 0xE99ED6F3u)) + 0x48125549u); }
public static uint4 hashwide(uint4x4 v) { return((v.c0 * uint4(0xEEE2123Bu, 0xE3AD9FE5u, 0xCE1CF8BFu, 0x7BE39F3Bu) + v.c1 * uint4(0xFAB9913Fu, 0xB4501269u, 0xE04B89FDu, 0xDB3DE101u) + v.c2 * uint4(0x7B6D1B4Bu, 0x58399E77u, 0x5EAC29C9u, 0xFC6014F9u) + v.c3 * uint4(0x6BF6693Fu, 0x9D1B1D9Bu, 0xF842F5C1u, 0xA47EC335u)) + 0xA477DF57u); }
public int4x4(uint4x4 v) { this.c0 = (int4)v.c0; this.c1 = (int4)v.c1; this.c2 = (int4)v.c2; this.c3 = (int4)v.c3; }
public float4x4(uint4x4 v) { this.c0 = v.c0; this.c1 = v.c1; this.c2 = v.c2; this.c3 = v.c3; }
public static uint4x4 transpose(uint4x4 v) { return(uint4x4( v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w)); }
public static double4x4 double4x4(uint4x4 v) { return(new double4x4(v)); }
public static int4x4 int4x4(uint4x4 v) { return(new int4x4(v)); }
public static float4x4 float4x4(uint4x4 v) { return(new float4x4(v)); }