#include <tinyram_aux.hpp>
Definition at line 126 of file tinyram_aux.hpp.
◆ tinyram_architecture_params() [1/2]
libsnark::tinyram_architecture_params::tinyram_architecture_params |
( |
| ) |
|
|
inline |
◆ tinyram_architecture_params() [2/2]
libsnark::tinyram_architecture_params::tinyram_architecture_params |
( |
const reg_width_t |
w, |
|
|
const reg_count_t |
k |
|
) |
| |
|
inline |
◆ address_size()
size_t libsnark::tinyram_architecture_params::address_size |
( |
| ) |
const |
◆ bytes_in_word()
size_t libsnark::tinyram_architecture_params::bytes_in_word |
( |
| ) |
const |
◆ cpu_state_size()
size_t libsnark::tinyram_architecture_params::cpu_state_size |
( |
| ) |
const |
◆ dwaddr_len()
size_t libsnark::tinyram_architecture_params::dwaddr_len |
( |
| ) |
const |
◆ initial_cpu_state()
libff::bit_vector libsnark::tinyram_architecture_params::initial_cpu_state |
( |
| ) |
const |
◆ initial_memory_contents()
Definition at line 169 of file tinyram_aux.cpp.
176 for (
size_t i = 0; i < program.instructions.size(); ++i) {
177 m[i] = program.instructions[i].as_dword(*
this);
180 const size_t input_addr = 1ul << (
dwaddr_len() - 1);
184 size_t latest_double_word = (1ull << (
w - 1)) + primary_input.size();
185 for (
size_t i = 0; i < primary_input.size() / 2 + 1; ++i) {
186 if (2 * i < primary_input.size()) {
187 latest_double_word += (primary_input[2 * i] <<
w);
190 m[input_addr + i] = latest_double_word;
192 if (2 * i + 1 < primary_input.size()) {
193 latest_double_word = primary_input[2 * i + 1];
◆ initial_pc_addr()
size_t libsnark::tinyram_architecture_params::initial_pc_addr |
( |
| ) |
const |
◆ instr_size()
size_t libsnark::tinyram_architecture_params::instr_size |
( |
| ) |
const |
◆ instruction_padding_width()
size_t libsnark::tinyram_architecture_params::instruction_padding_width |
( |
| ) |
const |
◆ opcode_width()
size_t libsnark::tinyram_architecture_params::opcode_width |
( |
| ) |
const |
◆ operator==()
Definition at line 236 of file tinyram_aux.cpp.
239 return (this->
w == other.w && this->k == other.k);
◆ print()
void libsnark::tinyram_architecture_params::print |
( |
| ) |
const |
Definition at line 287 of file tinyram_aux.cpp.
289 printf(
"* Number of registers (k): %zu\n",
k);
290 printf(
"* Word size (w): %zu\n",
w);
◆ reg_arg_or_imm_width()
size_t libsnark::tinyram_architecture_params::reg_arg_or_imm_width |
( |
| ) |
const |
◆ reg_arg_width()
size_t libsnark::tinyram_architecture_params::reg_arg_width |
( |
| ) |
const |
◆ subaddr_len()
size_t libsnark::tinyram_architecture_params::subaddr_len |
( |
| ) |
const |
◆ value_size()
size_t libsnark::tinyram_architecture_params::value_size |
( |
| ) |
const |
◆ operator<<
◆ operator>>
Definition at line 250 of file tinyram_aux.cpp.
253 libff::consume_newline(in);
255 libff::consume_newline(in);
The documentation for this class was generated from the following files:
- /home/runner/work/libsnark/libsnark/libsnark/relations/ram_computations/rams/tinyram/tinyram_aux.hpp
- /home/runner/work/libsnark/libsnark/libsnark/relations/ram_computations/rams/tinyram/tinyram_aux.cpp