46 auto deserialize_point = [&]() {
48 NativeG1::PUBLIC_INPUTS_SIZE);
49 idx += NativeG1::PUBLIC_INPUTS_SIZE;
50 return NativeG1::reconstruct_from_public(limbs);
58 commitment = deserialize_point();
76 auto serialize_fq = [&](
const NativeFq& fq_val) {
77 constexpr uint64_t NUM_LIMB_BITS = NUM_LIMB_BITS_IN_FIELD_SIMULATION;
80 proof[idx++] =
NativeFF(val & LIMB_MASK);
81 proof[idx++] =
NativeFF((val >> NUM_LIMB_BITS) & LIMB_MASK);
82 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 2)) & LIMB_MASK);
83 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 3)) & LIMB_MASK);
86 auto serialize_point = [&](
const NativeG1& point) {
87 serialize_fq(point.x);
88 serialize_fq(point.y);
96 serialize_point(commitment);
132 auto deserialize_point = [&]() {
134 NativeG1::PUBLIC_INPUTS_SIZE);
135 idx += NativeG1::PUBLIC_INPUTS_SIZE;
136 return NativeG1::reconstruct_from_public(limbs);
143 commitment = deserialize_point();
158 auto serialize_fq = [&](
const NativeFq& fq_val) {
159 constexpr uint64_t NUM_LIMB_BITS = NUM_LIMB_BITS_IN_FIELD_SIMULATION;
162 proof[idx++] =
NativeFF(val & LIMB_MASK);
163 proof[idx++] =
NativeFF((val >> NUM_LIMB_BITS) & LIMB_MASK);
164 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 2)) & LIMB_MASK);
165 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 3)) & LIMB_MASK);
168 auto serialize_point = [&](
const NativeG1& point) {
169 serialize_fq(point.x);
170 serialize_fq(point.y);
177 serialize_point(commitment);
213 auto deserialize_point = [&]() {
215 NativeG1::PUBLIC_INPUTS_SIZE);
216 idx += NativeG1::PUBLIC_INPUTS_SIZE;
217 return NativeG1::reconstruct_from_public(limbs);
236 auto serialize_fq = [&](
const NativeFq& fq_val) {
237 constexpr uint64_t NUM_LIMB_BITS = NUM_LIMB_BITS_IN_FIELD_SIMULATION;
240 proof[idx++] =
NativeFF(val & LIMB_MASK);
241 proof[idx++] =
NativeFF((val >> NUM_LIMB_BITS) & LIMB_MASK);
242 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 2)) & LIMB_MASK);
243 proof[idx++] =
NativeFF((val >> (NUM_LIMB_BITS * 3)) & LIMB_MASK);
246 auto serialize_point = [&](
const NativeG1& point) {
247 serialize_fq(point.x);
248 serialize_fq(point.y);
typename Group::affine_element AffineElement
Native representation and serde for AppIO public inputs.
void to_proof(std::vector< NativeFF > &proof, size_t num_public_inputs) const
Serialize AppIO back to a proof vector.
NativePairingPoints pairing_inputs
static AppIOSerde from_proof(const std::vector< NativeFF > &proof, size_t num_public_inputs)
Deserialize AppIO from a proof vector.
static constexpr size_t PUBLIC_INPUTS_SIZE
curve::BN254::AffineElement NativeG1
Native representation and serde for HidingKernelIO public inputs.
void to_proof(std::vector< NativeFF > &proof, size_t num_public_inputs) const
Serialize HidingKernelIO back to a proof vector.
static constexpr size_t PUBLIC_INPUTS_SIZE
std::array< NativeG1, MegaCircuitBuilder::NUM_WIRES > NativeTableCommitments
curve::BN254::AffineElement NativeG1
NativeG1 kernel_return_data
NativeTableCommitments ecc_op_tables
NativePairingPoints pairing_inputs
static HidingKernelIOSerde from_proof(const std::vector< NativeFF > &proof, size_t num_public_inputs)
Deserialize HidingKernelIO from a proof vector.
For test purposes only: Native representation and serde for KernelIO public inputs
std::array< NativeG1, MegaCircuitBuilder::NUM_WIRES > NativeTableCommitments
NativeFF output_hn_accum_hash
NativePairingPoints pairing_inputs
curve::BN254::AffineElement NativeG1
static constexpr size_t PUBLIC_INPUTS_SIZE
void to_proof(std::vector< NativeFF > &proof, size_t num_public_inputs) const
Serialize KernelIO back to a proof vector.
NativeTableCommitments ecc_op_tables
NativeG1 kernel_return_data
static KernelIOSerde from_proof(const std::vector< NativeFF > &proof, size_t num_public_inputs)
Deserialize KernelIO from a proof vector.
field< Bn254FrParams > fr
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept