barretenberg
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
smt_circuit::Circuit< FF > Class Template Reference

Symbolic Circuit class. More...

#include <circuit.hpp>

Public Member Functions

 Circuit (CircuitSchema &circuit_info, Solver *solver, const std::string &tag="")
 Construct a new Circuit::Circuit object.
 
FF operator[] (const std::string &name)
 Returns a previously named symbolic variable.
 
FF operator[] (const uint32_t &idx)
 
uint32_t get_num_gates () const
 
uint32_t get_num_vars () const
 

Public Attributes

std::vector< std::string > variables
 
std::vector< uint32_t > public_inps
 
std::unordered_map< uint32_t, std::string > vars_of_interest
 
std::unordered_map< std::string, uint32_t > terms
 
std::vector< std::vector< std::string > > selectors
 
std::vector< std::vector< uint32_t > > wires_idxs
 
std::vector< FFvars
 
Solversolver
 
std::string tag
 

Detailed Description

template<typename FF>
class smt_circuit::Circuit< FF >

Symbolic Circuit class.

Contains all the information about the circuit: gates, variables, symbolic variables, specified names and global solver.

Template Parameters
FFFFTerm or FFITerm

Constructor & Destructor Documentation

◆ Circuit()

template<typename FF >
smt_circuit::Circuit< FF >::Circuit ( CircuitSchema circuit_info,
Solver solver,
const std::string &  tag = "" 
)
explicit

Construct a new Circuit::Circuit object.

Parameters
circuit_infoCircuitShema object
solverpointer to the global solver
tagtag of the circuit. Empty by default.

Member Function Documentation

◆ operator[]()

template<typename FF >
FF smt_circuit::Circuit< FF >::operator[] ( const std::string &  name)

Returns a previously named symbolic variable.

Parameters
name
Returns
FF

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