public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y) { LongArray longArray = this.x; LongArray longArray2 = ((F2mFieldElement)x).x; LongArray other = ((F2mFieldElement)y).x; LongArray longArray3 = longArray.Square(this.m, this.ks); LongArray other2 = longArray2.Multiply(other, this.m, this.ks); if (longArray3 == longArray) { longArray3 = longArray3.Copy(); } longArray3.AddShiftedByWords(other2, 0); longArray3.Reduce(this.m, this.ks); return(new F2mFieldElement(this.m, this.ks, longArray3)); }
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y) { LongArray array = this.x; LongArray array2 = ((F2mFieldElement)x).x; LongArray other = ((F2mFieldElement)y).x; LongArray array4 = array.Square(this.m, this.ks); LongArray array5 = array2.Multiply(other, this.m, this.ks); if (array4 == array) { array4 = array4.Copy(); } array4.AddShiftedByWords(array5, 0); array4.Reduce(this.m, this.ks); return(new F2mFieldElement(this.m, this.ks, array4)); }
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y) { LongArray ax = this.x, xx = ((F2mFieldElement)x).x, yx = ((F2mFieldElement)y).x; LongArray aa = ax.Square(m, ks); LongArray xy = xx.Multiply(yx, m, ks); if (aa == ax) { aa = (LongArray)aa.Copy(); } aa.AddShiftedByWords(xy, 0); aa.Reduce(m, ks); return(new F2mFieldElement(m, ks, aa)); }