24 lines
498 B
C++
Raw Normal View History

2023-11-20 21:15:41 -07:00
#ifndef FR_ELEMENT_HPP
#define FR_ELEMENT_HPP
#include <cstdint>
#define Fr_N64 4
#define Fr_SHORT 0x00000000
#define Fr_MONTGOMERY 0x40000000
#define Fr_SHORTMONTGOMERY 0x40000000
#define Fr_LONG 0x80000000
#define Fr_LONGMONTGOMERY 0xC0000000
typedef uint64_t FrRawElement[Fr_N64];
typedef struct __attribute__((__packed__)) {
int32_t shortVal;
uint32_t type;
FrRawElement longVal;
} FrElement;
typedef FrElement *PFrElement;
#endif // FR_ELEMENT_HPP