Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
public_inputs_trace.cpp
Go to the documentation of this file.
2
5
6namespace bb::avm2::tracegen {
7
9{
10 using C = Column;
11
12 auto cols = public_inputs.to_columns();
13
14 trace.reserve_column(C::public_inputs_cols_0_, AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH);
15 trace.reserve_column(C::public_inputs_cols_1_, AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH);
16 trace.reserve_column(C::public_inputs_cols_2_, AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH);
17 trace.reserve_column(C::public_inputs_cols_3_, AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH);
18
19 for (uint32_t row = 0; row < AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH; row++) {
20 trace.set(C::public_inputs_cols_0_, row, cols[0][row]);
21 trace.set(C::public_inputs_cols_1_, row, cols[1][row]);
22 trace.set(C::public_inputs_cols_2_, row, cols[2][row]);
23 trace.set(C::public_inputs_cols_3_, row, cols[3][row]);
24 }
25}
26
27// precomputed trace size must be greater than the public inputs trace size
28// because we use precomputed_idx to lookup into the public inputs trace.
30
32{
33 using C = Column;
34
35 // sel is precomputed to be 1 for all rows up to AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH
36 trace.reserve_column(C::public_inputs_sel, AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH);
37 for (uint32_t row = 0; row < AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH; row++) {
38 trace.set(C::public_inputs_sel, row, 1);
39 }
40}
41
42} // namespace bb::avm2::tracegen
#define AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH
void process_public_inputs(TraceContainer &trace, const PublicInputs &public_inputs)
void process_public_inputs_aux_precomputed(TraceContainer &trace)
TestTraceContainer trace
constexpr uint32_t PRECOMPUTED_TRACE_SIZE
std::vector< std::vector< FF > > to_columns() const
Serialization to columns.
Definition avm_io.cpp:142