Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
fp2.h
Go to the documentation of this file.
1#ifndef _FP2_H
2#define _FP2_H
3
4#include "../namespace.h"
5
6#if defined AVX2
7 #include "avx2/fp-avx2.h"
8#elif defined GMP
9 #include "gmp/fp-gmp.h"
10#elif defined KARATSUBA
12#else
13 #include "mulx/fp.h"
14#endif
15
16typedef struct fp2
17{
20
21#define fp2_copy COMMON(fp2_copy)
22void fp2_copy(fp2 *x, const fp2 *y);
23
24#define fp2_add COMMON(fp2_add)
25void fp2_add(fp2 *x, const fp2 *y, const fp2 *z);
26
27#define fp2_sub COMMON(fp2_sub)
28void fp2_sub(fp2 *x, const fp2 *y, const fp2 *z);
29
30#define fp2_neg COMMON(fp2_neg)
31void fp2_neg(fp2 *x, const fp2 *y);
32
33#define fp2_mul COMMON(fp2_mul)
34void fp2_mul(fp2 *x, const fp2 *y, const fp2 *z);
35
36#define fp2_sqr COMMON(fp2_sqr)
37void fp2_sqr(fp2 *x, const fp2 *y);
38
39#define fp2_inv COMMON(fp2_inv)
40void fp2_inv(fp2 *x);
41
42#define fp2_test COMMON(fp2_test)
43void fp2_test(void);
44
45#endif /* !defined(_FP2_H) */
#define fp2_neg
Definition fp2.h:30
#define fp2_test
Definition fp2.h:42
#define fp2_add
Definition fp2.h:24
#define fp2_mul
Definition fp2.h:33
#define fp2_copy
Definition fp2.h:21
#define fp2_inv
Definition fp2.h:39
#define fp2_sub
Definition fp2.h:27
#define fp2_sqr
Definition fp2.h:36
uint64_t fp[NUMBER_OF_WORDS]
Definition fp-gmp.h:22
Definition fp2.h:17
fp re
Definition fp2.h:18
fp im
Definition fp2.h:18