Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
test_fooram.cpp
Go to the documentation of this file.
1 
7 #include <libff/common/utils.hpp>
13 
14 namespace libsnark
15 {
16 
18 {
19 public:
21  typedef typename PCD_pp::scalar_field_A FieldT;
23 
25 };
26 
28 {
29 public:
31  typedef libff::Fr<default_r1cs_ppzksnark_pp> FieldT;
33 
34  static void init_public_params() { snark_pp::init_public_params(); }
35 };
36 
37 } // namespace libsnark
38 
39 using namespace libsnark;
40 
41 template<typename ppT> void profile_ram_zksnark(const size_t w)
42 {
43  typedef ram_zksnark_machine_pp<ppT> ramT;
44 
45  ram_example<ramT> example;
46  example.ap = ram_architecture_params<ramT>(w);
47  example.boot_trace_size_bound = 0;
48  example.time_bound = 10;
49  const bool test_serialization = true;
50  const bool bit = run_ram_zksnark<ppT>(example, test_serialization);
51  assert(bit);
52 }
53 
54 template<typename ppT> void profile_ram_ppzksnark(const size_t w)
55 {
56  typedef ram_ppzksnark_machine_pp<ppT> ramT;
57 
58  ram_example<ramT> example;
59  example.ap = ram_architecture_params<ramT>(w);
60  example.boot_trace_size_bound = 0;
61  example.time_bound = 100;
62  const bool test_serialization = true;
63  const bool bit = run_ram_ppzksnark<ppT>(example, test_serialization);
64  assert(bit);
65 }
66 
67 int main(int argc, const char *argv[])
68 {
69  libff::UNUSED(argv);
70  libff::start_profiling();
73 
74  if (argc == 1) {
75  profile_ram_zksnark<default_fooram_zksnark_pp>(32);
76  } else {
77  profile_ram_ppzksnark<default_fooram_ppzksnark_pp>(8);
78  }
79 }
libsnark::default_r1cs_ppzksnark_pp
libff::default_ec_pp default_r1cs_ppzksnark_pp
Definition: r1cs_ppzksnark_pp.hpp:20
libsnark::ram_architecture_params
typename ramT::architecture_params_type ram_architecture_params
Definition: ram_params.hpp:53
libsnark::default_fooram_ppzksnark_pp::machine_pp
ram_fooram< FieldT > machine_pp
Definition: test_fooram.cpp:32
profile_ram_zksnark
void profile_ram_zksnark(const size_t w)
Definition: test_fooram.cpp:41
libsnark
Definition: accumulation_vector.hpp:18
libsnark::default_fooram_zksnark_pp::FieldT
PCD_pp::scalar_field_A FieldT
Definition: test_fooram.cpp:21
libsnark::ram_zksnark_machine_pp
typename ram_zksnark_ppT::machine_pp ram_zksnark_machine_pp
Definition: ram_zksnark_params.hpp:64
fooram_params.hpp
libsnark::ram_fooram
Definition: fooram_params.hpp:22
run_ram_ppzksnark.hpp
libsnark::ram_example::time_bound
size_t time_bound
Definition: ram_examples.hpp:24
libsnark::default_fooram_ppzksnark_pp::init_public_params
static void init_public_params()
Definition: test_fooram.cpp:34
libsnark::default_fooram_zksnark_pp::init_public_params
static void init_public_params()
Definition: test_fooram.cpp:24
main
int main(int argc, const char *argv[])
Definition: test_fooram.cpp:67
libsnark::ram_example
Definition: ram_examples.hpp:21
libsnark::default_fooram_ppzksnark_pp
Definition: test_fooram.cpp:27
libsnark::ram_ppzksnark_machine_pp
typename ram_ppzksnark_ppT::machine_pp ram_ppzksnark_machine_pp
Definition: ram_ppzksnark_params.hpp:64
libsnark::default_fooram_zksnark_pp::machine_pp
ram_fooram< FieldT > machine_pp
Definition: test_fooram.cpp:22
libsnark::default_fooram_zksnark_pp
Definition: test_fooram.cpp:17
libsnark::ram_example::boot_trace_size_bound
size_t boot_trace_size_bound
Definition: ram_examples.hpp:23
libsnark::default_r1cs_ppzkpcd_pp
Definition: r1cs_ppzkpcd_pp.hpp:23
libsnark::ram_example::ap
ram_architecture_params< ramT > ap
Definition: ram_examples.hpp:22
libsnark::default_fooram_ppzksnark_pp::snark_pp
default_r1cs_ppzksnark_pp snark_pp
Definition: test_fooram.cpp:30
r1cs_ppzksnark_pp.hpp
libsnark::default_fooram_ppzksnark_pp::FieldT
libff::Fr< default_r1cs_ppzksnark_pp > FieldT
Definition: test_fooram.cpp:31
libsnark::default_r1cs_ppzkpcd_pp::init_public_params
static void init_public_params()
Definition: r1cs_ppzkpcd_pp.cpp:17
libsnark::default_fooram_zksnark_pp::PCD_pp
default_r1cs_ppzkpcd_pp PCD_pp
Definition: test_fooram.cpp:20
run_ram_zksnark.hpp
r1cs_ppzkpcd_pp.hpp
libsnark::default_r1cs_ppzkpcd_pp::scalar_field_A
libff::Fr< curve_A_pp > scalar_field_A
Definition: r1cs_ppzkpcd_pp.hpp:29
profile_ram_ppzksnark
void profile_ram_ppzksnark(const size_t w)
Definition: test_fooram.cpp:54