nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType > Struct Template Reference

#include <ssp.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >:

Public Member Functions

bool is_satisfied (const ssp_witness< FieldType > &witness) const
 
ssp_instance_evaluationoperator= (const ssp_instance_evaluation< FieldType > &other)=default
 
ssp_instance_evaluationoperator= (ssp_instance_evaluation< FieldType > &&other)=default
 
 ssp_instance_evaluation (const ssp_instance_evaluation< FieldType > &other)=default
 
 ssp_instance_evaluation (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 typename FieldType::value_type &t, const std::vector< typename FieldType::value_type > &Vt, const std::vector< typename FieldType::value_type > &Ht, const typename FieldType::value_type &Zt)
 
 ssp_instance_evaluation (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 typename FieldType::value_type &t, std::vector< typename FieldType::value_type > &&Vt, std::vector< typename FieldType::value_type > &&Ht, const typename FieldType::value_type &Zt)
 
 ssp_instance_evaluation (ssp_instance_evaluation< FieldType > &&other)=default
 

Public Attributes

std::size_t degree
 
std::shared_ptr< evaluation_domain< FieldType > > domain
 
std::vector< typename FieldType::value_type > Ht
 
std::size_t num_inputs
 
std::size_t num_variables
 
FieldType::value_type t
 
std::vector< typename FieldType::value_type > Vt
 
FieldType::value_type Zt
 

Detailed Description

template<typename FieldType>
struct nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >

A SSP instance evaluation is a SSP instance that is evaluated at a field element t.

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;
  • a field element t;
  • evaluations of the V (and Z) polynomials at t;
  • evaluations of all monomials of t.

Constructor & Destructor Documentation

◆ ssp_instance_evaluation() [1/4]

template<typename FieldType >
nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::ssp_instance_evaluation ( 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 typename FieldType::value_type &  t,
const std::vector< typename FieldType::value_type > &  Vt,
const std::vector< typename FieldType::value_type > &  Ht,
const typename FieldType::value_type &  Zt 
)
inline

◆ ssp_instance_evaluation() [2/4]

template<typename FieldType >
nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::ssp_instance_evaluation ( 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 typename FieldType::value_type &  t,
std::vector< typename FieldType::value_type > &&  Vt,
std::vector< typename FieldType::value_type > &&  Ht,
const typename FieldType::value_type &  Zt 
)
inline

◆ ssp_instance_evaluation() [3/4]

template<typename FieldType >
nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::ssp_instance_evaluation ( const ssp_instance_evaluation< FieldType > &  other)
default

◆ ssp_instance_evaluation() [4/4]

template<typename FieldType >
nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::ssp_instance_evaluation ( ssp_instance_evaluation< FieldType > &&  other)
default

Member Function Documentation

◆ is_satisfied()

template<typename FieldType >
bool nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::is_satisfied ( const ssp_witness< FieldType > &  witness) const
inline

◆ operator=() [1/2]

template<typename FieldType >
ssp_instance_evaluation& nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::operator= ( const ssp_instance_evaluation< FieldType > &  other)
default

◆ operator=() [2/2]

template<typename FieldType >
ssp_instance_evaluation& nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::operator= ( ssp_instance_evaluation< FieldType > &&  other)
default

Member Data Documentation

◆ degree

template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::degree

◆ domain

template<typename FieldType >
std::shared_ptr<evaluation_domain<FieldType> > nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::domain

◆ Ht

template<typename FieldType >
std::vector<typename FieldType::value_type> nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::Ht

◆ num_inputs

template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::num_inputs

◆ num_variables

template<typename FieldType >
std::size_t nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::num_variables

◆ t

template<typename FieldType >
FieldType::value_type nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::t

◆ Vt

template<typename FieldType >
std::vector<typename FieldType::value_type> nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::Vt

◆ Zt

template<typename FieldType >
FieldType::value_type nil::crypto3::zk::snark::ssp_instance_evaluation< FieldType >::Zt

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