yggm/libs/f25519.cuh
2025-03-14 22:52:59 +05:00

13 lines
1.1 KiB
Plaintext

#ifndef __F25519_CUH
#define __F25519_CUH
#define F25519_SIZE 32
__device__ void f25519_load(unsigned char* __restrict__ x, unsigned int c);
__device__ void f25519_copy(unsigned char* __restrict__ x, const unsigned char* __restrict__ a);
__device__ void f25519_select(unsigned char* __restrict__ dst, const unsigned char* __restrict__ zero, const unsigned char* __restrict__ one, unsigned char cond);
__device__ void f25519_normalize(unsigned char* __restrict__ x);
__device__ void f25519_add(unsigned char* __restrict__ r, const unsigned char* __restrict__ a, const unsigned char* __restrict__ b);
__device__ void f25519_sub(unsigned char* __restrict__ r, const unsigned char* __restrict__ a, const unsigned char* __restrict__ b);
__device__ void f25519_neg(unsigned char* __restrict__ r, const unsigned char* __restrict__ a);
__device__ void f25519_mul__distinct(unsigned char* __restrict__ r, const unsigned char* __restrict__ a, const unsigned char* __restrict__ b);
__device__ void f25519_inv__distinct(unsigned char* __restrict__ r, const unsigned char* __restrict__ x);
#endif