aboutsummaryrefslogtreecommitdiff
path: root/src/cm/p1363.h
blob: 7201d80e19744d4a493f2d075be29fd9ba319e48 (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
40
41
/*
 * 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 {
	GEN A;
	GEN B;
	GEN C;

	long m8;

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

	GEN lambda;
	GEN theta;
} p1363_form_t;

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

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

GEN p1363_invariant(GEN D, p1363_form_t *form, long precision);

long p1363_bit_precision(GEN D, p1363_form_t **forms, size_t nforms);

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

#endif  // ECGEN_CM_P1363_H