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

#include <fooram_cpu_checker.hpp>

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

Public Member Functions

 fooram_cpu_checker (fooram_protoboard< FieldT > &pb, pb_variable_array< FieldT > &prev_pc_addr, pb_variable_array< FieldT > &prev_pc_val, pb_variable_array< FieldT > &prev_state, pb_variable_array< FieldT > &ls_addr, pb_variable_array< FieldT > &ls_prev_val, pb_variable_array< FieldT > &ls_next_val, pb_variable_array< FieldT > &next_state, pb_variable_array< FieldT > &next_pc_addr, pb_variable< FieldT > &next_has_accepted, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
void generate_r1cs_witness_address ()
 
void generate_r1cs_witness_other (fooram_input_tape_iterator &aux_it, const fooram_input_tape_iterator &aux_end)
 
void dump () const
 
- Public Member Functions inherited from libsnark::fooram_gadget< FieldT >
 fooram_gadget (fooram_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 > prev_pc_addr
 
pb_variable_array< FieldT > prev_pc_val
 
pb_variable_array< FieldT > prev_state
 
pb_variable_array< FieldT > guess
 
pb_variable_array< FieldT > ls_addr
 
pb_variable_array< FieldT > ls_prev_val
 
pb_variable_array< FieldT > ls_next_val
 
pb_variable_array< FieldT > next_state
 
pb_variable_array< FieldT > next_pc_addr
 
pb_variable< FieldT > next_has_accepted
 
pb_variable< FieldT > zero
 
pb_variable< FieldT > packed_next_pc_addr
 
pb_linear_combination_array< FieldT > one_as_addr
 
std::shared_ptr< packing_gadget< FieldT > > pack_next_pc_addr
 
pb_variable< FieldT > packed_load_addr
 
pb_variable< FieldT > packed_store_addr
 
pb_variable< FieldT > packed_store_val
 
std::shared_ptr< bar_gadget< FieldT > > increment_pc
 
std::shared_ptr< bar_gadget< FieldT > > compute_packed_load_addr
 
std::shared_ptr< bar_gadget< FieldT > > compute_packed_store_addr
 
std::shared_ptr< bar_gadget< FieldT > > compute_packed_store_val
 
pb_variable< FieldT > packed_ls_addr
 
pb_variable< FieldT > packed_ls_prev_val
 
pb_variable< FieldT > packed_ls_next_val
 
pb_variable< FieldT > packed_prev_state
 
pb_variable< FieldT > packed_next_state
 
std::shared_ptr< packing_gadget< FieldT > > pack_ls_addr
 
std::shared_ptr< packing_gadget< FieldT > > pack_ls_prev_val
 
std::shared_ptr< packing_gadget< FieldT > > pack_ls_next_val
 
std::shared_ptr< packing_gadget< FieldT > > pack_prev_state
 
std::shared_ptr< packing_gadget< FieldT > > pack_next_state
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::fooram_gadget< FieldT >
fooram_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::fooram_cpu_checker< FieldT >

Definition at line 42 of file fooram_cpu_checker.hpp.

Constructor & Destructor Documentation

◆ fooram_cpu_checker()

template<typename FieldT >
libsnark::fooram_cpu_checker< FieldT >::fooram_cpu_checker ( fooram_protoboard< FieldT > &  pb,
pb_variable_array< FieldT > &  prev_pc_addr,
pb_variable_array< FieldT > &  prev_pc_val,
pb_variable_array< FieldT > &  prev_state,
pb_variable_array< FieldT > &  ls_addr,
pb_variable_array< FieldT > &  ls_prev_val,
pb_variable_array< FieldT > &  ls_next_val,
pb_variable_array< FieldT > &  next_state,
pb_variable_array< FieldT > &  next_pc_addr,
pb_variable< FieldT > &  next_has_accepted,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ dump()

template<typename FieldT >
void libsnark::fooram_cpu_checker< FieldT >::dump ( ) const

◆ generate_r1cs_constraints()

template<typename FieldT >
void libsnark::fooram_cpu_checker< FieldT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT >
void libsnark::fooram_cpu_checker< FieldT >::generate_r1cs_witness ( )
inline

Definition at line 96 of file fooram_cpu_checker.hpp.

96 { assert(0); }

◆ generate_r1cs_witness_address()

template<typename FieldT >
void libsnark::fooram_cpu_checker< FieldT >::generate_r1cs_witness_address ( )

◆ generate_r1cs_witness_other()

template<typename FieldT >
void libsnark::fooram_cpu_checker< FieldT >::generate_r1cs_witness_other ( fooram_input_tape_iterator aux_it,
const fooram_input_tape_iterator aux_end 
)

Member Data Documentation

◆ compute_packed_load_addr

template<typename FieldT >
std::shared_ptr<bar_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::compute_packed_load_addr

Definition at line 66 of file fooram_cpu_checker.hpp.

◆ compute_packed_store_addr

template<typename FieldT >
std::shared_ptr<bar_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::compute_packed_store_addr

Definition at line 67 of file fooram_cpu_checker.hpp.

◆ compute_packed_store_val

template<typename FieldT >
std::shared_ptr<bar_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::compute_packed_store_val

Definition at line 68 of file fooram_cpu_checker.hpp.

◆ guess

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::guess

Definition at line 48 of file fooram_cpu_checker.hpp.

◆ increment_pc

template<typename FieldT >
std::shared_ptr<bar_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::increment_pc

Definition at line 65 of file fooram_cpu_checker.hpp.

◆ ls_addr

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::ls_addr

Definition at line 49 of file fooram_cpu_checker.hpp.

◆ ls_next_val

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::ls_next_val

Definition at line 51 of file fooram_cpu_checker.hpp.

◆ ls_prev_val

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::ls_prev_val

Definition at line 50 of file fooram_cpu_checker.hpp.

◆ next_has_accepted

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::next_has_accepted

Definition at line 54 of file fooram_cpu_checker.hpp.

◆ next_pc_addr

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::next_pc_addr

Definition at line 53 of file fooram_cpu_checker.hpp.

◆ next_state

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::next_state

Definition at line 52 of file fooram_cpu_checker.hpp.

◆ one_as_addr

template<typename FieldT >
pb_linear_combination_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::one_as_addr

Definition at line 58 of file fooram_cpu_checker.hpp.

◆ pack_ls_addr

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_ls_addr

Definition at line 75 of file fooram_cpu_checker.hpp.

◆ pack_ls_next_val

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_ls_next_val

Definition at line 77 of file fooram_cpu_checker.hpp.

◆ pack_ls_prev_val

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_ls_prev_val

Definition at line 76 of file fooram_cpu_checker.hpp.

◆ pack_next_pc_addr

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_next_pc_addr

Definition at line 59 of file fooram_cpu_checker.hpp.

◆ pack_next_state

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_next_state

Definition at line 79 of file fooram_cpu_checker.hpp.

◆ pack_prev_state

template<typename FieldT >
std::shared_ptr<packing_gadget<FieldT> > libsnark::fooram_cpu_checker< FieldT >::pack_prev_state

Definition at line 78 of file fooram_cpu_checker.hpp.

◆ packed_load_addr

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_load_addr

Definition at line 61 of file fooram_cpu_checker.hpp.

◆ packed_ls_addr

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_ls_addr

Definition at line 70 of file fooram_cpu_checker.hpp.

◆ packed_ls_next_val

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_ls_next_val

Definition at line 72 of file fooram_cpu_checker.hpp.

◆ packed_ls_prev_val

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_ls_prev_val

Definition at line 71 of file fooram_cpu_checker.hpp.

◆ packed_next_pc_addr

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_next_pc_addr

Definition at line 57 of file fooram_cpu_checker.hpp.

◆ packed_next_state

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_next_state

Definition at line 74 of file fooram_cpu_checker.hpp.

◆ packed_prev_state

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_prev_state

Definition at line 73 of file fooram_cpu_checker.hpp.

◆ packed_store_addr

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_store_addr

Definition at line 62 of file fooram_cpu_checker.hpp.

◆ packed_store_val

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::packed_store_val

Definition at line 63 of file fooram_cpu_checker.hpp.

◆ prev_pc_addr

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::prev_pc_addr

Definition at line 45 of file fooram_cpu_checker.hpp.

◆ prev_pc_val

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::prev_pc_val

Definition at line 46 of file fooram_cpu_checker.hpp.

◆ prev_state

template<typename FieldT >
pb_variable_array<FieldT> libsnark::fooram_cpu_checker< FieldT >::prev_state

Definition at line 47 of file fooram_cpu_checker.hpp.

◆ zero

template<typename FieldT >
pb_variable<FieldT> libsnark::fooram_cpu_checker< FieldT >::zero

Definition at line 56 of file fooram_cpu_checker.hpp.


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