Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
libsnark
gadgetlib1
gadgets
cpu_checkers
tinyram
components
tinyram_protoboard.hpp
Go to the documentation of this file.
1
12
#ifndef TINYRAM_PROTOBOARD_HPP_
13
#define TINYRAM_PROTOBOARD_HPP_
14
15
#include <
libsnark/gadgetlib1/gadgets/basic_gadgets.hpp
>
16
#include <
libsnark/gadgetlib1/protoboard.hpp
>
17
#include <
libsnark/relations/ram_computations/rams/ram_params.hpp
>
18
#include <
libsnark/relations/ram_computations/rams/tinyram/tinyram_aux.hpp
>
19
20
namespace
libsnark
21
{
22
23
template
<
typename
FieldT>
class
tinyram_protoboard
:
public
protoboard
<FieldT>
24
{
25
public
:
26
const
tinyram_architecture_params
ap
;
27
28
tinyram_protoboard
(
const
tinyram_architecture_params
&
ap
);
29
};
30
31
template
<
typename
FieldT>
class
tinyram_gadget
:
public
gadget
<FieldT>
32
{
33
protected
:
34
tinyram_protoboard<FieldT>
&
pb
;
35
36
public
:
37
tinyram_gadget
(
38
tinyram_protoboard<FieldT>
&
pb
,
39
const
std::string &
annotation_prefix
=
""
);
40
};
41
42
// standard gadgets provide two methods: generate_r1cs_constraints and
43
// generate_r1cs_witness
44
template
<
typename
FieldT>
45
class
tinyram_standard_gadget
:
public
tinyram_gadget
<FieldT>
46
{
47
public
:
48
tinyram_standard_gadget
(
49
tinyram_protoboard<FieldT>
&
pb
,
50
const
std::string &
annotation_prefix
=
""
);
51
52
virtual
void
generate_r1cs_constraints
() = 0;
53
virtual
void
generate_r1cs_witness
() = 0;
54
};
55
56
}
// namespace libsnark
57
58
#include <
libsnark/gadgetlib1/gadgets/cpu_checkers/tinyram/components/tinyram_protoboard.tcc
>
59
60
#endif // TINYRAM_PROTOBOARD_HPP_
libsnark::gadget::annotation_prefix
const std::string annotation_prefix
Definition:
gadget.hpp:20
libsnark
Definition:
accumulation_vector.hpp:18
libsnark::tinyram_protoboard::tinyram_protoboard
tinyram_protoboard(const tinyram_architecture_params &ap)
libsnark::tinyram_gadget::tinyram_gadget
tinyram_gadget(tinyram_protoboard< FieldT > &pb, const std::string &annotation_prefix="")
libsnark::tinyram_architecture_params
Definition:
tinyram_aux.hpp:126
libsnark::gadget
Definition:
gadget.hpp:16
protoboard.hpp
libsnark::tinyram_gadget::pb
tinyram_protoboard< FieldT > & pb
Definition:
tinyram_protoboard.hpp:34
libsnark::tinyram_protoboard
Definition:
tinyram_protoboard.hpp:23
tinyram_protoboard.tcc
tinyram_aux.hpp
basic_gadgets.hpp
libsnark::tinyram_standard_gadget
Definition:
tinyram_protoboard.hpp:45
libsnark::tinyram_standard_gadget::generate_r1cs_witness
virtual void generate_r1cs_witness()=0
libsnark::tinyram_protoboard::ap
const tinyram_architecture_params ap
Definition:
tinyram_protoboard.hpp:26
libsnark::tinyram_gadget
Definition:
tinyram_protoboard.hpp:31
libsnark::tinyram_standard_gadget::tinyram_standard_gadget
tinyram_standard_gadget(tinyram_protoboard< FieldT > &pb, const std::string &annotation_prefix="")
libsnark::tinyram_standard_gadget::generate_r1cs_constraints
virtual void generate_r1cs_constraints()=0
ram_params.hpp
libsnark::protoboard
Definition:
pb_variable.hpp:22
Generated on Wed Jan 25 2023 11:05:57 for Clearmatics Libsnark by
1.8.17