mirror of
https://github.com/logos-storage/nim-groth16.git
synced 2026-01-02 21:53:09 +00:00
24 lines
498 B
C++
24 lines
498 B
C++
|
|
#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
|