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

#include <gadget.hpp>

Inheritance diagram for gadgetlib2::DualWordArray_Gadget:
Inheritance graph
[legend]
Collaboration diagram for gadgetlib2::DualWordArray_Gadget:
Collaboration graph
[legend]

Public Member Functions

void generateConstraints ()
 
void generateWitness ()
 
- Public Member Functions inherited from gadgetlib2::Gadget
 Gadget (ProtoboardPtr pb)
 
void addUnaryConstraint (const LinearCombination &a, const ::std::string &name)
 
void addRank1Constraint (const LinearCombination &a, const LinearCombination &b, const LinearCombination &c, const ::std::string &name)
 
void enforceBooleanity (const Variable &var)
 
FElemval (const Variable &var)
 
FElem val (const LinearCombination &lc)
 
FieldType fieldType () const
 
bool flagIsSet (const FlagVariable &flag) const
 

Static Public Member Functions

static GadgetPtr create (ProtoboardPtr pb, const DualWordArray &vars, PackingMode packingMode)
 

Additional Inherited Members

- Protected Attributes inherited from gadgetlib2::Gadget
ProtoboardPtr pb_
 

Detailed Description

Definition at line 642 of file gadget.hpp.

Member Function Documentation

◆ create()

GadgetPtr gadgetlib2::DualWordArray_Gadget::create ( ProtoboardPtr  pb,
const DualWordArray vars,
PackingMode  packingMode 
)
static

Definition at line 885 of file gadget.cpp.

887 {
888  GadgetPtr pGadget(new DualWordArray_Gadget(pb, vars, packingMode));
889  pGadget->init();
890  return pGadget;
891 }

◆ generateConstraints()

void gadgetlib2::DualWordArray_Gadget::generateConstraints ( )
virtual

Implements gadgetlib2::Gadget.

Definition at line 893 of file gadget.cpp.

894 {
895  for (auto &gadget : packingGadgets_) {
896  gadget->generateConstraints();
897  }
898 }

◆ generateWitness()

void gadgetlib2::DualWordArray_Gadget::generateWitness ( )
virtual

Reimplemented from gadgetlib2::Gadget.

Definition at line 900 of file gadget.cpp.

901 {
902  for (auto &gadget : packingGadgets_) {
903  gadget->generateWitness();
904  }
905 }

The documentation for this class was generated from the following files:
gadgetlib2::GadgetPtr
::std::shared_ptr< Gadget > GadgetPtr
Definition: gadget.hpp:119