Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <cstddef>
#include <libff/common/serialization.hpp>
#include <libsnark/gadgetlib1/gadget.hpp>
#include <libsnark/gadgetlib1/gadgets/basic_gadgets.hpp>
#include <libsnark/gadgetlib1/gadgets/cpu_checkers/fooram/components/bar_gadget.hpp>
#include <libsnark/gadgetlib1/gadgets/cpu_checkers/fooram/components/fooram_protoboard.hpp>
#include <libsnark/relations/ram_computations/memory/memory_interface.hpp>
#include <memory>
#include <libsnark/gadgetlib1/gadgets/cpu_checkers/fooram/fooram_cpu_checker.tcc>
Go to the source code of this file.
Classes | |
class | libsnark::fooram_cpu_checker< FieldT > |
Namespaces | |
libsnark | |
Declaration of interfaces for the FOORAM CPU checker gadget.
The gadget checks the correct operation for the CPU of the FOORAM architecture.
In FOORAM, the only instruction is FOO(x) and its encoding is x. The instruction FOO(x) has the following semantics:
Starting from empty memory, FOORAM performs non-trivial pseudo-random computation that exercises both loads, stores, and instruction fetches.
E.g. for the first 200 steps on 16 cell machine we get 93 different memory configurations.
Definition in file fooram_cpu_checker.hpp.