void power2(GF2m& a, uint32 b) { uint32 j = 0; uint32 i = 1 << 31; while ((b & i) == 0) { i = i >> 1; if (i == 0) return; } b = b ^ i; power2(a,b); j = 0; while (i != 0) { j++; i = i >> 1; } j--; i = 1; for (uint32 i1 = 0; i1< j; i1++) { i = i*2; } j = i; //j = 2 << j; for (uint32 j1 = 0; j1 < j; j1++) { a.Square(); } }