18 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
32 info(
"x = ", vals[
"x"]);
33 info(
"y = ", vals[
"y"]);
34 info(
"z = ", vals[
"z"]);
36 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000001010");
45 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
59 info(
"x = ", vals[
"x"]);
60 info(
"y = ", vals[
"y"]);
61 info(
"z = ", vals[
"z"]);
63 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000000010");
74 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
88 info(
"x = ", vals[
"x"]);
89 info(
"y = ", vals[
"y"]);
90 info(
"z = ", vals[
"z"]);
92 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000111000000000000");
101 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
113 info(
"x = ", vals[
"x"]);
114 info(
"z = ", vals[
"z"]);
116 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000100000000000");
125 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
140 info(
"x = ", vals[
"x"]);
141 info(
"y = ", vals[
"y"]);
142 info(
"z = ", vals[
"z"]);
143 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000000000");
152 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
167 info(
"x = ", vals[
"x"]);
168 info(
"y = ", vals[
"y"]);
169 info(
"z = ", vals[
"z"]);
170 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000000011");
179 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
194 info(
"x = ", vals[
"x"]);
195 info(
"y = ", vals[
"y"]);
196 info(
"z = ", vals[
"z"]);
197 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000000011");
206 Solver s(
"30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
219 info(
"x = ", vals[
"x"]);
220 info(
"y = ", vals[
"y"]);
221 info(
"z = ", vals[
"z"]);
223 EXPECT_TRUE(vals[
"z"] ==
"00000000000000000000000000000000");
std::unordered_map< std::string, std::string > model(std::unordered_map< std::string, cvc5::Term > &terms) const
Symbolic term element class.
smt_circuit::STerm shr(smt_circuit::STerm v0, smt_circuit::STerm v1, smt_solver::Solver *solver)
Right shift operation.
smt_circuit::STerm idiv(smt_circuit::STerm v0, smt_circuit::STerm v1, uint32_t bit_size, smt_solver::Solver *solver)
Signed division in noir-style.
smt_circuit::STerm shl(smt_circuit::STerm v0, smt_circuit::STerm v1, smt_solver::Solver *solver)
Left shift operation without truncation.
smt_circuit::STerm shl32(smt_circuit::STerm v0, smt_circuit::STerm v1, smt_solver::Solver *solver)
Left shift operation with 32-bit truncation.
smt_circuit::STerm pow2_8(smt_circuit::STerm v0, smt_solver::Solver *solver)
Calculates power of 2.
TEST(helpers, shl)
Test left shift operation Tests that 5 << 1 = 10 using SMT solver.
Entry point for Barretenberg command-line interface.
const SolverConfiguration default_solver_config
STerm BVVar(const std::string &name, Solver *slv)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept