16 #include <libff/common/utils.hpp>
23 const size_t primary_input_size,
24 const size_t auxiliary_input_size,
25 const size_t num_gates,
26 const size_t num_outputs)
29 for (
size_t i = 0; i < primary_input_size; ++i) {
30 example.
primary_input.push_back(std::rand() % 2 == 0 ?
false :
true);
33 for (
size_t i = 0; i < auxiliary_input_size; ++i) {
50 for (
size_t i = 0; i < num_gates; ++i) {
51 const size_t num_variables =
52 primary_input_size + auxiliary_input_size + i;
54 gate.
left_wire = std::rand() % (num_variables + 1);
55 gate.
right_wire = std::rand() % (num_variables + 1);
56 gate.
output = num_variables + 1;
58 if (i >= num_gates - num_outputs) {
71 all_vals.push_back(gate.
evaluate(all_vals));