math/mp-jacobi.c: Improve the presentation.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 5 Aug 2013 01:52:41 +0000 (02:52 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 5 Aug 2013 01:58:24 +0000 (02:58 +0100)
Make the commentary a bit more useful, and move the code about to fit
in.

math/mp-jacobi.c

index b1b0216..e318ce3 100644 (file)
@@ -130,7 +130,7 @@ int mp_jacobi(mp *a, mp *n)
       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;
@@ -138,11 +138,11 @@ int mp_jacobi(mp *a, mp *n)
       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; }
   }