blob: ac81960af3aec22e7ecbebf2bf5436881194dbfd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include "gens.h"
#include "point.h"
int gens_init(curve_t *curve, config_t *config, arg_t *args) {
// TODO stack code!!!
GEN generators = ellff_get_gens(curve->curve);
long len = glength(generators);
curve->generators = points_new((size_t)len);
curve->ngens = (size_t)len;
for (long i = 1; i <= len; ++i) {
point_t *p = point_new();
p->point = gel(generators, i);
p->order = ellorder(curve->curve, p->point, NULL);
p->cofactor = divii(curve->order, p->order);
curve->generators[i - 1] = p;
}
return 1;
}
|