diff --git a/prime_field.hh b/prime_field.hh index e244f80..2812d55 100644 --- a/prime_field.hh +++ b/prime_field.hh @@ -118,26 +118,7 @@ PrimeField pow(PrimeField a, TYPE m) template PrimeField rcp(PrimeField a) { - assert(a.v); -#if 1 return pow(a, a.P - 2); -#else - if (a.v == 1) - return a; - TYPE t = 0, newt = 1; - TYPE r = a.P, newr = a.v; - while (newr) { - TYPE quotient = r / newr; - t -= quotient * newt; - r -= quotient * newr; - std::swap(newt, t); - std::swap(newr, r); - } - assert(r == 1); - if (t >= a.P) - t += a.P; - return PrimeField(t); -#endif } template