Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | List of all members
gadgetlib2::Constraint Class Referenceabstract

#include <constraint.hpp>

Inheritance diagram for gadgetlib2::Constraint:
Inheritance graph
[legend]

Public Member Functions

 Constraint (const ::std::string &name)
 
::std::string name () const
 
virtual bool isSatisfied (const VariableAssignment &assignment, const PrintOptions &printOnFail) const =0
 
virtual ::std::string annotation () const =0
 
virtual const Variable::set getUsedVariables () const =0
 
virtual Polynomial asPolynomial () const =0
 

Detailed Description

An abstract class for a field agnostic constraint. The derived classes will be field specific.

Definition at line 42 of file constraint.hpp.

Constructor & Destructor Documentation

◆ Constraint()

gadgetlib2::Constraint::Constraint ( const ::std::string &  name)
explicit

Definition at line 40 of file constraint.cpp.

40 { libff::UNUSED(name); }
Here is the call graph for this function:

Member Function Documentation

◆ annotation()

virtual ::std::string gadgetlib2::Constraint::annotation ( ) const
pure virtual
Returns
the constraint in a human readable string format

Implemented in gadgetlib2::PolynomialConstraint, and gadgetlib2::Rank1Constraint.

◆ asPolynomial()

virtual Polynomial gadgetlib2::Constraint::asPolynomial ( ) const
pure virtual

◆ getUsedVariables()

virtual const Variable::set gadgetlib2::Constraint::getUsedVariables ( ) const
pure virtual

◆ isSatisfied()

virtual bool gadgetlib2::Constraint::isSatisfied ( const VariableAssignment assignment,
const PrintOptions printOnFail 
) const
pure virtual
@param[in] assignment  - An assignment of field elements for each

variable.

Parameters
[in]printOnFail- when set to true, an unsatisfied constraint will print to stderr information explaining why it is not satisfied.
Returns
true if constraint is satisfied by the assignment

Implemented in gadgetlib2::PolynomialConstraint, and gadgetlib2::Rank1Constraint.

◆ name()

string gadgetlib2::Constraint::name ( ) const
Returns
name of the constraint as a string

Definition at line 43 of file constraint.cpp.

44 {
45 #ifdef DEBUG
46  return name_;
47 #else
48  return "";
49 #endif
50 }
Here is the caller graph for this function:

The documentation for this class was generated from the following files:
gadgetlib2::Constraint::name
::std::string name() const
Definition: constraint.cpp:43