Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
profile_bacs_ppzksnark.cpp
Go to the documentation of this file.
1 
23 #include <cstdio>
24 #include <libff/common/profiling.hpp>
28 
29 using namespace libsnark;
30 
31 int main(int argc, const char *argv[])
32 {
33  default_bacs_ppzksnark_pp::init_public_params();
34  libff::start_profiling();
35 
36  if (argc == 2 && strcmp(argv[1], "-v") == 0) {
37  libff::print_compilation_info();
38  return 0;
39  }
40 
41  if (argc != 3) {
42  printf("usage: %s num_gates primary_input_size\n", argv[0]);
43  return 1;
44  }
45  const int num_gates = atoi(argv[1]);
46  int primary_input_size = atoi(argv[2]);
47 
48  const size_t auxiliary_input_size = 0;
49  const size_t num_outputs = num_gates / 2;
50 
51  libff::enter_block("Generate BACS example");
53  generate_bacs_example<libff::Fr<default_bacs_ppzksnark_pp>>(
54  primary_input_size, auxiliary_input_size, num_gates, num_outputs);
55  libff::leave_block("Generate BACS example");
56 
57  libff::print_header("(enter) Profile BACS ppzkSNARK");
58  const bool test_serialization = true;
59  run_bacs_ppzksnark<default_bacs_ppzksnark_pp>(example, test_serialization);
60  libff::print_header("(leave) Profile BACS ppzkSNARK");
61 }
run_bacs_ppzksnark.hpp
libsnark
Definition: accumulation_vector.hpp:18
bacs_examples.hpp
libsnark::bacs_example
Definition: bacs_examples.hpp:25
bacs_ppzksnark_pp.hpp
main
int main(int argc, const char *argv[])
Definition: profile_bacs_ppzksnark.cpp:31