Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
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
22 };
23 
25 enum form_t : uint8_t {
28 };
29 
31 enum compression_t : uint8_t {
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
47 #else
49 #endif
50 
51 #ifdef MONTGOMERY_OUTPUT
53 #else
55 #endif
56 
57 #ifdef NO_PT_COMPRESSION
59 #else
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