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

#include <blueprint_linear_combination.hpp>

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

Public Member Functions

void add_term (const linear_term< FieldType > &lt)
 
void add_term (const variable< FieldType > &var)
 
void add_term (const variable< FieldType > &var, const field_value_type &field_coeff)
 
void add_term (const variable< FieldType > &var, integer_coeff_t int_coeff)
 
void assign (blueprint< field_type > &bp, const snark::linear_combination< field_type > &lc)
 
std::vector< linear_term< FieldType > >::const_iterator begin () const
 
 blueprint_linear_combination ()
 
 blueprint_linear_combination (const blueprint_variable< field_type > &var)
 
field_value_type constant_term () const
 
std::vector< linear_term< FieldType > >::const_iterator end () const
 
void evaluate (blueprint< field_type > &bp) const
 
field_value_type evaluate (const std::vector< field_value_type > &assignment) const
 
bool is_constant () const
 
bool is_valid (size_t num_variables) const
 
linear_combination operator* (const field_value_type &field_coeff) const
 
linear_combination operator* (integer_coeff_t int_coeff) const
 
linear_combination operator+ (const linear_combination &other) const
 
linear_combination operator- () const
 
linear_combination operator- (const linear_combination &other) const
 
bool operator== (const linear_combination &other) const
 

Public Attributes

lc_index_t index
 
bool is_variable
 
std::vector< linear_term< FieldType > > terms
 

Constructor & Destructor Documentation

◆ blueprint_linear_combination() [1/2]

template<typename FieldType >
nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::blueprint_linear_combination ( )
inline

◆ blueprint_linear_combination() [2/2]

template<typename FieldType >
nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::blueprint_linear_combination ( const blueprint_variable< field_type > &  var)
inline

Member Function Documentation

◆ add_term() [1/4]

template<typename FieldType >
void nil::crypto3::zk::snark::linear_combination< FieldType >::add_term ( const linear_term< FieldType > &  lt)
inlineinherited

◆ add_term() [2/4]

template<typename FieldType >
void nil::crypto3::zk::snark::linear_combination< FieldType >::add_term ( const variable< FieldType > &  var)
inlineinherited

◆ add_term() [3/4]

template<typename FieldType >
void nil::crypto3::zk::snark::linear_combination< FieldType >::add_term ( const variable< FieldType > &  var,
const field_value_type field_coeff 
)
inlineinherited

◆ add_term() [4/4]

template<typename FieldType >
void nil::crypto3::zk::snark::linear_combination< FieldType >::add_term ( const variable< FieldType > &  var,
integer_coeff_t  int_coeff 
)
inlineinherited

◆ assign()

template<typename FieldType >
void nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::assign ( blueprint< field_type > &  bp,
const snark::linear_combination< field_type > &  lc 
)
inline

◆ begin()

template<typename FieldType >
std::vector<linear_term<FieldType> >::const_iterator nil::crypto3::zk::snark::linear_combination< FieldType >::begin ( ) const
inlineinherited

◆ constant_term()

template<typename FieldType >
field_value_type nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::constant_term ( ) const
inline

◆ end()

template<typename FieldType >
std::vector<linear_term<FieldType> >::const_iterator nil::crypto3::zk::snark::linear_combination< FieldType >::end ( ) const
inlineinherited

◆ evaluate() [1/2]

template<typename FieldType >
void nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::evaluate ( blueprint< field_type > &  bp) const
inline

◆ evaluate() [2/2]

template<typename FieldType >
field_value_type nil::crypto3::zk::snark::linear_combination< FieldType >::evaluate ( const std::vector< field_value_type > &  assignment) const
inlineinherited

◆ is_constant()

template<typename FieldType >
bool nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::is_constant ( ) const
inline

◆ is_valid()

template<typename FieldType >
bool nil::crypto3::zk::snark::linear_combination< FieldType >::is_valid ( size_t  num_variables) const
inlineinherited

◆ operator*() [1/2]

template<typename FieldType >
linear_combination nil::crypto3::zk::snark::linear_combination< FieldType >::operator* ( const field_value_type field_coeff) const
inlineinherited

◆ operator*() [2/2]

template<typename FieldType >
linear_combination nil::crypto3::zk::snark::linear_combination< FieldType >::operator* ( integer_coeff_t  int_coeff) const
inlineinherited

◆ operator+()

template<typename FieldType >
linear_combination nil::crypto3::zk::snark::linear_combination< FieldType >::operator+ ( const linear_combination< FieldType > &  other) const
inlineinherited

◆ operator-() [1/2]

template<typename FieldType >
linear_combination nil::crypto3::zk::snark::linear_combination< FieldType >::operator- ( ) const
inlineinherited

◆ operator-() [2/2]

template<typename FieldType >
linear_combination nil::crypto3::zk::snark::linear_combination< FieldType >::operator- ( const linear_combination< FieldType > &  other) const
inlineinherited

◆ operator==()

template<typename FieldType >
bool nil::crypto3::zk::snark::linear_combination< FieldType >::operator== ( const linear_combination< FieldType > &  other) const
inlineinherited

Member Data Documentation

◆ index

template<typename FieldType >
lc_index_t nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::index

◆ is_variable

template<typename FieldType >
bool nil::crypto3::zk::components::blueprint_linear_combination< FieldType >::is_variable

◆ terms

template<typename FieldType >
std::vector<linear_term<FieldType> > nil::crypto3::zk::snark::linear_combination< FieldType >::terms
inherited

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