|
barretenberg
|
Specify the structure of a CircuitBuilder. More...
#include <arithmetization.hpp>
Public Types | |
| using | FF = FF_ |
| using | SelectorType = std::vector< FF, barretenberg::ContainerSlabAllocator< FF > > |
Public Attributes | |
| std::vector< SelectorType > | selectors |
Static Public Attributes | |
| static constexpr size_t | NUM_WIRES = 3 |
| static constexpr size_t | NUM_SELECTORS = 5 |
| static const std::vector< std::string > | selector_names = { "q_m", "q_1", "q_2", "q_3", "q_c" } |
Specify the structure of a CircuitBuilder.
This is typically passed as a template argument specifying the structure of a circuit constructor. It should only ever contain circuit constructor data–it should not contain data that is particular to any proving system.
struct Component { using Arithmetic = component::Arithmetic3Wires; using RangeConstraints = component::Base4Accumulators or component::GenPerm or... using LookupTables = component::Plookup4Wire or component::CQ8Wire or... ... };
We should only do this if it becomes necessary or convenient.