Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Classes | Namespaces | Typedefs | Enumerations | Functions
variable.hpp File Reference
#include <cstddef>
#include <iostream>
#include <libsnark/gadgetlib2/infrastructure.hpp>
#include <libsnark/gadgetlib2/pp.hpp>
#include <map>
#include <set>
#include <string>
#include <unordered_set>
#include <utility>
#include <vector>
#include <libsnark/gadgetlib2/variable_operators.hpp>
Include dependency graph for variable.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gadgetlib2::FElemInterface
 
class  gadgetlib2::FElem
 
class  gadgetlib2::FConst
 
class  gadgetlib2::R1P_Elem
 
class  gadgetlib2::Variable
 A formal variable, field agnostic. More...
 
struct  gadgetlib2::Variable::VariableStrictOrder
 
class  gadgetlib2::VariableArray
 VariableArray. More...
 
class  gadgetlib2::UnpackedWord
 
class  gadgetlib2::MultiPackedWord
 
class  gadgetlib2::DualWord
 Holds both representations of a word, both multipacked and unpacked. More...
 
class  gadgetlib2::DualWordArray
 
class  gadgetlib2::LinearTerm
 LinearTerm. More...
 
class  gadgetlib2::LinearCombination
 LinearCombination. More...
 
class  gadgetlib2::Monomial
 Monomial. More...
 
class  gadgetlib2::Polynomial
 Polynomial. More...
 

Namespaces

 gadgetlib2
 

Typedefs

typedef ::std::shared_ptr< Variable > gadgetlib2::VariablePtr
 
typedef ::std::shared_ptr< VariableArray > gadgetlib2::VariableArrayPtr
 
typedef ::std::unique_ptr< FElemInterface > gadgetlib2::FElemInterfacePtr
 
typedef ::std::shared_ptr< Protoboard > gadgetlib2::ProtoboardPtr
 
typedef unsigned long gadgetlib2::VarIndex_t
 
typedef ::std::map< Variable, FElem, Variable::VariableStrictOrder > gadgetlib2::VariableAssignment
 
typedef ::std::vector< Variable > gadgetlib2::VariableArrayContents
 
typedef Variable gadgetlib2::FlagVariable
 
typedef VariableArray gadgetlib2::FlagVariableArray
 
typedef Variable gadgetlib2::PackedWord
 
typedef VariableArray gadgetlib2::PackedWordArray
 
typedef ::std::vector< UnpackedWord > gadgetlib2::UnpackedWordArray
 
typedef ::std::vector< MultiPackedWord > gadgetlib2::MultiPackedWordArray
 

Enumerations

enum  gadgetlib2::FieldType { gadgetlib2::R1P, gadgetlib2::AGNOSTIC }
 

Functions

bool gadgetlib2::operator== (const long first, const FElemInterface &second)
 
bool gadgetlib2::operator!= (const long first, const FElemInterface &second)
 
bool gadgetlib2::operator!= (const FElemInterface &first, const long second)
 
bool gadgetlib2::operator!= (const FElemInterface &first, const FElemInterface &second)
 
bool gadgetlib2::operator!= (const FElem &first, const FElem &second)
 
bool gadgetlib2::operator== (const FElem &first, const long second)
 
bool gadgetlib2::operator== (const long first, const FElem &second)
 
bool gadgetlib2::operator!= (const FElem &first, const long second)
 
bool gadgetlib2::operator!= (const long first, const FElem &second)
 
LinearCombination gadgetlib2::operator- (const LinearCombination &lc)
 
LinearCombination gadgetlib2::sum (const VariableArray &inputs)
 
LinearCombination gadgetlib2::negate (const LinearCombination &lc)
 
Polynomial gadgetlib2::operator- (const Polynomial &src)
 

Detailed Description

Declaration of the low level objects needed for field arithmetization.

Author
This file is part of libsnark, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file variable.hpp.