1 #ifndef GALOIS_UTILS_H_ 2 #define GALOIS_UTILS_H_ 3 4 #include "mod_ul.h" 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /* Galois automorphisms 11 autom2.1: 1/x 12 autom2.2: -x 13 autom3.1: 1-1/x 14 autom3.2: -1-1/x 15 autom4.1: -(x+1)/(x-1) 16 autom6.1: -(2x+1)/(x-1) 17 */ 18 19 void automorphism_init(int *ord, int mat[4], const char *galois_autom); 20 unsigned long automorphism_apply(residueul_t mat[4], unsigned long r, const modulusul_t mm, const unsigned long qq); 21 22 #ifdef __cplusplus 23 } 24 #endif 25 26 27 #endif /* GALOIS_UTILS_H_ */ 28