18 shifted_columns.insert(col);
20 return shifted_columns;
22 return shifted_columns.contains(c);
35 auto it = shifts.find(c);
49 auto it = unshifts.find(c);
64 full_row.
get(shifted.value()) =
value;
static constexpr size_t num_columns()
const FF & get(Column col, uint32_t row) const
const FF & get_column_or_shift(ColumnAndShifts col, uint32_t row) const
std::optional< ColumnAndShifts > shift_column(Column c)
AvmFullRow get_full_row(const TraceContainer &trace, uint32_t row)
bool is_shift(ColumnAndShifts c)
std::optional< Column > unshift_column(ColumnAndShifts c)
AvmFullRowConstRef get_full_row_ref(const TraceContainer &trace, uint32_t row)
::ankerl::unordered_dense::set< Key > unordered_flat_set
constexpr auto SHIFTED_COLUMNS_ARRAY
constexpr auto TO_BE_SHIFTED_COLUMNS_ARRAY
::ankerl::unordered_dense::map< Key, T > unordered_flat_map
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
FF & get(ColumnAndShifts col)