Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <protoboard.hpp>
Public Member Functions | |
r1cs_constraint () | |
r1cs_constraint (const linear_combination< FieldT > &a, const linear_combination< FieldT > &b, const linear_combination< FieldT > &c) | |
r1cs_constraint (const std::initializer_list< linear_combination< FieldT >> &A, const std::initializer_list< linear_combination< FieldT >> &B, const std::initializer_list< linear_combination< FieldT >> &C) | |
bool | operator== (const r1cs_constraint< FieldT > &other) const |
Public Attributes | |
linear_combination< FieldT > | a |
linear_combination< FieldT > | b |
linear_combination< FieldT > | c |
Friends | |
std::ostream & | operator (std::ostream &out, const r1cs_constraint< FieldT > &c) |
std::istream & | operator>> (std::istream &in, r1cs_constraint< FieldT > &c) |
A R1CS constraint is a formal expression of the form
< A , X > * < B , X > = < C , X > ,
where X = (x_0,x_1,...,x_m) is a vector of formal variables and A,B,C each consist of 1+m elements in <FieldT>.
A R1CS constraint is used to construct a R1CS constraint system (see below).
Definition at line 23 of file protoboard.hpp.
|
inline |
libsnark::r1cs_constraint< FieldT >::r1cs_constraint | ( | const linear_combination< FieldT > & | a, |
const linear_combination< FieldT > & | b, | ||
const linear_combination< FieldT > & | c | ||
) |
libsnark::r1cs_constraint< FieldT >::r1cs_constraint | ( | const std::initializer_list< linear_combination< FieldT >> & | A, |
const std::initializer_list< linear_combination< FieldT >> & | B, | ||
const std::initializer_list< linear_combination< FieldT >> & | C | ||
) |
bool libsnark::r1cs_constraint< FieldT >::operator== | ( | const r1cs_constraint< FieldT > & | other | ) | const |
|
friend |
|
friend |
linear_combination<FieldT> libsnark::r1cs_constraint< FieldT >::a |
linear_combination<FieldT> libsnark::r1cs_constraint< FieldT >::b |
linear_combination<FieldT> libsnark::r1cs_constraint< FieldT >::c |