public ECFieldElement squarePow(int pow) { if (pow < 1) { return this; } long[] z = Nat192.create64(); SecT163Field.squareN(x, pow, z); return new SecT163FieldElement(z); }
squareN(t0, 1, t1); multiply(t0, t1, t0); squareN(t1, 1, t1); multiply(t0, t1, t0); squareN(t0, 3, t1); multiply(t0, t1, t0); squareN(t1, 3, t1); multiply(t0, t1, t0); squareN(t0, 9, t1); multiply(t0, t1, t0); squareN(t1, 9, t1); multiply(t0, t1, t0); squareN(t0, 27, t1); multiply(t0, t1, t0); squareN(t1, 27, t1); multiply(t0, t1, t0); squareN(t0, 81, t1); multiply(t0, t1, z);