aboutsummaryrefslogtreecommitdiff
path: root/src/cm/p1363.h
blob: d80d70ff6a6b4a9fd00ca47465663b52b649c54f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
 * ecgen, tool for generating Elliptic curve domain parameters
 * Copyright (C) 2017-2018 J08nY
 */
/**
 * @file p1363.h
 */
#ifndef ECGEN_CM_P1363_H
#define ECGEN_CM_P1363_H

#include <pari/pari.h>

typedef struct form_t {
	GEN A;
	GEN B;
	GEN C;

	long m8;

	long I;
	long J;
	long K;
	GEN L;
	GEN M;
	GEN N;

	GEN lambda;
	GEN theta;
} form_t;

size_t p1363_forms(GEN D, form_t ***forms);

void p1363_free(form_t ***forms, size_t nforms);

GEN p1363_invariant(GEN D, form_t *form);

GEN p1363_poly(GEN D, form_t **forms, size_t nforms);

#endif  // ECGEN_CM_P1363_H