Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
adapters.hpp
Go to the documentation of this file.
1 
10 #ifndef LIBSNARK_GADGETLIB2_INCLUDE_GADGETLIB2_ADAPTERS_HPP_
11 #define LIBSNARK_GADGETLIB2_INCLUDE_GADGETLIB2_ADAPTERS_HPP_
12 
17 #include <map>
18 #include <tuple>
19 #include <utility>
20 
23 using gadgetlib2::FElem;
28 
29 namespace gadgetlib2
30 {
31 
38 {
39 public:
40  typedef unsigned long variable_index_t;
42  typedef ::std::pair<variable_index_t, Fp_elem_t> linear_term_t;
43  typedef ::std::vector<linear_term_t> sparse_vec_t;
44  typedef ::std::pair<sparse_vec_t, Fp_elem_t> linear_combination_t;
45  typedef ::std::
46  tuple<linear_combination_t, linear_combination_t, linear_combination_t>
48  typedef ::std::vector<constraint_t> constraint_sys_t;
49  typedef ::std::map<variable_index_t, Fp_elem_t> assignment_t;
50  typedef ::std::pair<constraint_sys_t, assignment_t> protoboard_t;
51 
53 
54  linear_term_t convert(const LinearTerm &lt) const;
56  constraint_t convert(const Constraint &constraint) const;
57  constraint_sys_t convert(const ConstraintSystem &constraint_sys) const;
58  assignment_t convert(const VariableAssignment &assignment) const;
59  static void resetVariableIndex();
60  // TODO: Kill
62  // GadgetLibAdapter::resetVariableIndex()
63  static size_t getNextFreeIndex() { return Variable::nextFreeIndex_; }
64  protoboard_t convert(const Protoboard &pb) const;
65  Fp_elem_t convert(FElem fElem) const;
66  static size_t getVariableIndex(const Variable &v) { return v.index_; }
67 };
68 
69 bool operator==(
72 
73 } // namespace gadgetlib2
74 
75 #endif // LIBSNARK_GADGETLIB2_INCLUDE_GADGETLIB2_ADAPTERS_HPP_
gadgetlib2::GadgetLibAdapter::GadgetLibAdapter
GadgetLibAdapter()
Definition: adapters.hpp:52
gadgetlib2::GadgetLibAdapter
Definition: adapters.hpp:37
gadgetlib2::GadgetLibAdapter::getNextFreeIndex
static size_t getNextFreeIndex()
Definition: adapters.hpp:63
gadgetlib2::GadgetLibAdapter::resetVariableIndex
static void resetVariableIndex()
Definition: adapters.cpp:69
gadgetlib2::GadgetLibAdapter::constraint_t
::std::tuple< linear_combination_t, linear_combination_t, linear_combination_t > constraint_t
Definition: adapters.hpp:47
gadgetlib2::GadgetLibAdapter::convert
linear_term_t convert(const LinearTerm &lt) const
Definition: adapters.cpp:20
gadgetlib2::LinearTerm
LinearTerm.
Definition: variable.hpp:474
gadgetlib2::GadgetLibAdapter::constraint_sys_t
::std::vector< constraint_t > constraint_sys_t
Definition: adapters.hpp:48
gadgetlib2::GadgetLibAdapter::sparse_vec_t
::std::vector< linear_term_t > sparse_vec_t
Definition: adapters.hpp:43
gadgetlib2::VariableAssignment
::std::map< Variable, FElem, Variable::VariableStrictOrder > VariableAssignment
Definition: variable.hpp:348
gadgetlib2::GadgetLibAdapter::Fp_elem_t
gadgetlib2::Fp Fp_elem_t
Definition: adapters.hpp:41
gadgetlib2::GadgetLibAdapter::variable_index_t
unsigned long variable_index_t
Definition: adapters.hpp:40
gadgetlib2::FElem
Definition: variable.hpp:101
gadgetlib2::GadgetLibAdapter::assignment_t
::std::map< variable_index_t, Fp_elem_t > assignment_t
Definition: adapters.hpp:49
variable.hpp
gadgetlib2::Protoboard
Definition: protoboard.hpp:38
pp.hpp
constraint.hpp
gadgetlib2::GadgetLibAdapter::getVariableIndex
static size_t getVariableIndex(const Variable &v)
Definition: adapters.hpp:66
gadgetlib2::Variable
A formal variable, field agnostic.
Definition: variable.hpp:306
gadgetlib2::ConstraintSystem
Definition: constraint.hpp:153
gadgetlib2::operator==
bool operator==(const GLA::linear_combination_t &lhs, const GLA::linear_term_t &rhs)
Definition: adapters.cpp:105
gadgetlib2::LinearCombination
LinearCombination.
Definition: variable.hpp:503
protoboard.hpp
gadgetlib2::GadgetLibAdapter::linear_term_t
::std::pair< variable_index_t, Fp_elem_t > linear_term_t
Definition: adapters.hpp:42
gadgetlib2::GadgetLibAdapter::linear_combination_t
::std::pair< sparse_vec_t, Fp_elem_t > linear_combination_t
Definition: adapters.hpp:44
gadgetlib2
Definition: adapters.cpp:15
gadgetlib2::GadgetLibAdapter::protoboard_t
::std::pair< constraint_sys_t, assignment_t > protoboard_t
Definition: adapters.hpp:50
gadgetlib2::Constraint
Definition: constraint.hpp:42
gadgetlib2::Fp
libff::Fr< libff::default_ec_pp > Fp
Definition: pp.hpp:29