Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <variable.hpp>
Public Member Functions | |
linear_combination () | |
linear_combination (const integer_coeff_t int_coeff) | |
linear_combination (const FieldT &field_coeff) | |
linear_combination (const variable< FieldT > &var) | |
linear_combination (const linear_term< FieldT > <) | |
linear_combination (const std::vector< linear_term< FieldT >> &all_terms) | |
std::vector< linear_term< FieldT > >::const_iterator | begin () const |
std::vector< linear_term< FieldT > >::const_iterator | end () const |
void | add_term (const variable< FieldT > &var) |
void | add_term (const variable< FieldT > &var, const integer_coeff_t int_coeff) |
void | add_term (const variable< FieldT > &var, const FieldT &field_coeff) |
void | add_term (const linear_term< FieldT > <) |
FieldT | evaluate (const std::vector< FieldT > &assignment) const |
linear_combination< FieldT > | operator* (const integer_coeff_t int_coeff) const |
linear_combination< FieldT > | operator* (const FieldT &field_coeff) const |
linear_combination< FieldT > | operator+ (const linear_combination< FieldT > &other) const |
linear_combination< FieldT > | operator- (const linear_combination< FieldT > &other) const |
linear_combination< FieldT > | operator- () const |
bool | operator== (const linear_combination< FieldT > &other) const |
bool | is_valid (const size_t num_variables) const |
void | print (const std::map< size_t, std::string > &variable_annotations=std::map< size_t, std::string >()) const |
void | print_with_assignment (const std::vector< FieldT > &full_assignment, const std::map< size_t, std::string > &variable_annotations=std::map< size_t, std::string >()) const |
Public Attributes | |
std::vector< linear_term< FieldT > > | terms |
Friends | |
std::ostream & | operator (std::ostream &out, const linear_combination< FieldT > &lc) |
std::istream & | operator>> (std::istream &in, linear_combination< FieldT > &lc) |
Forward declaration.
A linear combination represents a formal expression of the form "sum_i coeff_i * x_{index_i}".
Definition at line 40 of file variable.hpp.
|
inline |
Definition at line 164 of file variable.hpp.
libsnark::linear_combination< FieldT >::linear_combination | ( | const integer_coeff_t | int_coeff | ) |
libsnark::linear_combination< FieldT >::linear_combination | ( | const FieldT & | field_coeff | ) |
libsnark::linear_combination< FieldT >::linear_combination | ( | const variable< FieldT > & | var | ) |
libsnark::linear_combination< FieldT >::linear_combination | ( | const linear_term< FieldT > & | lt | ) |
libsnark::linear_combination< FieldT >::linear_combination | ( | const std::vector< linear_term< FieldT >> & | all_terms | ) |
void libsnark::linear_combination< FieldT >::add_term | ( | const linear_term< FieldT > & | lt | ) |
void libsnark::linear_combination< FieldT >::add_term | ( | const variable< FieldT > & | var | ) |
void libsnark::linear_combination< FieldT >::add_term | ( | const variable< FieldT > & | var, |
const FieldT & | field_coeff | ||
) |
void libsnark::linear_combination< FieldT >::add_term | ( | const variable< FieldT > & | var, |
const integer_coeff_t | int_coeff | ||
) |
std::vector<linear_term<FieldT> >::const_iterator libsnark::linear_combination< FieldT >::begin | ( | ) | const |
std::vector<linear_term<FieldT> >::const_iterator libsnark::linear_combination< FieldT >::end | ( | ) | const |
FieldT libsnark::linear_combination< FieldT >::evaluate | ( | const std::vector< FieldT > & | assignment | ) | const |
bool libsnark::linear_combination< FieldT >::is_valid | ( | const size_t | num_variables | ) | const |
linear_combination<FieldT> libsnark::linear_combination< FieldT >::operator* | ( | const FieldT & | field_coeff | ) | const |
linear_combination<FieldT> libsnark::linear_combination< FieldT >::operator* | ( | const integer_coeff_t | int_coeff | ) | const |
linear_combination<FieldT> libsnark::linear_combination< FieldT >::operator+ | ( | const linear_combination< FieldT > & | other | ) | const |
linear_combination<FieldT> libsnark::linear_combination< FieldT >::operator- | ( | ) | const |
linear_combination<FieldT> libsnark::linear_combination< FieldT >::operator- | ( | const linear_combination< FieldT > & | other | ) | const |
bool libsnark::linear_combination< FieldT >::operator== | ( | const linear_combination< FieldT > & | other | ) | const |
void libsnark::linear_combination< FieldT >::print | ( | const std::map< size_t, std::string > & | variable_annotations = std::map< size_t, std::string >() | ) | const |
void libsnark::linear_combination< FieldT >::print_with_assignment | ( | const std::vector< FieldT > & | full_assignment, |
const std::map< size_t, std::string > & | variable_annotations = std::map< size_t, std::string >() |
||
) | const |
|
friend |
|
friend |
std::vector<linear_term<FieldT> > libsnark::linear_combination< FieldT >::terms |
Definition at line 162 of file variable.hpp.