Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Public Attributes | List of all members
libsnark::consistency_enforcer_gadget< FieldT > Class Template Reference

#include <consistency_enforcer_gadget.hpp>

Inheritance diagram for libsnark::consistency_enforcer_gadget< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::consistency_enforcer_gadget< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 consistency_enforcer_gadget (tinyram_protoboard< FieldT > &pb, const pb_variable_array< FieldT > &opcode_indicators, const pb_variable_array< FieldT > &instruction_results, const pb_variable_array< FieldT > &instruction_flags, const pb_variable_array< FieldT > &desidx, const pb_variable< FieldT > &packed_incoming_pc, const pb_variable_array< FieldT > &packed_incoming_registers, const pb_variable< FieldT > &packed_incoming_desval, const pb_variable< FieldT > &incoming_flag, const pb_variable< FieldT > &packed_outgoing_pc, const pb_variable_array< FieldT > &packed_outgoing_registers, const pb_variable< FieldT > &outgoing_flag, const std::string &annotation_prefix="")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::tinyram_standard_gadget< FieldT >
 tinyram_standard_gadget (tinyram_protoboard< FieldT > &pb, const std::string &annotation_prefix="")
 
- Public Member Functions inherited from libsnark::tinyram_gadget< FieldT >
 tinyram_gadget (tinyram_protoboard< FieldT > &pb, const std::string &annotation_prefix="")
 
- Public Member Functions inherited from libsnark::gadget< FieldT >
 gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 

Public Attributes

pb_variable_array< FieldT > opcode_indicators
 
pb_variable_array< FieldT > instruction_results
 
pb_variable_array< FieldT > instruction_flags
 
pb_variable_array< FieldT > desidx
 
pb_variable< FieldT > packed_incoming_pc
 
pb_variable_array< FieldT > packed_incoming_registers
 
pb_variable< FieldT > packed_incoming_desval
 
pb_variable< FieldT > incoming_flag
 
pb_variable< FieldT > packed_outgoing_pc
 
pb_variable_array< FieldT > packed_outgoing_registers
 
pb_variable< FieldT > outgoing_flag
 
pb_variable< FieldT > packed_outgoing_desval
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::tinyram_gadget< FieldT >
tinyram_protoboard< FieldT > & pb
 
- Protected Attributes inherited from libsnark::gadget< FieldT >
protoboard< FieldT > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename FieldT>
class libsnark::consistency_enforcer_gadget< FieldT >

Definition at line 21 of file consistency_enforcer_gadget.hpp.

Constructor & Destructor Documentation

◆ consistency_enforcer_gadget()

template<typename FieldT >
libsnark::consistency_enforcer_gadget< FieldT >::consistency_enforcer_gadget ( tinyram_protoboard< FieldT > &  pb,
const pb_variable_array< FieldT > &  opcode_indicators,
const pb_variable_array< FieldT > &  instruction_results,
const pb_variable_array< FieldT > &  instruction_flags,
const pb_variable_array< FieldT > &  desidx,
const pb_variable< FieldT > &  packed_incoming_pc,
const pb_variable_array< FieldT > &  packed_incoming_registers,
const pb_variable< FieldT > &  packed_incoming_desval,
const pb_variable< FieldT > &  incoming_flag,
const pb_variable< FieldT > &  packed_outgoing_pc,
const pb_variable_array< FieldT > &  packed_outgoing_registers,
const pb_variable< FieldT > &  outgoing_flag,
const std::string &  annotation_prefix = "" 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libsnark::consistency_enforcer_gadget< FieldT >::generate_r1cs_constraints ( )
virtual

◆ generate_r1cs_witness()

template<typename FieldT >
void libsnark::consistency_enforcer_gadget< FieldT >::generate_r1cs_witness ( )
virtual

Member Data Documentation

◆ desidx

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::desidx

Definition at line 45 of file consistency_enforcer_gadget.hpp.

◆ incoming_flag

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::incoming_flag

Definition at line 49 of file consistency_enforcer_gadget.hpp.

◆ instruction_flags

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::instruction_flags

Definition at line 44 of file consistency_enforcer_gadget.hpp.

◆ instruction_results

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::instruction_results

Definition at line 43 of file consistency_enforcer_gadget.hpp.

◆ opcode_indicators

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::opcode_indicators

Definition at line 42 of file consistency_enforcer_gadget.hpp.

◆ outgoing_flag

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::outgoing_flag

Definition at line 52 of file consistency_enforcer_gadget.hpp.

◆ packed_incoming_desval

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_incoming_desval

Definition at line 48 of file consistency_enforcer_gadget.hpp.

◆ packed_incoming_pc

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_incoming_pc

Definition at line 46 of file consistency_enforcer_gadget.hpp.

◆ packed_incoming_registers

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_incoming_registers

Definition at line 47 of file consistency_enforcer_gadget.hpp.

◆ packed_outgoing_desval

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_outgoing_desval

Definition at line 53 of file consistency_enforcer_gadget.hpp.

◆ packed_outgoing_pc

template<typename FieldT >
pb_variable<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_outgoing_pc

Definition at line 50 of file consistency_enforcer_gadget.hpp.

◆ packed_outgoing_registers

template<typename FieldT >
pb_variable_array<FieldT> libsnark::consistency_enforcer_gadget< FieldT >::packed_outgoing_registers

Definition at line 51 of file consistency_enforcer_gadget.hpp.


The documentation for this class was generated from the following file: