Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Classes | Namespaces
fooram_cpu_checker.hpp File Reference
#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>
Include dependency graph for fooram_cpu_checker.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  libsnark::fooram_cpu_checker< FieldT >
 

Namespaces

 libsnark
 

Detailed Description

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.

Author
This file is part of libsnark, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file fooram_cpu_checker.hpp.