nil::crypto3::zk::snark::linear_combination< FieldType > Struct Template Reference
#include <variable.hpp>
Inheritance diagram for nil::crypto3::zk::snark::linear_combination< FieldType >:
Collaboration diagram for nil::crypto3::zk::snark::linear_combination< FieldType >:
Public Types | |
typedef FieldType | field_type |
typedef field_type::value_type | field_value_type |
Public Member Functions | |
void | add_term (const linear_term< FieldType > <) |
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) |
std::vector< linear_term< FieldType > >::const_iterator | begin () const |
std::vector< linear_term< FieldType > >::const_iterator | end () const |
field_value_type | evaluate (const std::vector< field_value_type > &assignment) const |
bool | is_valid (size_t num_variables) const |
linear_combination () | |
linear_combination (const field_value_type &field_coeff) | |
linear_combination (const integer_coeff_t int_coeff) | |
linear_combination (const linear_term< FieldType > <) | |
linear_combination (const std::vector< linear_term< FieldType >> &all_terms) | |
linear_combination (const variable< FieldType > &var) | |
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 | |
std::vector< linear_term< FieldType > > | terms |
Detailed Description
template<typename FieldType>
struct nil::crypto3::zk::snark::linear_combination< FieldType >
Forward declaration.
A linear combination represents a formal expression of the form "sum_i coeff_i * x_{index_i}".
Member Typedef Documentation
◆ field_type
template<typename FieldType >
typedef FieldType nil::crypto3::zk::snark::linear_combination< FieldType >::field_type |
◆ field_value_type
template<typename FieldType >
typedef field_type::value_type nil::crypto3::zk::snark::linear_combination< FieldType >::field_value_type |
Constructor & Destructor Documentation
◆ linear_combination() [1/6]
template<typename FieldType >
|
inline |
◆ linear_combination() [2/6]
template<typename FieldType >
|
inline |
◆ linear_combination() [3/6]
template<typename FieldType >
|
inline |
◆ linear_combination() [4/6]
template<typename FieldType >
|
inline |
◆ linear_combination() [5/6]
template<typename FieldType >
|
inline |
◆ linear_combination() [6/6]
template<typename FieldType >
|
inline |
Member Function Documentation
◆ add_term() [1/4]
template<typename FieldType >
|
inline |
◆ add_term() [2/4]
template<typename FieldType >
|
inline |
◆ add_term() [3/4]
template<typename FieldType >
|
inline |
◆ add_term() [4/4]
template<typename FieldType >
|
inline |
◆ begin()
template<typename FieldType >
|
inline |
◆ end()
template<typename FieldType >
|
inline |
◆ evaluate()
template<typename FieldType >
|
inline |
◆ is_valid()
template<typename FieldType >
|
inline |
◆ operator*() [1/2]
template<typename FieldType >
|
inline |
◆ operator*() [2/2]
template<typename FieldType >
|
inline |
◆ operator+()
template<typename FieldType >
|
inline |
◆ operator-() [1/2]
template<typename FieldType >
|
inline |
◆ operator-() [2/2]
template<typename FieldType >
|
inline |
◆ operator==()
template<typename FieldType >
|
inline |
Member Data Documentation
◆ terms
template<typename FieldType >
std::vector<linear_term<FieldType> > nil::crypto3::zk::snark::linear_combination< FieldType >::terms |
The documentation for this struct was generated from the following file: