packing.hpp File Reference
#include <cassert>
#include <memory>
#include <nil/crypto3/zk/components/component.hpp>
#include <nil/crypto3/multiprecision/number.hpp>
#include <nil/crypto3/zk/snark/relations/constraint_satisfaction_problems/r1cs.hpp>
+ Include dependency graph for packing.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  nil::crypto3::zk::components::bit_vector_copy_component< FieldType >
 
class  nil::crypto3::zk::components::dual_variable_component< FieldType >
 
class  nil::crypto3::zk::components::field_vector_copy_component< FieldType >
 
class  nil::crypto3::zk::components::multipacking_component< FieldType >
 
class  nil::crypto3::zk::components::packing_component< FieldType >
 

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::zk
 
 nil::crypto3::zk::components
 

Functions

template<typename FieldType , typename VarT >
void nil::crypto3::zk::components::create_linear_combination_constraints (blueprint< FieldType > &bp, const std::vector< typename FieldType::value_type > &base, const std::vector< std::pair< VarT, typename FieldType::value_type >> &v, const VarT &target)
 
template<typename FieldType , typename VarT >
void nil::crypto3::zk::components::create_linear_combination_witness (blueprint< FieldType > &bp, const std::vector< typename FieldType::value_type > &base, const std::vector< std::pair< VarT, typename FieldType::value_type >> &v, const VarT &target)
 
template<typename FieldType >
void nil::crypto3::zk::components::generate_boolean_r1cs_constraint (blueprint< FieldType > &bp, const blueprint_linear_combination< FieldType > &lc)
 
template<typename FieldType >
void nil::crypto3::zk::components::generate_r1cs_equals_const_constraint (blueprint< FieldType > &bp, const blueprint_linear_combination< FieldType > &lc, const typename FieldType::value_type &c)
 
template<typename FieldType >
std::size_t nil::crypto3::zk::components::multipacking_num_chunks (const std::size_t num_bits)