diff options
| author | J08nY | 2018-03-03 01:51:39 +0100 |
|---|---|---|
| committer | J08nY | 2018-03-03 01:51:39 +0100 |
| commit | 253bfc5d4382732b026ae40c7ce934a6c1a036f9 (patch) | |
| tree | 0ca8277aa16468f535283a76b2561601f01c4c8d /src | |
| parent | d53630043dedeef63a1ea8063c537a939d43afda (diff) | |
| download | ecgen-253bfc5d4382732b026ae40c7ce934a6c1a036f9.tar.gz ecgen-253bfc5d4382732b026ae40c7ce934a6c1a036f9.tar.zst ecgen-253bfc5d4382732b026ae40c7ce934a6c1a036f9.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/gen/gens.c | 5 | ||||
| -rw-r--r-- | src/gen/order.c | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/gen/gens.c b/src/gen/gens.c index e303ce4..7947ccb 100644 --- a/src/gen/gens.c +++ b/src/gen/gens.c @@ -64,8 +64,9 @@ GENERATOR(gens_gen_cofactor) { p->cofactor = utoi(cofactor); break; } - GEN res = cgeti(DEFAULTPREC); - if (dvdiuz(gen_order, cofactor, res)) { + + if (dvdiu(gen_order, cofactor)) { + GEN res = diviuexact(gen_order, cofactor); p = point_new(); p->point = gcopy(ellmul(curve->curve, gen, utoi(cofactor))); p->order = res; diff --git a/src/gen/order.c b/src/gen/order.c index 5f7620e..da1eb48 100644 --- a/src/gen/order.c +++ b/src/gen/order.c @@ -49,16 +49,15 @@ GENERATOR(order_gen_cofactor) { pari_ulong cofactor = *(pari_ulong *)args->args; pari_sp ltop = avma; GEN order = ellff_get_card(curve->curve); - GEN res = cgeti(DEFAULTPREC); - if (!dvdiiz(order, utoi(cofactor), res)) { + if (!dvdii(order, utoi(cofactor))) { avma = ltop; return -4; } + GEN res = diviuexact(order, cofactor); if (!isprime(res)) { avma = ltop; return -4; } - verbose_log("cofactor"); curve->order = gerepilecopy(ltop, order); obj_insert_shallow(curve->curve, 1, curve->order); |
