mp *r, *A, *aa;
mp *t;
grand *gr;
+ int j;
/* --- Cope if %$a \not\in Q_p$% --- */
- if (mp_jacobi(a, p) != 1) {
+ j = mp_jacobi(a, p);
+ if (j == -1) {
mp_drop(d);
return (0);
+ } else if (j == 0) {
+ if (d != a) mp_drop(d);
+ d = MP_COPY(a);
+ return (d);
}
/* --- Choose some quadratic non-residue --- */
"0x188da80eb03090f67cbf20eb43a18801f4ff0afd82ff1411,
0x2330e62c1895405fa2ad63f8a8a0ab35b05a0360c2133db9";
+ "prime: 6277101735386680763835789423207666416102355444464034512659; prime: -3, 6"
+ 0xcdf65dc6c906c5c240dba0d156b911614abe806fa2b8dc0a
+ "0xcdf65dc6c906c5c240dba0d156b911614abe806fa2b8dc0a, 0";
+
"binpoly: 0x800000000000000000000000000000000000000c9
bin: 1, 0x20a601907b8c953ca1481eb10512f78744a3205fd"
0x3f0eba16286a2d57ea0991168d4994637e8343e36