nil::crypto3::zk::snark::ssp_instance< FieldType > Struct Template Reference
#include <ssp.hpp>
Collaboration diagram for nil::crypto3::zk::snark::ssp_instance< FieldType >:
Public Member Functions | |
bool | is_satisfied (const ssp_witness< FieldType > &witness) const |
ssp_instance & | operator= (const ssp_instance< FieldType > &other)=default |
ssp_instance & | operator= (ssp_instance< FieldType > &&other)=default |
ssp_instance (const ssp_instance< FieldType > &other)=default | |
ssp_instance (const std::shared_ptr< evaluation_domain< FieldType >> &domain, const std::size_t num_variables, const std::size_t degree, const std::size_t num_inputs, const std::vector< std::map< std::size_t, typename FieldType::value_type >> &V_in_Lagrange_basis) | |
ssp_instance (const std::shared_ptr< evaluation_domain< FieldType >> &domain, const std::size_t num_variables, const std::size_t degree, const std::size_t num_inputs, std::vector< std::map< std::size_t, typename FieldType::value_type >> &&V_in_Lagrange_basis) | |
ssp_instance (ssp_instance< FieldType > &&other)=default | |
Public Attributes | |
std::size_t | degree |
std::shared_ptr< evaluation_domain< FieldType > > | domain |
std::size_t | num_inputs |
std::size_t | num_variables |
std::vector< std::map< std::size_t, typename FieldType::value_type > > | V_in_Lagrange_basis |
Detailed Description
template<typename FieldType>
struct nil::crypto3::zk::snark::ssp_instance< FieldType >
A SSP 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 V 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).
Constructor & Destructor Documentation
◆ ssp_instance() [1/4]
template<typename FieldType >
|
inline |
◆ ssp_instance() [2/4]
template<typename FieldType >
|
inline |
◆ ssp_instance() [3/4]
template<typename FieldType >
|
default |
◆ ssp_instance() [4/4]
template<typename FieldType >
|
default |
Member Function Documentation
◆ is_satisfied()
template<typename FieldType >
|
inline |
◆ operator=() [1/2]
template<typename FieldType >
|
default |
◆ operator=() [2/2]
template<typename FieldType >
|
default |
Member Data Documentation
◆ degree
template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance< FieldType >::degree |
◆ domain
template<typename FieldType >
std::shared_ptr<evaluation_domain<FieldType> > nil::crypto3::zk::snark::ssp_instance< FieldType >::domain |
◆ num_inputs
template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance< FieldType >::num_inputs |
◆ num_variables
template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance< FieldType >::num_variables |
◆ V_in_Lagrange_basis
template<typename FieldType >
std::vector<std::map<std::size_t, typename FieldType::value_type> > nil::crypto3::zk::snark::ssp_instance< FieldType >::V_in_Lagrange_basis |
The documentation for this struct was generated from the following file: