|
Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <protoboard.hpp>
Public Member Functions | |
| r1cs_constraint_system () | |
| size_t | num_inputs () const |
| size_t | num_variables () const |
| size_t | num_constraints () const |
| bool | is_valid () const |
| bool | is_satisfied (const r1cs_primary_input< FieldT > &primary_input, const r1cs_auxiliary_input< FieldT > &auxiliary_input) const |
| void | add_constraint (const r1cs_constraint< FieldT > &c) |
| void | add_constraint (const r1cs_constraint< FieldT > &c, const std::string &annotation) |
| void | swap_AB_if_beneficial () |
| bool | operator== (const r1cs_constraint_system< FieldT > &other) const |
| void | report_linear_constraint_statistics () const |
Public Attributes | |
| size_t | primary_input_size |
| size_t | auxiliary_input_size |
| std::vector< r1cs_constraint< FieldT > > | constraints |
Friends | |
| std::ostream & | operator (std::ostream &out, const r1cs_constraint_system< FieldT > &cs) |
| std::istream & | operator>> (std::istream &in, r1cs_constraint_system< FieldT > &cs) |
A system of R1CS constraints looks like
{ < A_k , X > * < B_k , X > = < C_k , X > }_{k=1}^{n} .
In other words, the system is satisfied if and only if there exist a USCS variable assignment for which each R1CS constraint is satisfied.
NOTE: The 0-th variable (i.e., "x_{0}") always represents the constant 1. Thus, the 0-th variable is not included in num_variables.
Definition at line 25 of file protoboard.hpp.
|
inline |
| void libsnark::r1cs_constraint_system< FieldT >::add_constraint | ( | const r1cs_constraint< FieldT > & | c | ) |
| void libsnark::r1cs_constraint_system< FieldT >::add_constraint | ( | const r1cs_constraint< FieldT > & | c, |
| const std::string & | annotation | ||
| ) |
| bool libsnark::r1cs_constraint_system< FieldT >::is_satisfied | ( | const r1cs_primary_input< FieldT > & | primary_input, |
| const r1cs_auxiliary_input< FieldT > & | auxiliary_input | ||
| ) | const |

| bool libsnark::r1cs_constraint_system< FieldT >::is_valid | ( | ) | const |

| size_t libsnark::r1cs_constraint_system< FieldT >::num_constraints | ( | ) | const |
| size_t libsnark::r1cs_constraint_system< FieldT >::num_inputs | ( | ) | const |

| size_t libsnark::r1cs_constraint_system< FieldT >::num_variables | ( | ) | const |
| bool libsnark::r1cs_constraint_system< FieldT >::operator== | ( | const r1cs_constraint_system< FieldT > & | other | ) | const |
| void libsnark::r1cs_constraint_system< FieldT >::report_linear_constraint_statistics | ( | ) | const |
| void libsnark::r1cs_constraint_system< FieldT >::swap_AB_if_beneficial | ( | ) |
|
friend |
|
friend |
| size_t libsnark::r1cs_constraint_system< FieldT >::auxiliary_input_size |
| std::vector<r1cs_constraint<FieldT> > libsnark::r1cs_constraint_system< FieldT >::constraints |
| size_t libsnark::r1cs_constraint_system< FieldT >::primary_input_size |
1.8.17