public ECFieldElement squarePow(int pow) { if (pow < 1) { return this; } long[] z = Nat256.create64(); SecT193Field.squareN(x, pow, z); return new SecT193FieldElement(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(t0, 6, t1); multiply(t0, t1, t0); squareN(t0, 12, t1); multiply(t0, t1, t0); squareN(t0, 24, t1); multiply(t0, t1, t0); squareN(t0, 48, t1); multiply(t0, t1, t0); squareN(t0, 96, t1); multiply(t0, t1, z);