14template <
typename Builder>
26 for (
const auto& witness_index_num_bits : constraint.
inputs) {
31 for (
const auto& witness_index_num_bits : constraint.
hash_values) {
39 for (
size_t i = 0; i < 8; ++i) {
40 auto normalised_output = output_bytes[i].normalize();
41 if (normalised_output.is_constant()) {
42 builder.fix_witness(constraint.
result[i], normalised_output.get_value());
45 .
a = normalised_output.witness_index,
54 builder.create_poly_gate(assert_equal);
static std::array< field_ct, 8 > sha256_block(const std::array< field_ct, 8 > &h_init, const std::array< field_ct, 16 > &input)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept