aboutsummaryrefslogtreecommitdiffstats
path: root/moon-abe/pbc-0.5.14/include/pbc_fp.h
blob: 3410cee11971545e0d8efda10d1439f7686dc831 (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
/* There does not appear to be a succint name for rings of type Z/nZ.
 * Sage calls it integer mod ring.
 * NTL calls it ZZ_p.
 * I'll call it fp, as it's the quickest to type.
 * "zn" might be better since it can also handle composite numbers.
 */
// Requires:
// * field.h
// * gmp.h
#ifndef __PBC_FP_H__
#define __PBC_FP_H__

void field_init_naive_fp(field_ptr f, mpz_t prime);
void field_init_tiny_fp(field_ptr f, mpz_t prime);
void field_init_fast_fp(field_ptr f, mpz_t prime);
void field_init_faster_fp(field_ptr f, mpz_t prime);
void field_init_mont_fp(field_ptr f, mpz_t prime);

void pbc_tweak_use_fp(char *s);

void element_tonelli(element_ptr x, element_ptr a);

void field_init_fp(field_ptr f, mpz_t prime);

int pbc_mpz_set_str(mpz_t z, const char *s, int base);
#endif //__PBC_FP_H__