mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-27 09:51:30 +00:00
b3f9d4f8d6
* 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
26 lines
689 B
C
26 lines
689 B
C
#ifndef PQCLEAN_MCELIECE348864_VEC_VEC_H
|
|
#define PQCLEAN_MCELIECE348864_VEC_VEC_H
|
|
|
|
#include "params.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef uint64_t vec;
|
|
|
|
vec PQCLEAN_MCELIECE348864_VEC_vec_setbits(vec b);
|
|
|
|
vec PQCLEAN_MCELIECE348864_VEC_vec_set1_16b(uint16_t v);
|
|
|
|
void PQCLEAN_MCELIECE348864_VEC_vec_copy(vec *out, const vec *in);
|
|
|
|
vec PQCLEAN_MCELIECE348864_VEC_vec_or_reduce(const vec *a);
|
|
|
|
int PQCLEAN_MCELIECE348864_VEC_vec_testz(vec a);
|
|
|
|
void PQCLEAN_MCELIECE348864_VEC_vec_mul(vec * /*h*/, const vec * /*f*/, const vec * /*g*/);
|
|
void PQCLEAN_MCELIECE348864_VEC_vec_sq(vec * /*out*/, const vec * /*in*/);
|
|
void PQCLEAN_MCELIECE348864_VEC_vec_inv(vec * /*out*/, const vec * /*in*/);
|
|
|
|
#endif
|
|
|