barretenberg
Loading...
Searching...
No Matches
Public Member Functions | List of all members
proof_system::plonk::stdlib::ram_table< Builder > Class Template Reference

Public Member Functions

 ram_table (Builder *builder, const size_t table_size)
 Construct a new ram table<Builder>::ram table object. It's dynamic memory!
 
 ram_table (const std::vector< field_pt > &table_entries)
 Construct a new ram table<Builder>::ram table object. It's dynamic memory!
 
 ram_table (const ram_table &other)
 Construct a new ram table<Builder>::ram table object.
 
 ram_table (ram_table &&other)
 Construct a new ram table<Builder>::ram table object.
 
void initialize_table () const
 internal method, is used to call Builder methods that will generate RAM table.
 
ram_tableoperator= (const ram_table &other)
 Copy assignment operator.
 
ram_tableoperator= (ram_table &&other)
 Move assignment operator.
 
field_pt read (const field_pt &index) const
 Read a field element from the RAM table at an index value.
 
void write (const field_pt &index, const field_pt &value)
 Write a field element from the RAM table at an index value.
 
size_t size () const
 
Builderget_context () const
 
bool check_indices_initialized () const
 

Constructor & Destructor Documentation

◆ ram_table() [1/4]

template<typename Builder >
proof_system::plonk::stdlib::ram_table< Builder >::ram_table ( Builder builder,
const size_t  table_size 
)

Construct a new ram table<Builder>::ram table object. It's dynamic memory!

Template Parameters
Builder
Parameters
table_entriesvector of field elements that will initialize the RAM table

◆ ram_table() [2/4]

template<typename Builder >
proof_system::plonk::stdlib::ram_table< Builder >::ram_table ( const std::vector< field_pt > &  table_entries)

Construct a new ram table<Builder>::ram table object. It's dynamic memory!

Template Parameters
Builder
Parameters
table_entriesvector of field elements that will initialize the RAM table

◆ ram_table() [3/4]

template<typename Builder >
proof_system::plonk::stdlib::ram_table< Builder >::ram_table ( const ram_table< Builder > &  other)

Construct a new ram table<Builder>::ram table object.

Template Parameters
Builder
Parameters
other

◆ ram_table() [4/4]

template<typename Builder >
proof_system::plonk::stdlib::ram_table< Builder >::ram_table ( ram_table< Builder > &&  other)

Construct a new ram table<Builder>::ram table object.

Template Parameters
Builder
Parameters
other

Member Function Documentation

◆ initialize_table()

template<typename Builder >
void proof_system::plonk::stdlib::ram_table< Builder >::initialize_table

internal method, is used to call Builder methods that will generate RAM table.

initialize the table once we perform a read. This ensures we always have a pointer to a Builder. (if both the table entries and the index are constant, we don't need a builder as we can directly extract the desired value fram _raw_entries)

Template Parameters
Builder

◆ operator=() [1/2]

template<typename Builder >
ram_table< Builder > & proof_system::plonk::stdlib::ram_table< Builder >::operator= ( const ram_table< Builder > &  other)

Copy assignment operator.

Template Parameters
Builder
Parameters
other
Returns
ram_table<Builder>&

◆ operator=() [2/2]

template<typename Builder >
ram_table< Builder > & proof_system::plonk::stdlib::ram_table< Builder >::operator= ( ram_table< Builder > &&  other)

Move assignment operator.

Template Parameters
Builder
Parameters
other
Returns
ram_table<Builder>&

◆ read()

template<typename Builder >
field_t< Builder > proof_system::plonk::stdlib::ram_table< Builder >::read ( const field_pt index) const

Read a field element from the RAM table at an index value.

Template Parameters
Builder
Parameters
index
Returns
field_t<Builder>

◆ write()

template<typename Builder >
void proof_system::plonk::stdlib::ram_table< Builder >::write ( const field_pt index,
const field_pt value 
)

Write a field element from the RAM table at an index value.

Template Parameters
Builder
Parameters
index
value

The documentation for this class was generated from the following files: