public SecP224K1FieldElement() { this.x = Nat224.create(); }
public SecP224K1FieldElement() { this.x = Nat224.create(); }
public ECFieldElement addOne() { int[] z = Nat224.create(); SecP224R1Field.addOne(x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement subtract(ECFieldElement b) { int[] z = Nat224.create(); SecP224R1Field.subtract(x, ((SecP224R1FieldElement)b).x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement multiply(ECFieldElement b) { int[] z = Nat224.create(); SecP224K1Field.multiply(x, ((SecP224K1FieldElement)b).x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement negate() { int[] z = Nat224.create(); SecP224K1Field.negate(x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement invert() { // return new SecP224K1FieldElement(toBigInteger().modInverse(Q)); int[] z = Nat224.create(); Mod.invert(SecP224K1Field.P, x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement square() { int[] z = Nat224.create(); SecP224R1Field.square(x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement subtract(ECFieldElement b) { int[] z = Nat224.create(); SecP224R1Field.subtract(x, ((SecP224R1FieldElement)b).x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement add(ECFieldElement b) { int[] z = Nat224.create(); SecP224R1Field.add(x, ((SecP224R1FieldElement)b).x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement multiply(ECFieldElement b) { int[] z = Nat224.create(); SecP224R1Field.multiply(x, ((SecP224R1FieldElement)b).x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement negate() { int[] z = Nat224.create(); SecP224R1Field.negate(x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement multiply(ECFieldElement b) { int[] z = Nat224.create(); SecP224K1Field.multiply(x, ((SecP224K1FieldElement)b).x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement negate() { int[] z = Nat224.create(); SecP224R1Field.negate(x, z); return new SecP224R1FieldElement(z); }
public ECFieldElement addOne() { int[] z = Nat224.create(); SecP224K1Field.addOne(x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement subtract(ECFieldElement b) { int[] z = Nat224.create(); SecP224K1Field.subtract(x, ((SecP224K1FieldElement)b).x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement negate() { int[] z = Nat224.create(); SecP224K1Field.negate(x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement invert() { // return new SecP224K1FieldElement(toBigInteger().modInverse(Q)); int[] z = Nat224.create(); Mod.invert(SecP224K1Field.P, x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement divide(ECFieldElement b) { // return multiply(b.invert()); int[] z = Nat224.create(); Mod.invert(SecP224K1Field.P, ((SecP224K1FieldElement)b).x, z); SecP224K1Field.multiply(z, x, z); return new SecP224K1FieldElement(z); }
public ECFieldElement divide(ECFieldElement b) { // return multiply(b.invert()); int[] z = Nat224.create(); Mod.invert(SecP224K1Field.P, ((SecP224K1FieldElement)b).x, z); SecP224K1Field.multiply(z, x, z); return new SecP224K1FieldElement(z); }