public fp2x4(fp2 c0, fp2 c1, fp2 c2, fp2 c3) { this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; }
public static fp3 mul(fp2 a, fp2x3 b) { return(fp3( a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y)); }
public fp2x4(fp v) { this.c0 = v; this.c1 = v; this.c2 = v; this.c3 = v; }
public fp2x4(uint v) { this.c0 = (fp2)v; this.c1 = (fp2)v; this.c2 = (fp2)v; this.c3 = (fp2)v; }
public fp2x4(uint2x4 v) { this.c0 = (fp2)v.c0; this.c1 = (fp2)v.c1; this.c2 = (fp2)v.c2; this.c3 = (fp2)v.c3; }
public static fp3 shuffle(fp2 a, fp2 b, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return(fp3( select_shuffle_component(a, b, x), select_shuffle_component(a, b, y), select_shuffle_component(a, b, z))); }
public fp2x3(fp m00, fp m01, fp m02, fp m10, fp m11, fp m12) { this.c0 = new fp2(m00, m10); this.c1 = new fp2(m01, m11); this.c2 = new fp2(m02, m12); }
public static fp4 mul(fp2 a, fp2x4 b) { return(fp4( a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y, a.x * b.c2.x + a.y * b.c2.y, a.x * b.c3.x + a.y * b.c3.y)); }
public static fp4 shuffle(fp2 a, fp2 b, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return(fp4( select_shuffle_component(a, b, x), select_shuffle_component(a, b, y), select_shuffle_component(a, b, z), select_shuffle_component(a, b, w))); }
public fp2x4(fp m00, fp m01, fp m02, fp m03, fp m10, fp m11, fp m12, fp m13) { this.c0 = new fp2(m00, m10); this.c1 = new fp2(m01, m11); this.c2 = new fp2(m02, m12); this.c3 = new fp2(m03, m13); }
internal static fp select_shuffle_component(fp2 a, fp2 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 fp2x2(uint2x2 v) { this.c0 = (fp2)v.c0; this.c1 = (fp2)v.c1; }
public DebuggerProxy(fp2 v) { x = v.x; y = v.y; }
public static fp2x4 fp2x4(fp2 c0, fp2 c1, fp2 c2, fp2 c3) { return(new fp2x4(c0, c1, c2, c3)); }
public static fp2 fp2(fp2 xy) { return(new fp2(xy)); }
public static fp2 shuffle(fp2 a, fp2 b, ShuffleComponent x, ShuffleComponent y) { return(fp2( select_shuffle_component(a, b, x), select_shuffle_component(a, b, y))); }
public static fp2 mul(fp2 a, fp2x2 b) { return(fp2( a.x * b.c0.x + a.y * b.c0.y, a.x * b.c1.x + a.y * b.c1.y)); }
public fp2x3(fp v) { this.c0 = v; this.c1 = v; this.c2 = v; }
public fp2x2(fp v) { this.c0 = v; this.c1 = v; }
public static uint hash(fp2 v) { return(math.csum(fpmath.asuint(v) * uint2(0x6E624EB7u, 0x7383ED49u)) + 0xDD49C23Bu); }
public fp2x3(fp2 c0, fp2 c1, fp2 c2) { this.c0 = c0; this.c1 = c1; this.c2 = c2; }
public static uint2 hashwide(fp2 v) { return((fpmath.asuint(v) * uint2(0xEBD0D005u, 0x91475DF7u)) + 0x55E84827u); }
public fp2x2(uint v) { this.c0 = (fp2)v; this.c1 = (fp2)v; }
public fp2x3(int v) { this.c0 = (fp2)v; this.c1 = (fp2)v; this.c2 = (fp2)v; }
public static fp mul(fp2 a, fp2 b) { return(a.x * b.x + a.y * b.y); }
public fp2x3(uint2x3 v) { this.c0 = (fp2)v.c0; this.c1 = (fp2)v.c1; this.c2 = (fp2)v.c2; }
public static fp4 mul(fp4x2 a, fp2 b) { return(a.c0 * b.x + a.c1 * b.y); }
public static fp shuffle(fp2 a, fp2 b, ShuffleComponent x) { return(select_shuffle_component(a, b, x)); }
public static fp2x3 fp2x3(fp2 c0, fp2 c1, fp2 c2) { return(new fp2x3(c0, c1, c2)); }
public static fp2x2 fp2x2(fp2 c0, fp2 c1) { return(new fp2x2(c0, c1)); }