public fix64p2x4(fix64p v) { this.c0 = v; this.c1 = v; this.c2 = v; this.c3 = v; }
public fix64p2x4(int2x4 v) { this.c0 = (fix64p2)v.c0; this.c1 = (fix64p2)v.c1; this.c2 = (fix64p2)v.c2; this.c3 = (fix64p2)v.c3; }
public fix64p2x4(bool2x4 v) { this.c0 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c0); this.c1 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c1); this.c2 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c2); this.c3 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c3); }
public fix64p2x4(float v) { this.c0 = (fix64p2)v; this.c1 = (fix64p2)v; this.c2 = (fix64p2)v; this.c3 = (fix64p2)v; }
public fix64p2x4(fix64p2 c0, fix64p2 c1, fix64p2 c2, fix64p2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; }
public fix64p2x3(fix64p m00, fix64p m01, fix64p m02, fix64p m10, fix64p m11, fix64p m12) { this.c0 = new fix64p2(m00, m10); this.c1 = new fix64p2(m01, m11); this.c2 = new fix64p2(m02, m12); }
public static fix64p3 shuffle(fix64p2 a, fix64p2 b, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return(fix64p3( select_shuffle_component(a, b, x), select_shuffle_component(a, b, y), select_shuffle_component(a, b, z))); }
public fix64p2x4(fix64p m00, fix64p m01, fix64p m02, fix64p m03, fix64p m10, fix64p m11, fix64p m12, fix64p m13) { this.c0 = new fix64p2(m00, m10); this.c1 = new fix64p2(m01, m11); this.c2 = new fix64p2(m02, m12); this.c3 = new fix64p2(m03, m13); }
internal static fix64p select_shuffle_component(fix64p2 a, fix64p2 b, ShuffleComponent component) { switch (component) { case ShuffleComponent.LeftX: return(a.x); case ShuffleComponent.LeftY: return(a.y); case ShuffleComponent.RightX: return(b.x); case ShuffleComponent.RightY: return(b.y); default: throw new System.ArgumentException("Invalid shuffle component: " + component); } }
public fix64p2x2(int v) { this.c0 = (fix64p2)v; this.c1 = (fix64p2)v; }
public fix64p2x2(bool2x2 v) { this.c0 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c0); this.c1 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c1); }
public static fix64p2x2 fix64p2x2(fix64p2 c0, fix64p2 c1) { return(new fix64p2x2(c0, c1)); }
public fix64p2x2(fix64p v) { this.c0 = v; this.c1 = v; }
public static fix64p2 fix64p2(fix64p2 xy) { return(new fix64p2(xy)); }
public static fix64p2 shuffle(fix64p2 a, fix64p2 b, ShuffleComponent x, ShuffleComponent y) { return(fix64p2( select_shuffle_component(a, b, x), select_shuffle_component(a, b, y))); }
public fix64p2x3(bool v) { this.c0 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v); this.c1 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v); this.c2 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v); }
public static fix64p2x3 fix64p2x3(fix64p2 c0, fix64p2 c1, fix64p2 c2) { return(new fix64p2x3(c0, c1, c2)); }
public fix64p2x3(fix64p v) { this.c0 = v; this.c1 = v; this.c2 = v; }
public fix64p2x3(fix64p2 c0, fix64p2 c1, fix64p2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; }
public fix64p2x2(float v) { this.c0 = (fix64p2)v; this.c1 = (fix64p2)v; }
public fix64p2x2(float2x2 v) { this.c0 = (fix64p2)v.c0; this.c1 = (fix64p2)v.c1; }
public static fix64p2x4 fix64p2x4(fix64p2 c0, fix64p2 c1, fix64p2 c2, fix64p2 c3) { return(new fix64p2x4(c0, c1, c2, c3)); }
public static uint2 hashwide(fix64p2 v) { return((fold_to_uint(v) * uint2(0x87096CD7u, 0x4C7F6DD1u)) + 0x4822A3E9u); }
public static fix64p shuffle(fix64p2 a, fix64p2 b, ShuffleComponent x) { return(select_shuffle_component(a, b, x)); }
public fix64p2x3(int2x3 v) { this.c0 = (fix64p2)v.c0; this.c1 = (fix64p2)v.c1; this.c2 = (fix64p2)v.c2; }
public static uint hash(fix64p2 v) { return(csum(fold_to_uint(v) * uint2(0x7AF32C49u, 0xAE131389u)) + 0x5D1B165Bu); }
public fix64p2x2(fix64p2 c0, fix64p2 c1) { this.c0 = c0; this.c1 = c1; }
public fix64p2x2(fix64p m00, fix64p m01, fix64p m10, fix64p m11) { this.c0 = new fix64p2(m00, m10); this.c1 = new fix64p2(m01, m11); }
internal static uint2 fold_to_uint(fix64p2 x) { return(uint2(fold_to_uint(x.x), fold_to_uint(x.y))); }
public DebuggerProxy(fix64p2 v) { x = v.x; y = v.y; }