| 
    Clearmatics Libsnark
    0.1
    
   C++ library for zkSNARK proofs 
   | 
 
 
 
 
Go to the documentation of this file.
   44 #ifndef RAM_UNIVERSAL_GADGET_HPP_ 
   45 #define RAM_UNIVERSAL_GADGET_HPP_ 
   87 template<
typename ramT>
 
   95     std::vector<memory_line_variable_gadget<ramT>> 
boot_lines;
 
  100     std::vector<execution_line_variable_gadget<ramT>>
 
  124         const std::string &annotation_prefix = 
"");
 
  146 #endif // RAM_UNIVERSAL_GADGET_HPP_ 
  
std::vector< memory_checker_gadget< ramT > > memory_checkers
 
ram_universal_gadget(ram_protoboard< ramT > &pb, const size_t boot_trace_size_bound, const size_t time_bound, const pb_variable_array< FieldT > &packed_input, const std::string &annotation_prefix="")
 
std::vector< size_t > ram_input_tape
 
typename ramT::architecture_params_type ram_architecture_params
 
void print_memory_trace() const
 
typename ramT::protoboard_type ram_protoboard
 
void print_execution_trace() const
 
std::vector< multipacking_gadget< FieldT > > unpack_boot_lines
 
typename ramT::base_field_type ram_base_field
 
void generate_r1cs_witness(const ram_boot_trace< ramT > &boot_trace, const ram_input_tape< ramT > &auxiliary_input)
 
std::vector< memory_line_variable_gadget< ramT > * > unrouted_memory_lines
 
std::vector< ram_cpu_checker< ramT > > execution_checkers
 
std::vector< memory_line_variable_gadget< ramT > > routed_memory_lines
 
size_t boot_trace_size_bound
 
pb_variable_array< FieldT > packed_input
 
std::vector< memory_line_variable_gadget< ramT > > load_instruction_lines
 
std::shared_ptr< as_waksman_routing_gadget< FieldT > > routing_network
 
std::vector< pb_variable_array< FieldT > > boot_line_bits
 
ram_base_field< ramT > FieldT
 
static size_t packed_input_element_size(const ram_architecture_params< ramT > &ap)
 
std::vector< pb_variable_array< FieldT > > routing_outputs
 
std::vector< memory_line_variable_gadget< ramT > > boot_lines
 
static size_t packed_input_size(const ram_architecture_params< ramT > &ap, const size_t boot_trace_size_bound)
 
typename ramT::gadget_base_type ram_gadget_base
 
std::vector< execution_line_variable_gadget< ramT > > execution_lines
 
void generate_r1cs_constraints()
 
std::vector< pb_variable_array< FieldT > > routing_inputs