|
Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <tbcs.hpp>
Public Member Functions | |
| tbcs_circuit () | |
| size_t | num_inputs () const |
| size_t | num_gates () const |
| size_t | num_wires () const |
| std::vector< size_t > | wire_depths () const |
| size_t | depth () const |
| bool | is_valid () const |
| bool | is_satisfied (const tbcs_primary_input &primary_input, const tbcs_auxiliary_input &auxiliary_input) const |
| tbcs_variable_assignment | get_all_wires (const tbcs_primary_input &primary_input, const tbcs_auxiliary_input &auxiliary_input) const |
| tbcs_variable_assignment | get_all_outputs (const tbcs_primary_input &primary_input, const tbcs_auxiliary_input &auxiliary_input) const |
| void | add_gate (const tbcs_gate &g) |
| void | add_gate (const tbcs_gate &g, const std::string &annotation) |
| bool | operator== (const tbcs_circuit &other) const |
| void | print () const |
| void | print_info () const |
Public Attributes | |
| size_t | primary_input_size |
| size_t | auxiliary_input_size |
| std::vector< tbcs_gate > | gates |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const tbcs_circuit &circuit) |
| std::istream & | operator>> (std::istream &in, tbcs_circuit &circuit) |
A TBCS circuit is a boolean circuit in which every gate has 2 inputs.
A TBCS circuit is satisfied by a TBCS variable assignment if every output evaluates to zero.
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.
| void libsnark::tbcs_circuit::add_gate | ( | const tbcs_gate & | g | ) |
| void libsnark::tbcs_circuit::add_gate | ( | const tbcs_gate & | g, |
| const std::string & | annotation | ||
| ) |
| size_t libsnark::tbcs_circuit::depth | ( | ) | const |
| tbcs_variable_assignment libsnark::tbcs_circuit::get_all_outputs | ( | const tbcs_primary_input & | primary_input, |
| const tbcs_auxiliary_input & | auxiliary_input | ||
| ) | const |
| tbcs_variable_assignment libsnark::tbcs_circuit::get_all_wires | ( | const tbcs_primary_input & | primary_input, |
| const tbcs_auxiliary_input & | auxiliary_input | ||
| ) | const |
| bool libsnark::tbcs_circuit::is_satisfied | ( | const tbcs_primary_input & | primary_input, |
| const tbcs_auxiliary_input & | auxiliary_input | ||
| ) | const |
| bool libsnark::tbcs_circuit::is_valid | ( | ) | const |
| size_t libsnark::tbcs_circuit::num_gates | ( | ) | const |
| size_t libsnark::tbcs_circuit::num_inputs | ( | ) | const |
| size_t libsnark::tbcs_circuit::num_wires | ( | ) | const |
| bool libsnark::tbcs_circuit::operator== | ( | const tbcs_circuit & | other | ) | const |
| void libsnark::tbcs_circuit::print | ( | ) | const |
| void libsnark::tbcs_circuit::print_info | ( | ) | const |
| std::vector< size_t > libsnark::tbcs_circuit::wire_depths | ( | ) | const |
|
friend |
|
friend |
1.8.17