|
| sap_instance (const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &domain, const size_t num_variables, const size_t degree, const size_t num_inputs, const std::vector< std::map< size_t, FieldT >> &A_in_Lagrange_basis, const std::vector< std::map< size_t, FieldT >> &C_in_Lagrange_basis) |
|
| sap_instance (const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &domain, const size_t num_variables, const size_t degree, const size_t num_inputs, std::vector< std::map< size_t, FieldT >> &&A_in_Lagrange_basis, std::vector< std::map< size_t, FieldT >> &&C_in_Lagrange_basis) |
|
| sap_instance (const sap_instance< FieldT > &other)=default |
|
| sap_instance (sap_instance< FieldT > &&other)=default |
|
sap_instance & | operator= (const sap_instance< FieldT > &other)=default |
|
sap_instance & | operator= (sap_instance< FieldT > &&other)=default |
|
size_t | num_variables () const |
|
size_t | degree () const |
|
size_t | num_inputs () const |
|
bool | is_satisfied (const sap_witness< FieldT > &witness) const |
|
template<typename FieldT>
class libsnark::sap_instance< FieldT >
A SAP instance.
Specifically, the datastructure stores:
- a choice of domain (corresponding to a certain subset of the field);
- the number of variables, the degree, and the number of inputs; and
- coefficients of the A,C polynomials in the Lagrange basis.
There is no need to store the Z polynomial because it is uniquely determined by the domain (as Z is its vanishing polynomial).
Definition at line 47 of file sap.hpp.