- pgen_safetestctx c;
-
- mp *m = mprand(MP_NEW, pl, r, 3);
- dp->p = pgen("p", MP_NEW, m, event, ectx, steps, pgen_safestep, &c.c,
- rabin_iters(pl), pgen_safetest, &c);
+ pgen_simulprime sp[2];
+ pgen_simulctx ss;
+
+ mp *m = mprand(MP_NEW, pl - 1, r, 1);
+ ss.step = MP_TWO;
+ sp[0].mul = MP_ONE; sp[0].add = MP_ZERO; sp[0].f = 0;
+ sp[1].mul = MP_TWO; sp[1].add = MP_ONE; sp[1].f = PGENF_KEEP;
+ ss.v = sp; ss.n = N(sp);
+ dp->q = pgen("p", MP_NEW, m, event, ectx, steps, pgen_simulstep, &ss,
+ rabin_iters(pl), pgen_simultest, &ss);