* congruent to 1 or 7 (mod 8), or %$-1$% otherwise.
*
* If %$n$% is positive and odd, then this is the Jacobi
- * symbol. (The Kronecker symbol is a consistant domain
+ * symbol. (The Kronecker symbol is a consistent domain
* extension; the Jacobi symbol was implemented first, and the
* name stuck.)
*/
goto done;
}
- /* --- Main case with powers of two --- */
+ /* --- Strip out powers of two from %$a$% --- */
a = mp_odd(a, a, &e);
nn = n->v[0] & 7;
s = -s;
if (MP_LEN(a) == 1 && a->v[0] == 1)
goto done;
- if ((nn & 3) == 3 && (a->v[0] & 3) == 3)
- s = -s;
- /* --- Reduce and swap --- */
+ /* --- Reduce and swap, applying quadratic residuosity --- */
+ if ((nn & 3) == 3 && (a->v[0] & 3) == 3)
+ s = -s;
mp_div(0, &n, n, a);
{ mp *t = n; n = a; a = t; }
}