public static uint2 hashwide(double2x4 v) { return((fold_to_uint(v.c0) * uint2(0xCC74B3B7u, 0x83B58237u) + fold_to_uint(v.c1) * uint2(0x833E3E29u, 0xA9D919BFu) + fold_to_uint(v.c2) * uint2(0xC3EC1D97u, 0xB8B208C7u) + fold_to_uint(v.c3) * uint2(0x5D3ED947u, 0x4473BBB1u)) + 0xCBA11D5Fu); }
public static uint hash(double2x4 v) { return(csum(fold_to_uint(v.c0) * uint2(0x91475DF7u, 0x55E84827u) + fold_to_uint(v.c1) * uint2(0x90A285BBu, 0x5D19E1D5u) + fold_to_uint(v.c2) * uint2(0xFAAF07DDu, 0x625C45BDu) + fold_to_uint(v.c3) * uint2(0xC9F27FCBu, 0x6D2523B1u)) + 0x6E2BF6A9u); }
public float2x4(double2x4 v) { this.c0 = (float2)v.c0; this.c1 = (float2)v.c1; this.c2 = (float2)v.c2; this.c3 = (float2)v.c3; }
public static double4x2 transpose(double2x4 v) { return(double4x2( v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y)); }
public static int2x4 int2x4(double2x4 v) { return(new int2x4(v)); }
public static uint2x4 uint2x4(double2x4 v) { return(new uint2x4(v)); }
public static float2x4 float2x4(double2x4 v) { return(new float2x4(v)); }