8#include "../circuit_builders/circuit_builders_fwd.hpp"
A dynamic array of field elements.
witness_t< Builder > witness_pt
void conditional_pop(const bool_pt &predicate)
Conditionallhy pop a field element off of the dynamic array.
bool_t< Builder > bool_pt
field_t< Builder > field_pt
ram_table< Builder > _inner_table
void write(const field_pt &index, const field_pt &value)
Write a field element into the dynamic array at an index value.
void resize(const field_pt &new_length, const field_pt default_value=0)
Resize array. Current method v. inefficient!
void push(const field_pt &index)
Push a field element onto the dynamic array.
field_pt read(const field_pt &index) const
Read a field element from the dynamic array at an index value.
void pop()
Pop a field element off of the dynamic array.
DynamicArray & operator=(const DynamicArray &other)
Assignment Operator.
void conditional_push(const bool_pt &predicate, const field_pt &index)
Conditionally push a field element onto the dynamic array.
size_t native_size() const
Builder * get_context() const
Implements boolean logic in-circuit.
bb::fr get_value() const
Given a := *this, compute its value given by a.v * a.mul + a.add.