54 using EltW =
typename LogicF::EltW;
55 using BitW =
typename LogicF::BitW;
60 explicit CborTesting(
const Field &F) : f_(F) {}
62 void convert_witnesses(
63 size_t n,
typename CborL::v8 in[],
64 typename CborL::position_witness pw[],
65 typename CborL::global_witness &gw,
66 const typename CborWitnessF::v8 inS[],
69 const EvalBackend ebk(f_);
70 const LogicF L(&ebk, f_);
71 const Counter<LogicF> CTR(L);
73 for (
size_t i = 0; i < n; ++i) {
74 for (
size_t j = 0; j < 8; ++j) {
75 in[i][j] = BitW(L.konst(inS[i][j]), f_);
77 pw[i].encoded_sel_header = L.konst(pwS[i].encoded_sel_header);
80 gw.invprod_decode = L.konst(gwS.invprod_decode);
81 gw.cc0_counter = CTR.as_counter(gwS.cc0_counter);
82 gw.invprod_parse = L.konst(gwS.invprod_parse);
87 typename CborL::vindex index(
size_t j)
const {
88 const EvalBackend ebk(f_);
89 const LogicF L(&ebk, f_);
90 return L.template vbit<CborConstants::kIndexBits>(j);