Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <basic_gadgets.hpp>
Public Member Functions | |
bit_vector_copy_gadget (protoboard< FieldT > &pb, const pb_variable_array< FieldT > &source_bits, const pb_variable_array< FieldT > &target_bits, const pb_linear_combination< FieldT > &do_copy, const size_t chunk_size, const std::string &annotation_prefix="") | |
void | generate_r1cs_constraints (const bool enforce_source_bitness, const bool enforce_target_bitness) |
void | generate_r1cs_witness () |
![]() | |
gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
const pb_variable_array< FieldT > | source_bits |
const pb_variable_array< FieldT > | target_bits |
const pb_linear_combination< FieldT > | do_copy |
pb_variable_array< FieldT > | packed_source |
pb_variable_array< FieldT > | packed_target |
std::shared_ptr< multipacking_gadget< FieldT > > | pack_source |
std::shared_ptr< multipacking_gadget< FieldT > > | pack_target |
std::shared_ptr< field_vector_copy_gadget< FieldT > > | copier |
const size_t | chunk_size |
const size_t | num_chunks |
Additional Inherited Members | |
![]() | |
protoboard< FieldT > & | pb |
const std::string | annotation_prefix |
Definition at line 101 of file basic_gadgets.hpp.
libsnark::bit_vector_copy_gadget< FieldT >::bit_vector_copy_gadget | ( | protoboard< FieldT > & | pb, |
const pb_variable_array< FieldT > & | source_bits, | ||
const pb_variable_array< FieldT > & | target_bits, | ||
const pb_linear_combination< FieldT > & | do_copy, | ||
const size_t | chunk_size, | ||
const std::string & | annotation_prefix = "" |
||
) |
void libsnark::bit_vector_copy_gadget< FieldT >::generate_r1cs_constraints | ( | const bool | enforce_source_bitness, |
const bool | enforce_target_bitness | ||
) |
void libsnark::bit_vector_copy_gadget< FieldT >::generate_r1cs_witness | ( | ) |
const size_t libsnark::bit_vector_copy_gadget< FieldT >::chunk_size |
Definition at line 115 of file basic_gadgets.hpp.
std::shared_ptr<field_vector_copy_gadget<FieldT> > libsnark::bit_vector_copy_gadget< FieldT >::copier |
Definition at line 113 of file basic_gadgets.hpp.
const pb_linear_combination<FieldT> libsnark::bit_vector_copy_gadget< FieldT >::do_copy |
Definition at line 106 of file basic_gadgets.hpp.
const size_t libsnark::bit_vector_copy_gadget< FieldT >::num_chunks |
Definition at line 116 of file basic_gadgets.hpp.
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::bit_vector_copy_gadget< FieldT >::pack_source |
Definition at line 111 of file basic_gadgets.hpp.
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::bit_vector_copy_gadget< FieldT >::pack_target |
Definition at line 112 of file basic_gadgets.hpp.
pb_variable_array<FieldT> libsnark::bit_vector_copy_gadget< FieldT >::packed_source |
Definition at line 108 of file basic_gadgets.hpp.
pb_variable_array<FieldT> libsnark::bit_vector_copy_gadget< FieldT >::packed_target |
Definition at line 109 of file basic_gadgets.hpp.
const pb_variable_array<FieldT> libsnark::bit_vector_copy_gadget< FieldT >::source_bits |
Definition at line 104 of file basic_gadgets.hpp.
const pb_variable_array<FieldT> libsnark::bit_vector_copy_gadget< FieldT >::target_bits |
Definition at line 105 of file basic_gadgets.hpp.