Add Apache License version 2.0.
[pbc.git] / include / pbc_fp.h
blob3410cee11971545e0d8efda10d1439f7686dc831
1 /* There does not appear to be a succint name for rings of type Z/nZ.
2 * Sage calls it integer mod ring.
3 * NTL calls it ZZ_p.
4 * I'll call it fp, as it's the quickest to type.
5 * "zn" might be better since it can also handle composite numbers.
6 */
7 // Requires:
8 // * field.h
9 // * gmp.h
10 #ifndef __PBC_FP_H__
11 #define __PBC_FP_H__
13 void field_init_naive_fp(field_ptr f, mpz_t prime);
14 void field_init_tiny_fp(field_ptr f, mpz_t prime);
15 void field_init_fast_fp(field_ptr f, mpz_t prime);
16 void field_init_faster_fp(field_ptr f, mpz_t prime);
17 void field_init_mont_fp(field_ptr f, mpz_t prime);
19 void pbc_tweak_use_fp(char *s);
21 void element_tonelli(element_ptr x, element_ptr a);
23 void field_init_fp(field_ptr f, mpz_t prime);
25 int pbc_mpz_set_str(mpz_t z, const char *s, int base);
26 #endif //__PBC_FP_H__