-rw-r--r-- 1703 lib25519-20240928/crypto_nP/montgomery25519/amd64-avx2-ns10l-maa5/fe25519.h raw
#ifndef FE25519_H
#define FE25519_H
#define fe25519 CRYPTO_NAMESPACE(fe25519)
#define fe25519_5l CRYPTO_NAMESPACE(fe25519_5l)
#define fe25519_10l CRYPTO_NAMESPACE(fe25519_10l)
#define fe25519_freeze CRYPTO_SHARED_NAMESPACE(fe25519_freeze)
#define fe25519_unpack CRYPTO_NAMESPACE(fe25519_unpack)
#define fe25519_pack CRYPTO_NAMESPACE(fe25519_pack)
#define fe25519_mul CRYPTO_SHARED_NAMESPACE(fe25519_mul)
#define fe25519_nsquare CRYPTO_SHARED_NAMESPACE(fe25519_nsquare)
#define fe25519_invert CRYPTO_NAMESPACE(fe25519_invert)
#define fe25519_to_10l CRYPTO_NAMESPACE(fe25519_to_10l)
#define fe25519_10l_to_5l CRYPTO_NAMESPACE(fe25519_10l_to_5l)
#define fe25519_from_5l CRYPTO_NAMESPACE(fe25519_from_5l)
#define fe25519_to_5l CRYPTO_NAMESPACE(fe25519_to_5l)
#define fe25519_square(x,y) fe25519_nsquare(x,y,1)
typedef struct
{
unsigned long long l[4];
}
fe25519;
typedef struct {
unsigned long long l[5];
}
fe25519_5l;
typedef struct {
unsigned long long l[10];
}
fe25519_10l;
void fe25519_freeze(fe25519 *r);
void fe25519_unpack(fe25519 *r, const unsigned char x[32]);
void fe25519_pack(unsigned char r[32], const fe25519 *x);
void fe25519_mul(fe25519_5l *r, const fe25519_5l *x, const fe25519_5l *y);
void fe25519_nsquare(fe25519_5l *r, const fe25519_5l *x, long long n);
void fe25519_invert(fe25519_5l *r, const fe25519_5l *x);
void fe25519_to_10l(fe25519_10l *r, const fe25519 *x);
void fe25519_10l_to_5l(fe25519_5l *r, const fe25519_10l *x);
void fe25519_from_5l(fe25519 *r, const fe25519_5l *x);
void fe25519_to_5l(fe25519_5l *r, const fe25519 *x);
#endif