1 /* 2 This file is adapted from amd64-51/fe25519.h: 3 'fe25519' is renamed as 'fe51'; 4 All the redundant functions are removed; 5 New function fe51_nsquare is introduced. 6 */ 7 8 #ifndef fe51_H 9 #define fe51_H 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #include <stdint.h> 16 #include <stdlib.h> 17 18 #include "fe51_namespace.h" 19 20 typedef struct 21 { 22 uint64_t v[5]; 23 } 24 fe51; 25 26 extern void fe51_pack(unsigned char *, const fe51 *); 27 extern void fe51_mul(fe51 *, const fe51 *, const fe51 *); 28 extern void fe51_nsquare(fe51 *, const fe51 *, int); 29 extern void fe51_invert(fe51 *, const fe51 *); 30 31 #ifdef __cplusplus 32 } 33 #endif 34 35 #endif 36