-rw-r--r-- 700 lib25519-20260614/crypto_mGnP/ed25519/arm64-neonplusuma10l/ge25519_pack.c raw
// linker define ge25519_10l_dense_pack
// linker use fe25519_invert
// linker use fe25519_mul
// linker use fe25519_pack
// linker use fe25519_4l_to_10l_dense
// linker use fe25519_10l_dense_to_4l
// linker use fe25519_10l_dense_getparity
#include "fe25519.h"
#include "sc25519.h"
#include "ge25519.h"
void ge25519_10l_dense_pack(unsigned char r[32], const ge25519_p3_10l_dense *p)
{
fe25519_10l_dense tx,ty,zi;
fe25519 t;
fe25519_10l_dense_to_4l(&t,&p->z);
fe25519_invert(&t,&t);
fe25519_4l_to_10l_dense(&zi,&t);
fe25519_mul(&tx,&p->x,&zi);
fe25519_mul(&ty,&p->y,&zi);
fe25519_10l_dense_to_4l(&t,&ty);
fe25519_pack(r,&t);
r[31] ^= fe25519_10l_dense_getparity(&tx) << 7;
}