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

#include <trace_lines.hpp>

Inheritance diagram for libsnark::execution_line_variable_gadget< ramT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::execution_line_variable_gadget< ramT >:
Collaboration graph
[legend]

Public Types

typedef ram_base_field< ramT > FieldT
 
- Public Types inherited from libsnark::memory_line_variable_gadget< ramT >
typedef ram_base_field< ramT > FieldT
 

Public Member Functions

 execution_line_variable_gadget (ram_protoboard< ramT > &pb, const size_t timestamp_size, const ram_architecture_params< ramT > &ap, const std::string &annotation_prefix="")
 
- Public Member Functions inherited from libsnark::memory_line_variable_gadget< ramT >
 memory_line_variable_gadget (ram_protoboard< ramT > &pb, const size_t timestamp_size, const ram_architecture_params< ramT > &ap, const std::string &annotation_prefix="")
 
void generate_r1cs_constraints (const bool enforce_bitness=false)
 
void generate_r1cs_witness_from_bits ()
 
void generate_r1cs_witness_from_packed ()
 
pb_variable_array< FieldTall_vars () const
 

Public Attributes

pb_variable_array< FieldTcpu_state
 
pb_variable< FieldThas_accepted
 
- Public Attributes inherited from libsnark::memory_line_variable_gadget< ramT >
std::shared_ptr< dual_variable_gadget< FieldT > > timestamp
 
std::shared_ptr< dual_variable_gadget< FieldT > > address
 
std::shared_ptr< dual_variable_gadget< FieldT > > contents_before
 
std::shared_ptr< dual_variable_gadget< FieldT > > contents_after
 

Detailed Description

template<typename ramT>
class libsnark::execution_line_variable_gadget< ramT >

An execution line inherits from a memory line and, in addition, contains variables for a CPU state and for a flag denoting if the machine has accepted.

Execution lines are used by execution_checker_gadget.

Definition at line 65 of file trace_lines.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ramT >
typedef ram_base_field<ramT> libsnark::execution_line_variable_gadget< ramT >::FieldT

Definition at line 68 of file trace_lines.hpp.

Constructor & Destructor Documentation

◆ execution_line_variable_gadget()

template<typename ramT >
libsnark::execution_line_variable_gadget< ramT >::execution_line_variable_gadget ( ram_protoboard< ramT > &  pb,
const size_t  timestamp_size,
const ram_architecture_params< ramT > &  ap,
const std::string &  annotation_prefix = "" 
)

Member Data Documentation

◆ cpu_state

template<typename ramT >
pb_variable_array<FieldT> libsnark::execution_line_variable_gadget< ramT >::cpu_state

Definition at line 70 of file trace_lines.hpp.

◆ has_accepted

template<typename ramT >
pb_variable<FieldT> libsnark::execution_line_variable_gadget< ramT >::has_accepted

Definition at line 71 of file trace_lines.hpp.


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