9#include <gtest/gtest.h>
24 witness_values.push_back(0);
26 cycle_group_ct input_point(
g1);
28 cycle_group_ct result = input_point.dbl();
30 witness_values.push_back(
g1.x);
31 witness_values.push_back(
g1.y);
32 witness_values.push_back(
g1.x);
33 witness_values.push_back(
g1.y);
34 witness_values.push_back(result.x.get_value());
35 witness_values.push_back(result.y.get_value());
36 witness_values.push_back(
fr(0));
37 witness_values.push_back(
fr(0));
38 witness_values.push_back(
fr(1));
39 ec_add_constraint =
EcAdd{
51 return witness_values.size();
56 EcAdd ec_add_constraint;
62 .
varnum =
static_cast<uint32_t
>(num_variables + 1),
63 .num_acir_opcodes = 1,
65 .ec_add_constraints = { ec_add_constraint },
70 AcirProgram program{ constraint_system, witness_values };
78 EcAdd ec_add_constraint;
82 witness_values[2] =
fr(0);
83 witness_values[9] =
fr(0);
85 .
varnum =
static_cast<uint32_t
>(num_variables + 1),
86 .num_acir_opcodes = 1,
88 .ec_add_constraints = { ec_add_constraint },
93 AcirProgram program{ constraint_system, witness_values };
101 witness_values.emplace_back(
fr(0));
108 fr(
"0x0000000000000002cf135e7506a45d632d270d45f1181294833fc48d823f272c"),
114 fr(
"0x06ce1b0827aafa85ddeb49cdaa36306d19a74caa311e13d46d8bc688cdbffffe"),
115 fr(
"0x1c122f81a3a14964909ede0ba2a6855fc93faf6fa1a788bf467be7e7a43f80ac"),
124 .is_constant =
false,
129 .is_constant =
false,
134 .is_constant =
false,
139 .is_constant =
false,
144 .is_constant =
false,
149 .is_constant =
false,
154 .is_constant =
false,
159 .is_constant =
false,
164 .is_constant =
false,
169 .is_constant =
false,
175 .is_constant =
false,
179 .out_point_is_infinite = 8,
181 return witness_values.size();
188 auto res_x =
fr(
"0x06ce1b0827aafa85ddeb49cdaa36306d19a74caa311e13d46d8bc688cdbffffe");
200 size_t num_variables = witness_values.size();
202 .
varnum =
static_cast<uint32_t
>(num_variables + 1),
203 .num_acir_opcodes = 1,
205 .multi_scalar_mul_constraints = { msm_constrain },
206 .poly_triple_constraints = { assert_equal },
211 AcirProgram program{ constraint_system, witness_values };
222 witness_values[2] =
fr(0);
223 witness_values[9] =
fr(0);
224 auto res_x =
fr(
"0x06ce1b0827aafa85ddeb49cdaa36306d19a74caa311e13d46d8bc688cdbffffe");
236 size_t num_variables = witness_values.size();
238 .
varnum =
static_cast<uint32_t
>(num_variables + 1),
239 .num_acir_opcodes = 1,
241 .multi_scalar_mul_constraints = { msm_constrain },
242 .poly_triple_constraints = { assert_equal },
247 AcirProgram program{ constraint_system, witness_values };
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
group class. Represents an elliptic curve group element. Group is parametrised by Fq and Fr
static constexpr affine_element affine_one
cycle_group represents a group Element of the proving system's embedded curve, i.e....
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
TEST_F(IPATest, ChallengesAreZero)
static constexpr field neg_one()