|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
| class | Bool |
| Bool element class. More... | |
| class | STerm |
| Symbolic term element class. More... | |
| class | STuple |
| sym Tuple class More... | |
| class | SymArray |
| symbolic Array class More... | |
| class | SymSet |
| symbolic Set class More... | |
Concepts | |
| concept | ConstructibleFromTerm |
Enumerations | |
| enum class | TermType { FFTerm , FFITerm , BVTerm , ITerm , SBool , STuple , SymArray , SymSet } |
| Allows to define three types of symbolic terms STerm - Symbolic Variables acting like a Finte Field elements FFITerm - Symbolic Variables acting like integers modulo prime ITerm - Symbolic Variables acting like integers BVTerm - Symbolic Variables acting like bitvectors modulo prime. More... | |
| enum class | OpType : int32_t { ADD , SUB , MUL , DIV , NEG , XOR , AND , OR , GT , GE , LT , LE , MOD , RSH , LSH , ROTR , ROTL , NOT , EXTRACT , BITVEC_PAD , BIT_SUM } |
Functions | |
| STerm | operator+ (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator- (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator* (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator^ (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator& (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator| (const bb::fr &lhs, const STerm &rhs) |
| STerm | operator/ (const bb::fr &lhs, const STerm &rhs) |
| void | operator== (const bb::fr &lhs, const STerm &rhs) |
| void | operator!= (const bb::fr &lhs, const STerm &rhs) |
| std::ostream & | operator<< (std::ostream &os, const TermType type) |
| STerm | FFVar (const std::string &name, Solver *slv) |
| STerm | FFConst (const std::string &val, Solver *slv, uint32_t base) |
| STerm | FFConst (const bb::fr &val, Solver *slv) |
| STerm | FFIVar (const std::string &name, Solver *slv) |
| STerm | FFIConst (const std::string &val, Solver *slv, uint32_t base) |
| STerm | FFIConst (const bb::fr &val, Solver *slv) |
| STerm | IVar (const std::string &name, Solver *slv) |
| STerm | IConst (const std::string &val, Solver *slv, uint32_t base) |
| STerm | IConst (const bb::fr &val, Solver *slv) |
| STerm | BVVar (const std::string &name, Solver *slv) |
| STerm | BVConst (const std::string &val, Solver *slv, uint32_t base) |
| STerm | BVConst (const bb::fr &val, Solver *slv) |
Variables | |
| const std::unordered_map< TermType, std::unordered_map< OpType, cvc5::Kind > > | typed_operations |
| precomputed map that contains allowed operations for each of three symbolic types | |
|
strong |
|
strong |
Allows to define three types of symbolic terms STerm - Symbolic Variables acting like a Finte Field elements FFITerm - Symbolic Variables acting like integers modulo prime ITerm - Symbolic Variables acting like integers BVTerm - Symbolic Variables acting like bitvectors modulo prime.
| Enumerator | |
|---|---|
| FFTerm | |
| FFITerm | |
| BVTerm | |
| ITerm | |
| SBool | |
| STuple | |
| SymArray | |
| SymSet | |
| std::ostream & smt_terms::operator<< | ( | std::ostream & | os, |
| const TermType | type | ||
| ) |