Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Public Attributes | List of all members
libsnark::pb_linear_combination< FieldT > Class Template Reference

#include <pb_variable.hpp>

Inheritance diagram for libsnark::pb_linear_combination< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::pb_linear_combination< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 pb_linear_combination ()
 
 pb_linear_combination (const pb_variable< FieldT > &var)
 
void assign (protoboard< FieldT > &pb, const linear_combination< FieldT > &lc)
 
void evaluate (protoboard< FieldT > &pb) const
 
bool is_constant () const
 
FieldT constant_term () const
 
- Public Member Functions inherited from libsnark::linear_combination< FieldT >
 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 > &lt)
 
 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 > &lt)
 
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

bool is_variable
 
lc_index_t index
 
- Public Attributes inherited from libsnark::linear_combination< FieldT >
std::vector< linear_term< FieldT > > terms
 

Detailed Description

template<typename FieldT>
class libsnark::pb_linear_combination< FieldT >

Definition at line 101 of file pb_variable.hpp.

Constructor & Destructor Documentation

◆ pb_linear_combination() [1/2]

template<typename FieldT >
libsnark::pb_linear_combination< FieldT >::pb_linear_combination ( )

◆ pb_linear_combination() [2/2]

template<typename FieldT >
libsnark::pb_linear_combination< FieldT >::pb_linear_combination ( const pb_variable< FieldT > &  var)

Member Function Documentation

◆ assign()

template<typename FieldT >
void libsnark::pb_linear_combination< FieldT >::assign ( protoboard< FieldT > &  pb,
const linear_combination< FieldT > &  lc 
)
Here is the caller graph for this function:

◆ constant_term()

template<typename FieldT >
FieldT libsnark::pb_linear_combination< FieldT >::constant_term ( ) const

◆ evaluate()

template<typename FieldT >
void libsnark::pb_linear_combination< FieldT >::evaluate ( protoboard< FieldT > &  pb) const

◆ is_constant()

template<typename FieldT >
bool libsnark::pb_linear_combination< FieldT >::is_constant ( ) const

Member Data Documentation

◆ index

template<typename FieldT >
lc_index_t libsnark::pb_linear_combination< FieldT >::index

Definition at line 105 of file pb_variable.hpp.

◆ is_variable

template<typename FieldT >
bool libsnark::pb_linear_combination< FieldT >::is_variable

Definition at line 104 of file pb_variable.hpp.


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