Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Public Attributes | List of all members
libsnark::qap_instance_evaluation< FieldT > Class Template Reference

#include <qap.hpp>

Public Member Functions

 qap_instance_evaluation (const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &domain, const size_t num_variables, const size_t degree, const size_t num_inputs, const FieldT &t, const std::vector< FieldT > &At, const std::vector< FieldT > &Bt, const std::vector< FieldT > &Ct, const std::vector< FieldT > &Ht, const FieldT &Zt)
 
 qap_instance_evaluation (const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &domain, const size_t num_variables, const size_t degree, const size_t num_inputs, const FieldT &t, std::vector< FieldT > &&At, std::vector< FieldT > &&Bt, std::vector< FieldT > &&Ct, std::vector< FieldT > &&Ht, const FieldT &Zt)
 
 qap_instance_evaluation (const qap_instance_evaluation< FieldT > &other)=default
 
 qap_instance_evaluation (qap_instance_evaluation< FieldT > &&other)=default
 
qap_instance_evaluationoperator= (const qap_instance_evaluation< FieldT > &other)=default
 
qap_instance_evaluationoperator= (qap_instance_evaluation< FieldT > &&other)=default
 
size_t num_variables () const
 
size_t degree () const
 
size_t num_inputs () const
 
bool is_satisfied (const qap_witness< FieldT > &witness) const
 

Public Attributes

std::shared_ptr< libfqfft::evaluation_domain< FieldT > > domain
 
FieldT t
 
std::vector< FieldT > At
 
std::vector< FieldT > Bt
 
std::vector< FieldT > Ct
 
std::vector< FieldT > Ht
 
FieldT Zt
 

Detailed Description

template<typename FieldT>
class libsnark::qap_instance_evaluation< FieldT >

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

Specifically, the datastructure stores:

Definition at line 107 of file qap.hpp.

Constructor & Destructor Documentation

◆ qap_instance_evaluation() [1/4]

template<typename FieldT >
libsnark::qap_instance_evaluation< FieldT >::qap_instance_evaluation ( const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &  domain,
const size_t  num_variables,
const size_t  degree,
const size_t  num_inputs,
const FieldT &  t,
const std::vector< FieldT > &  At,
const std::vector< FieldT > &  Bt,
const std::vector< FieldT > &  Ct,
const std::vector< FieldT > &  Ht,
const FieldT &  Zt 
)

◆ qap_instance_evaluation() [2/4]

template<typename FieldT >
libsnark::qap_instance_evaluation< FieldT >::qap_instance_evaluation ( const std::shared_ptr< libfqfft::evaluation_domain< FieldT >> &  domain,
const size_t  num_variables,
const size_t  degree,
const size_t  num_inputs,
const FieldT &  t,
std::vector< FieldT > &&  At,
std::vector< FieldT > &&  Bt,
std::vector< FieldT > &&  Ct,
std::vector< FieldT > &&  Ht,
const FieldT &  Zt 
)

◆ qap_instance_evaluation() [3/4]

template<typename FieldT >
libsnark::qap_instance_evaluation< FieldT >::qap_instance_evaluation ( const qap_instance_evaluation< FieldT > &  other)
default

◆ qap_instance_evaluation() [4/4]

template<typename FieldT >
libsnark::qap_instance_evaluation< FieldT >::qap_instance_evaluation ( qap_instance_evaluation< FieldT > &&  other)
default

Member Function Documentation

◆ degree()

template<typename FieldT >
size_t libsnark::qap_instance_evaluation< FieldT >::degree ( ) const

◆ is_satisfied()

template<typename FieldT >
bool libsnark::qap_instance_evaluation< FieldT >::is_satisfied ( const qap_witness< FieldT > &  witness) const

◆ num_inputs()

template<typename FieldT >
size_t libsnark::qap_instance_evaluation< FieldT >::num_inputs ( ) const

◆ num_variables()

template<typename FieldT >
size_t libsnark::qap_instance_evaluation< FieldT >::num_variables ( ) const

◆ operator=() [1/2]

template<typename FieldT >
qap_instance_evaluation& libsnark::qap_instance_evaluation< FieldT >::operator= ( const qap_instance_evaluation< FieldT > &  other)
default

◆ operator=() [2/2]

template<typename FieldT >
qap_instance_evaluation& libsnark::qap_instance_evaluation< FieldT >::operator= ( qap_instance_evaluation< FieldT > &&  other)
default

Member Data Documentation

◆ At

template<typename FieldT >
std::vector<FieldT> libsnark::qap_instance_evaluation< FieldT >::At

Definition at line 119 of file qap.hpp.

◆ Bt

template<typename FieldT >
std::vector<FieldT> libsnark::qap_instance_evaluation< FieldT >::Bt

Definition at line 120 of file qap.hpp.

◆ Ct

template<typename FieldT >
std::vector<FieldT> libsnark::qap_instance_evaluation< FieldT >::Ct

Definition at line 121 of file qap.hpp.

◆ domain

template<typename FieldT >
std::shared_ptr<libfqfft::evaluation_domain<FieldT> > libsnark::qap_instance_evaluation< FieldT >::domain

Definition at line 115 of file qap.hpp.

◆ Ht

template<typename FieldT >
std::vector<FieldT> libsnark::qap_instance_evaluation< FieldT >::Ht

Definition at line 122 of file qap.hpp.

◆ t

template<typename FieldT >
FieldT libsnark::qap_instance_evaluation< FieldT >::t

Definition at line 117 of file qap.hpp.

◆ Zt

template<typename FieldT >
FieldT libsnark::qap_instance_evaluation< FieldT >::Zt

Definition at line 124 of file qap.hpp.


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