11 #include <libff/common/profiling.hpp> 
   18 int main(
int argc, 
const char *argv[])
 
   21     libff::start_profiling();
 
   23     if (argc == 2 && strcmp(argv[1], 
"-v") == 0) {
 
   24         libff::print_compilation_info();
 
   28     if (argc != 3 && argc != 4) {
 
   29         printf(
"usage: %s num_constraints input_size [Fr|bytes]\n", argv[0]);
 
   32     const int num_constraints = atoi(argv[1]);
 
   33     int input_size = atoi(argv[2]);
 
   35         assert(strcmp(argv[3], 
"Fr") == 0 || strcmp(argv[3], 
"bytes") == 0);
 
   36         if (strcmp(argv[3], 
"bytes") == 0) {
 
   37             input_size = libff::div_ceil(
 
   43     libff::enter_block(
"Generate R1CS example");
 
   46             libff::Fr<snark_pp<default_r1cs_ppzkadsnark_pp>>>(
 
   47             num_constraints, input_size);
 
   48     libff::leave_block(
"Generate R1CS example");
 
   50     libff::print_header(
"(enter) Profile R1CS ppzkADSNARK");
 
   51     const bool test_serialization = 
true;
 
   52     run_r1cs_ppzkadsnark<default_r1cs_ppzkadsnark_pp>(
 
   53         example, test_serialization);
 
   54     libff::print_header(
"(leave) Profile R1CS ppzkADSNARK");