nil::crypto3::zk::snark::bacs_gate< FieldType > Struct Template Reference
#include <bacs.hpp>

Public Types | |
typedef FieldType | field_type |
Public Member Functions | |
FieldType::value_type | evaluate (const bacs_variable_assignment< FieldType > &input) const |
bool | operator== (const bacs_gate< FieldType > &other) const |
Public Attributes | |
bool | is_circuit_output |
linear_combination< FieldType > | lhs |
variable< FieldType > | output |
linear_combination< FieldType > | rhs |
Detailed Description
template<typename FieldType>
struct nil::crypto3::zk::snark::bacs_gate< FieldType >
A BACS gate is a formal expression of the form lhs * rhs = output , where lhs and rhs are linear combinations (of variables) and output is a variable.
In other words, a BACS gate is an arithmetic gate that is bilinear.
Member Typedef Documentation
◆ field_type
template<typename FieldType >
typedef FieldType nil::crypto3::zk::snark::bacs_gate< FieldType >::field_type |
Member Function Documentation
◆ evaluate()
template<typename FieldType >
|
inline |
◆ operator==()
template<typename FieldType >
|
inline |
Member Data Documentation
◆ is_circuit_output
template<typename FieldType >
bool nil::crypto3::zk::snark::bacs_gate< FieldType >::is_circuit_output |
◆ lhs
template<typename FieldType >
linear_combination<FieldType> nil::crypto3::zk::snark::bacs_gate< FieldType >::lhs |
◆ output
template<typename FieldType >
variable<FieldType> nil::crypto3::zk::snark::bacs_gate< FieldType >::output |
◆ rhs
template<typename FieldType >
linear_combination<FieldType> nil::crypto3::zk::snark::bacs_gate< FieldType >::rhs |
The documentation for this struct was generated from the following file: