Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
libsnark
relations
constraint_satisfaction_problems
r1cs
examples
r1cs_examples.hpp
Go to the documentation of this file.
1
13
#ifndef R1CS_EXAMPLES_HPP_
14
#define R1CS_EXAMPLES_HPP_
15
16
#include <
libsnark/relations/constraint_satisfaction_problems/r1cs/r1cs.hpp
>
17
18
namespace
libsnark
19
{
20
25
template
<
typename
FieldT>
struct
r1cs_example
{
26
r1cs_constraint_system<FieldT>
constraint_system
;
27
r1cs_primary_input<FieldT>
primary_input
;
28
r1cs_auxiliary_input<FieldT>
auxiliary_input
;
29
30
r1cs_example<FieldT>
() =
default
;
31
r1cs_example<FieldT>
(
32
const
r1cs_constraint_system<FieldT>
&
constraint_system
,
33
const
r1cs_primary_input<FieldT>
&
primary_input
,
34
const
r1cs_auxiliary_input<FieldT>
&
auxiliary_input
)
35
:
constraint_system
(
constraint_system
)
36
,
primary_input
(
primary_input
)
37
,
auxiliary_input
(
auxiliary_input
){};
38
r1cs_example<FieldT>
(
39
r1cs_constraint_system<FieldT>
&&
constraint_system
,
40
r1cs_primary_input<FieldT>
&&
primary_input
,
41
r1cs_auxiliary_input<FieldT>
&&
auxiliary_input
)
42
:
constraint_system
(std::move(
constraint_system
))
43
,
primary_input
(std::move(
primary_input
))
44
,
auxiliary_input
(std::move(
auxiliary_input
)){};
45
};
46
56
template
<
typename
FieldT>
57
r1cs_example<FieldT>
generate_r1cs_example_with_field_input
(
58
const
size_t
num_constraints,
const
size_t
num_inputs);
59
69
template
<
typename
FieldT>
70
r1cs_example<FieldT>
generate_r1cs_example_with_binary_input
(
71
const
size_t
num_constraints,
const
size_t
num_inputs);
72
73
}
// namespace libsnark
74
75
#include <
libsnark/relations/constraint_satisfaction_problems/r1cs/examples/r1cs_examples.tcc
>
76
77
#endif // R1CS_EXAMPLES_HPP_
libsnark
Definition:
accumulation_vector.hpp:18
libsnark::r1cs_example
Definition:
r1cs_examples.hpp:25
libsnark::r1cs_example::constraint_system
r1cs_constraint_system< FieldT > constraint_system
Definition:
r1cs_examples.hpp:26
libsnark::generate_r1cs_example_with_field_input
r1cs_example< FieldT > generate_r1cs_example_with_field_input(const size_t num_constraints, const size_t num_inputs)
libsnark::generate_r1cs_example_with_binary_input
r1cs_example< FieldT > generate_r1cs_example_with_binary_input(const size_t num_constraints, const size_t num_inputs)
libsnark::r1cs_example::auxiliary_input
r1cs_auxiliary_input< FieldT > auxiliary_input
Definition:
r1cs_examples.hpp:28
r1cs_examples.tcc
libsnark::r1cs_auxiliary_input
std::vector< FieldT > r1cs_auxiliary_input
Definition:
r1cs.hpp:84
libsnark::r1cs_constraint_system
Definition:
protoboard.hpp:25
libsnark::r1cs_example::primary_input
r1cs_primary_input< FieldT > primary_input
Definition:
r1cs_examples.hpp:27
libsnark::r1cs_primary_input
std::vector< FieldT > r1cs_primary_input
Definition:
r1cs.hpp:82
r1cs.hpp
Generated on Wed Jan 25 2023 11:05:58 for Clearmatics Libsnark by
1.8.17