Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the documentation of this file.
12 #ifndef TINYRAM_AUX_HPP_
13 #define TINYRAM_AUX_HPP_
17 #include <libff/common/utils.hpp>
79 const static int tinyram_opcodes_register[] = {
97 const static int tinyram_opcodes_control_flow[] = {
104 const static int tinyram_opcodes_stall[] = {
118 extern std::map<tinyram_opcode, tinyram_opcode_args>
opcode_args;
136 assert(
w == 1ul << libff::log2(
w));
209 const tinyram_architecture_params &ap, std::istream &preprocessed);
212 const tinyram_architecture_params &ap,
213 const size_t boot_trace_size_bound,
214 const tinyram_program &program,
221 #endif // TINYRAM_AUX_HPP_
@ tinyram_opcode_args_des_arg2
size_t dwaddr_len() const
size_t value_size() const
std::map< tinyram_opcode, std::string > tinyram_opcode_names
std::vector< tinyram_instruction > generate_tinyram_prelude(const tinyram_architecture_params &ap)
size_t instruction_padding_width() const
size_t subaddr_len() const
friend std::ostream & operator<<(std::ostream &out, const tinyram_architecture_params &ap)
@ tinyram_opcode_args_arg2_des
tinyram_program load_preprocessed_program(const tinyram_architecture_params &ap, std::istream &preprocessed)
std::map< size_t, size_t > memory_contents
size_t reg_arg_or_imm_width() const
tinyram_architecture_params(const reg_width_t w, const reg_count_t k)
std::vector< size_t > tinyram_input_tape
@ tinyram_opcode_args_none
tinyram_instruction random_tinyram_instruction(const tinyram_architecture_params &ap)
void ensure_tinyram_opcode_value_map()
size_t bytes_in_word() const
tinyram_input_tape::const_iterator tinyram_input_tape_iterator
@ tinyram_opcode_args_des_arg1_arg2
bool operator==(const tinyram_architecture_params &other) const
std::map< tinyram_opcode, tinyram_opcode_args > opcode_args
@ tinyram_opcode_args_arg2
size_t cpu_state_size() const
tinyram_architecture_params()
tinyram_instruction tinyram_default_instruction
size_t reg_arg_width() const
libff::bit_vector initial_cpu_state() const
size_t address_size() const
size_t as_dword(const tinyram_architecture_params &ap) const
tinyram_input_tape load_tape(std::istream &tape)
friend std::istream & operator>>(std::istream &in, tinyram_architecture_params &ap)
memory_store_trace tinyram_boot_trace_from_program_and_input(const tinyram_architecture_params &ap, const size_t boot_trace_size_bound, const tinyram_program &program, const tinyram_input_tape &primary_input)
tinyram_instruction(const tinyram_opcode &opcode, const bool arg2_is_imm, const size_t &desidx, const size_t &arg1idx, const size_t &arg2idx_or_imm)
std::map< std::string, tinyram_opcode > opcode_values
size_t instr_size() const
void add_instruction(const tinyram_instruction &instr)
size_t initial_pc_addr() const
size_t opcode_width() const
memory_contents initial_memory_contents(const tinyram_program &program, const tinyram_input_tape &primary_input) const
@ tinyram_opcode_args_arg1_arg2
std::vector< tinyram_instruction > instructions