diff options
Diffstat (limited to 'src/invalid')
| -rw-r--r-- | src/invalid/invalid.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/invalid/invalid.c b/src/invalid/invalid.c index 7fe2dd4..54aa7c1 100644 --- a/src/invalid/invalid.c +++ b/src/invalid/invalid.c @@ -9,6 +9,7 @@ #include "math/equation.h" #include "math/field.h" #include "math/order.h" +#include "math/point.h" void invalid_init(gen_t generators[], config_t *cfg) { generators[OFFSET_SEED] = &gen_skip; @@ -74,6 +75,7 @@ size_t invalid_curves(curve_t *curve, config_t *cfg, pari_ulong *primes, invalid_gen[OFFSET_B] = &b_random; invalid_gen[OFFSET_CURVE] = &curve_nonzero; invalid_gen[OFFSET_ORDER] = &order_init; + invalid_gen[OFFSET_POINTS] = &points_prime; // We will have nprimes curves in the end *curves = pari_malloc(nprimes * sizeof(curve_t *)); @@ -94,7 +96,7 @@ size_t invalid_curves(curve_t *curve, config_t *cfg, pari_ulong *primes, while (ncurves < nprimes) { pari_sp btop = avma; // generate a curve with random b - exhaustive_gen(invalid, cfg, invalid_gen, OFFSET_B, OFFSET_POINTS); + exhaustive_gen(invalid, cfg, invalid_gen, OFFSET_B, OFFSET_END); // does some small prime from our array divide the curve order? size_t count = 0; @@ -104,13 +106,9 @@ size_t invalid_curves(curve_t *curve, config_t *cfg, pari_ulong *primes, (*curves)[i] = invalid; } else { (*curves)[i] = curve_new(); - (*curves)[i]->field = gcopy(invalid->field); - (*curves)[i]->a = gcopy(invalid->a); - (*curves)[i]->b = gcopy(invalid->b); - (*curves)[i]->curve = gcopy(invalid->curve); - (*curves)[i]->order = gcopy(invalid->order); + (*curves)[i] = curve_copy(invalid, (*curves)[i]); } - output_csv(out, "%P#x", ';', curve_params((*curves)[i])); + output_csv(out, "%P#x", ',', curve_params((*curves)[i])); ncurves++; count++; } |
