12template <
typename Builder>
16 const uint32_t result,
17 const size_t num_bits,
18 const bool is_xor_gate)
33 const uint32_t result,
34 const size_t num_bits,
35 const bool is_xor_gate);
39 const uint32_t result,
40 const size_t num_bits,
41 const bool is_xor_gate);
void assert_equal(const field_t &rhs, std::string const &msg="field_t::assert_equal") const
Copy constraint: constrain that *this field is equal to rhs element.
static field_t from_witness_index(Builder *ctx, uint32_t witness_index)
static field_pt create_logic_constraint(field_pt &a, field_pt &b, size_t num_bits, bool is_xor_gate, const std::function< std::pair< uint256_t, uint256_t >(uint256_t, uint256_t, size_t)> &get_chunk=[](uint256_t left, uint256_t right, size_t chunk_size) { uint256_t left_chunk=left &((uint256_t(1)<< chunk_size) - 1);uint256_t right_chunk=right &((uint256_t(1)<< chunk_size) - 1);return std::make_pair(left_chunk, right_chunk);})
A logical AND or XOR over a variable number of bits.