1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-30 03:11:43 +00:00
pqcrypto/crypto_kem/mceliece460896f/avx/gf.h
Thom Wiggers b3f9d4f8d6
Classic McEliece (#259)
* Add McEliece reference implementations

* Add Vec implementations of McEliece

* Add sse implementations

* Add AVX2 implementations

* Get rid of stuff not supported by Mac ABI

* restrict to two cores

* Ditch .data files

* Remove .hidden from all .S files

* speed up duplicate consistency tests by batching

* make cpuinfo more robust

* Hope to stabilize macos cpuinfo without ccache

* Revert "Hope to stabilize macos cpuinfo without ccache"

This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322.

* Just hardcode what's available at travis

* Fixed-size types in api.h

* namespace all header files in mceliece

* Ditch operations.h

* Get rid of static inline functions

* fixup! Ditch operations.h
2020-02-05 13:09:56 +01:00

23 lines
599 B
C

#ifndef PQCLEAN_MCELIECE460896F_AVX_GF_H
#define PQCLEAN_MCELIECE460896F_AVX_GF_H
/*
This file is for functions for field arithmetic
*/
#include <stdint.h>
typedef uint16_t gf;
gf PQCLEAN_MCELIECE460896F_AVX_gf_iszero(gf a);
gf PQCLEAN_MCELIECE460896F_AVX_gf_add(gf in0, gf in1);
gf PQCLEAN_MCELIECE460896F_AVX_gf_mul(gf in0, gf in1);
uint64_t PQCLEAN_MCELIECE460896F_AVX_gf_mul2(gf a, gf b0, gf b1);
gf PQCLEAN_MCELIECE460896F_AVX_gf_frac(gf den, gf num);
gf PQCLEAN_MCELIECE460896F_AVX_gf_inv(gf in);
void PQCLEAN_MCELIECE460896F_AVX_GF_mul(gf *out, const gf *in0, const gf *in1);
#endif