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

#include <packing.hpp>

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

Public Member Functions

 bit_vector_copy_component (blueprint< FieldType > &bp, const blueprint_variable_vector< FieldType > &source_bits, const blueprint_variable_vector< FieldType > &target_bits, const blueprint_linear_combination< FieldType > &do_copy, std::size_t chunk_size)
 
void generate_r1cs_constraints (bool enforce_source_bitness, bool enforce_target_bitness)
 
void generate_r1cs_witness ()
 

Public Attributes

const std::size_t chunk_size
 
std::shared_ptr< field_vector_copy_component< FieldType > > copier
 
const blueprint_linear_combination< FieldType > do_copy
 
const std::size_t num_chunks
 
std::shared_ptr< multipacking_component< FieldType > > pack_source
 
std::shared_ptr< multipacking_component< FieldType > > pack_target
 
blueprint_variable_vector< FieldType > packed_source
 
blueprint_variable_vector< FieldType > packed_target
 
const blueprint_variable_vector< FieldType > source_bits
 
const blueprint_variable_vector< FieldType > target_bits
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ bit_vector_copy_component()

template<typename FieldType >
nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::bit_vector_copy_component ( blueprint< FieldType > &  bp,
const blueprint_variable_vector< FieldType > &  source_bits,
const blueprint_variable_vector< FieldType > &  target_bits,
const blueprint_linear_combination< FieldType > &  do_copy,
std::size_t  chunk_size 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldType >
void nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::generate_r1cs_constraints ( bool  enforce_source_bitness,
bool  enforce_target_bitness 
)
inline

◆ generate_r1cs_witness()

template<typename FieldType >
void nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::generate_r1cs_witness ( )
inline

Member Data Documentation

◆ bp

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

◆ chunk_size

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::chunk_size

◆ copier

template<typename FieldType >
std::shared_ptr<field_vector_copy_component<FieldType> > nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::copier

◆ do_copy

template<typename FieldType >
const blueprint_linear_combination<FieldType> nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::do_copy

◆ num_chunks

template<typename FieldType >
const std::size_t nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::num_chunks

◆ pack_source

template<typename FieldType >
std::shared_ptr<multipacking_component<FieldType> > nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::pack_source

◆ pack_target

template<typename FieldType >
std::shared_ptr<multipacking_component<FieldType> > nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::pack_target

◆ packed_source

template<typename FieldType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::packed_source

◆ packed_target

template<typename FieldType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::packed_target

◆ source_bits

template<typename FieldType >
const blueprint_variable_vector<FieldType> nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::source_bits

◆ target_bits

template<typename FieldType >
const blueprint_variable_vector<FieldType> nil::crypto3::zk::components::bit_vector_copy_component< FieldType >::target_bits

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