nil::crypto3::zk::components::as_waksman_routing_component< FieldType > Struct Template Reference

#include <as_waksman_components.hpp>

+ Inheritance diagram for nil::crypto3::zk::components::as_waksman_routing_component< FieldType >:
+ Collaboration diagram for nil::crypto3::zk::components::as_waksman_routing_component< FieldType >:

Public Member Functions

 as_waksman_routing_component (blueprint< FieldType > &bp, const std::size_t num_packets, const std::vector< blueprint_variable_vector< FieldType >> &routing_input_bits, const std::vector< blueprint_variable_vector< FieldType >> &routing_output_bits)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const integer_permutation &permutation)
 

Public Attributes

std::vector< std::map< std::size_t, blueprint_variable< FieldType > > > asw_switch_bits
 
as_waksman_topology neighbors
 
const std::size_t num_columns
 
const std::size_t num_packets
 
const std::size_t num_subpackets
 
std::vector< multipacking_component< FieldType > > pack_inputs
 
const std::size_t packet_size
 
std::vector< std::vector< blueprint_variable_vector< FieldType > > > routed_packets
 
const std::vector< blueprint_variable_vector< FieldType > > routing_input_bits
 
const std::vector< blueprint_variable_vector< FieldType > > routing_output_bits
 
std::vector< multipacking_component< FieldType > > unpack_outputs
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ as_waksman_routing_component()

template<typename FieldType >
nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::as_waksman_routing_component ( blueprint< FieldType > &  bp,
const std::size_t  num_packets,
const std::vector< blueprint_variable_vector< FieldType >> &  routing_input_bits,
const std::vector< blueprint_variable_vector< FieldType >> &  routing_output_bits 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldType >
void nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::generate_r1cs_constraints

◆ generate_r1cs_witness()

template<typename FieldType >
void nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::generate_r1cs_witness ( const integer_permutation &  permutation)

Member Data Documentation

◆ asw_switch_bits

template<typename FieldType >
std::vector<std::map<std::size_t, blueprint_variable<FieldType> > > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::asw_switch_bits

◆ bp

template<typename FieldType >
blueprint<FieldType>& nil::crypto3::zk::components::component< FieldType >::bp
protectedinherited

◆ neighbors

template<typename FieldType >
as_waksman_topology nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::neighbors

◆ num_columns

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::num_columns

◆ num_packets

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::num_packets

◆ num_subpackets

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::num_subpackets

◆ pack_inputs

template<typename FieldType >
std::vector<multipacking_component<FieldType> > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::pack_inputs

◆ packet_size

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::packet_size

◆ routed_packets

template<typename FieldType >
std::vector<std::vector<blueprint_variable_vector<FieldType> > > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::routed_packets

◆ routing_input_bits

template<typename FieldType >
const std::vector<blueprint_variable_vector<FieldType> > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::routing_input_bits

◆ routing_output_bits

template<typename FieldType >
const std::vector<blueprint_variable_vector<FieldType> > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::routing_output_bits

◆ unpack_outputs

template<typename FieldType >
std::vector<multipacking_component<FieldType> > nil::crypto3::zk::components::as_waksman_routing_component< FieldType >::unpack_outputs

The documentation for this struct was generated from the following file: