nil::crypto3::zk::components::benes_routing_component< FieldType > Class Template Reference

#include <benes_components.hpp>

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

Public Member Functions

 benes_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, const std::size_t lines_to_unpack)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const integer_permutation &permutation)
 

Public Attributes

std::size_t lines_to_unpack
 
const std::size_t num_columns
 
const std::size_t num_packets
 
const std::size_t num_subpackets
 
const std::size_t packet_size
 
const std::vector< blueprint_variable_vector< FieldType > > routing_input_bits
 
const std::vector< blueprint_variable_vector< FieldType > > routing_output_bits
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ benes_routing_component()

template<typename FieldType >
nil::crypto3::zk::components::benes_routing_component< FieldType >::benes_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,
const std::size_t  lines_to_unpack 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldType >
void nil::crypto3::zk::components::benes_routing_component< FieldType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ bp

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

◆ lines_to_unpack

template<typename FieldType >
std::size_t nil::crypto3::zk::components::benes_routing_component< FieldType >::lines_to_unpack

◆ num_columns

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

◆ num_packets

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

◆ num_subpackets

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

◆ packet_size

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

◆ routing_input_bits

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

◆ routing_output_bits

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

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