1 #ifndef PQCLEAN_MCELIECE348864F_AVX_GF_H 2 #define PQCLEAN_MCELIECE348864F_AVX_GF_H 3 /* 4 This file is for functions for field arithmetic 5 */ 6 7 8 #include "params.h" 9 10 #include <stdint.h> 11 12 typedef uint16_t gf; 13 14 gf PQCLEAN_MCELIECE348864F_AVX_gf_iszero(gf /*a*/); 15 gf PQCLEAN_MCELIECE348864F_AVX_gf_add(gf /*in0*/, gf /*in1*/); 16 gf PQCLEAN_MCELIECE348864F_AVX_gf_mul(gf /*in0*/, gf /*in1*/); 17 gf PQCLEAN_MCELIECE348864F_AVX_gf_frac(gf /*den*/, gf /*num*/); 18 gf PQCLEAN_MCELIECE348864F_AVX_gf_inv(gf /*in*/); 19 20 void PQCLEAN_MCELIECE348864F_AVX_GF_mul(gf * /*out*/, const gf * /*in0*/, const gf * /*in1*/); 21 22 /* 2 field multiplications */ 23 uint64_t PQCLEAN_MCELIECE348864F_AVX_gf_mul2(gf a, gf b0, gf b1); 24 25 #endif 26 27