2#include <unordered_map>
8#include <gtest/gtest.h>
26 uint32_t modulus_base = 16;
27 uint32_t bitvector_size = 32;
28 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
39 ASSERT_TRUE(s.
check());
51 uint32_t modulus_base = 16;
52 uint32_t bitvector_size = 32;
53 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
64 ASSERT_TRUE(s.
check());
76 uint32_t modulus_base = 16;
77 uint32_t bitvector_size = 32;
78 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
89 ASSERT_TRUE(s.
check());
98 uint32_t
b = (
a >> 10) | (
a << 22);
100 uint32_t modulus_base = 16;
101 uint32_t bitvector_size = 32;
102 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
111 ASSERT_TRUE(s.
check());
120 uint32_t
b = (
a << 10) | (
a >> 22);
122 uint32_t modulus_base = 16;
123 uint32_t bitvector_size = 32;
124 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
133 ASSERT_TRUE(s.
check());
147 uint32_t modulus_base = 16;
148 uint32_t bitvector_size = 32;
149 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
161 ASSERT_TRUE(s.
check());
164 ASSERT_EQ(
bb::fr(c), xvals);
173 uint32_t modulus_base = 16;
174 uint32_t bitvector_size = 32;
175 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
187 ASSERT_TRUE(s.
check());
190 ASSERT_EQ(
bb::fr(c), xvals);
199 uint32_t modulus_base = 16;
200 uint32_t bitvector_size = 32;
201 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
213 ASSERT_TRUE(s.
check());
216 ASSERT_EQ(
bb::fr(c), xvals);
225 uint32_t modulus_base = 16;
226 uint32_t bitvector_size = 32;
227 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
239 ASSERT_TRUE(s.
check());
242 ASSERT_EQ(
bb::fr(c), xvals);
250 uint32_t modulus_base = 16;
251 uint32_t bitvector_size = 32;
252 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
262 ASSERT_TRUE(s.
check());
273 uint32_t modulus_base = 16;
274 uint32_t bitvector_size = 32;
275 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
285 ASSERT_TRUE(s.
check());
294 unsigned int mask = (1 << 10) - 1;
295 uint32_t
b =
a & mask;
297 uint32_t modulus_base = 16;
298 uint32_t bitvector_size = 32;
299 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
309 ASSERT_TRUE(s.
check());
318 unsigned int mask = (1 << 10);
319 uint32_t
b =
a & mask;
322 uint32_t modulus_base = 16;
323 uint32_t bitvector_size = 32;
324 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
334 ASSERT_TRUE(s.
check());
virtual uint32_t get_random_uint32()=0
Symbolic term element class.
STerm rotl(const uint32_t &n) const
STerm rotr(const uint32_t &n) const
STerm extract_bit(const uint32_t &bit_index)
Returns ith bit of variable.
STerm truncate(const uint32_t &to_size)
Returns last to_size bits of variable.
smt_circuit::STerm shr(smt_circuit::STerm v0, smt_circuit::STerm v1, smt_solver::Solver *solver)
Right shift operation.
smt_circuit::STerm shl(smt_circuit::STerm v0, smt_circuit::STerm v1, smt_solver::Solver *solver)
Left shift operation without truncation.
Entry point for Barretenberg command-line interface.
TEST(MegaCircuitBuilder, CopyConstructor)
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
const SolverConfiguration default_solver_config
STerm BVVar(const std::string &name, Solver *slv)
bb::fr string_to_fr(const std::string &number, int base, bool is_signed, size_t step)
Converts a string of an arbitrary base to fr. Note: there should be no prefix.