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

#include <trace_lines.hpp>

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

Public Types

typedef ram_base_field< ramT > FieldT
 

Public Member Functions

 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

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::memory_line_variable_gadget< ramT >

A memory line contains variables for the following:

Memory lines are used by memory_checker_gadget.

Definition at line 33 of file trace_lines.hpp.

Member Typedef Documentation

◆ FieldT

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

Definition at line 36 of file trace_lines.hpp.

Constructor & Destructor Documentation

◆ memory_line_variable_gadget()

template<typename ramT >
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 = "" 
)

Member Function Documentation

◆ all_vars()

template<typename ramT >
pb_variable_array<FieldT> libsnark::memory_line_variable_gadget< ramT >::all_vars ( ) const

◆ generate_r1cs_constraints()

template<typename ramT >
void libsnark::memory_line_variable_gadget< ramT >::generate_r1cs_constraints ( const bool  enforce_bitness = false)

◆ generate_r1cs_witness_from_bits()

template<typename ramT >
void libsnark::memory_line_variable_gadget< ramT >::generate_r1cs_witness_from_bits ( )

◆ generate_r1cs_witness_from_packed()

template<typename ramT >
void libsnark::memory_line_variable_gadget< ramT >::generate_r1cs_witness_from_packed ( )

Member Data Documentation

◆ address

template<typename ramT >
std::shared_ptr<dual_variable_gadget<FieldT> > libsnark::memory_line_variable_gadget< ramT >::address

Definition at line 39 of file trace_lines.hpp.

◆ contents_after

template<typename ramT >
std::shared_ptr<dual_variable_gadget<FieldT> > libsnark::memory_line_variable_gadget< ramT >::contents_after

Definition at line 41 of file trace_lines.hpp.

◆ contents_before

template<typename ramT >
std::shared_ptr<dual_variable_gadget<FieldT> > libsnark::memory_line_variable_gadget< ramT >::contents_before

Definition at line 40 of file trace_lines.hpp.

◆ timestamp

template<typename ramT >
std::shared_ptr<dual_variable_gadget<FieldT> > libsnark::memory_line_variable_gadget< ramT >::timestamp

Definition at line 38 of file trace_lines.hpp.


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