/* * Quadratic field extensions. */ //requires // * field.h #ifndef __PBC_FIELDQUADRATIC_H__ #define __PBC_FIELDQUADRATIC_H__ // Initialize L as K[sqrt(a)], where a is a quadratic nonresidue of K. We // automatically randomly generate a if necessary (see field_get_nqr() in // field.c). void field_init_quadratic(field_ptr L, field_ptr K); // Initialize L as K[i], where i = sqrt(-1). Faster than the generic version. // Requires -1 to be a quadratic nonresidue in K. void field_init_fi(field_ptr L, field_ptr K); // Naturally map an element from a field K to K[a]. void element_field_to_quadratic(element_ptr out, element_ptr in); void element_field_to_fi(element_ptr a, element_ptr b); #endif //__PBC_FIELDQUADRATIC_H__