#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