Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
libff
algebra
serialization.hpp
Go to the documentation of this file.
1
9
#ifndef __LIBFF_ALGEBRA_SERIALIZATION_HPP__
10
#define __LIBFF_ALGEBRA_SERIALIZATION_HPP__
11
12
#include <stdint.h>
13
#include <string>
14
15
namespace
libff
16
{
17
19
enum
encoding_t
: uint8_t {
20
encoding_binary
= 0,
// big endian
21
encoding_json
= 1,
22
};
23
25
enum
form_t
: uint8_t {
26
form_plain
= 0,
27
form_montgomery
= 1,
28
};
29
31
enum
compression_t
: uint8_t {
32
compression_off
= 0,
33
compression_on
= 1,
34
};
35
36
void
hex_to_bytes_reversed
(
const
std::string &hex,
void
*dest,
size_t
bytes);
37
39
std::string
bytes_to_hex_reversed
(
40
const
void
*bytes,
size_t
num_bytes,
bool
prefix =
false
);
41
42
// TODO: These exist to make the operator<< and operator>> continue to work.
43
// When those operators are removed, these can retired, along with the macros.
44
45
#ifdef BINARY_OUTPUT
46
constexpr
encoding_t
DEFAULT_ENCODING
=
encoding_binary
;
47
#else
48
constexpr
encoding_t
DEFAULT_ENCODING
=
encoding_json
;
49
#endif
50
51
#ifdef MONTGOMERY_OUTPUT
52
constexpr
form_t
DEFAULT_FORM
=
form_montgomery
;
53
#else
54
constexpr
form_t
DEFAULT_FORM
=
form_plain
;
55
#endif
56
57
#ifdef NO_PT_COMPRESSION
58
constexpr
compression_t
DEFAULT_COMPRESSION
=
compression_off
;
59
#else
60
constexpr
compression_t
DEFAULT_COMPRESSION
=
compression_on
;
61
#endif
62
63
}
// namespace libff
64
65
#endif // __LIBFF_ALGEBRA_SERIALIZATION_HPP__
libff::form_t
form_t
Encodings for (de)serialization.
Definition:
serialization.hpp:25
libff::compression_t
compression_t
Enable / disable compression in (de)serialization.
Definition:
serialization.hpp:31
libff
Definition:
ffi.cpp:8
libff::encoding_binary
@ encoding_binary
Definition:
serialization.hpp:20
libff::form_montgomery
@ form_montgomery
Definition:
serialization.hpp:27
libff::encoding_t
encoding_t
Encodings for (de)serialization.
Definition:
serialization.hpp:19
libff::compression_on
@ compression_on
Definition:
serialization.hpp:33
libff::encoding_json
@ encoding_json
Definition:
serialization.hpp:21
libff::compression_off
@ compression_off
Definition:
serialization.hpp:32
libff::hex_to_bytes_reversed
void hex_to_bytes_reversed(const std::string &hex, void *dest, size_t bytes)
Definition:
serialization.cpp:72
libff::form_plain
@ form_plain
Definition:
serialization.hpp:26
libff::DEFAULT_COMPRESSION
constexpr compression_t DEFAULT_COMPRESSION
Definition:
serialization.hpp:60
libff::DEFAULT_FORM
constexpr form_t DEFAULT_FORM
Definition:
serialization.hpp:54
libff::DEFAULT_ENCODING
constexpr encoding_t DEFAULT_ENCODING
Definition:
serialization.hpp:48
libff::bytes_to_hex_reversed
std::string bytes_to_hex_reversed(const void *bytes, size_t num_bytes, bool prefix)
"prefix" here refers to "0x"
Definition:
serialization.cpp:87
Generated on Thu Aug 18 2022 12:42:19 for Clearmatics Libff by
1.8.17