Class for loading ACIR (Arithmetic Circuit Intermediate Representation) programs and converting them ...
acir_format::AcirFormat & get_constraint_systems()
Gets the constraint systems from the loaded ACIR program.
AcirToSmtLoader(const AcirToSmtLoader &other)=delete
acir_format::AcirFormat constraint_system
The parsed constraint system from the ACIR program.
AcirToSmtLoader && operator=(AcirToSmtLoader &&other)=delete
msgpack::sbuffer circuit_buf
Buffer for circuit serialization using MessagePack.
smt_solver::Solver get_smt_solver()
Gets an SMT solver instance.
smt_circuit::UltraCircuit get_field_smt_circuit(smt_solver::Solver *solver)
Creates an SMT circuit for field operations.
AcirToSmtLoader(AcirToSmtLoader &&other)=delete
std::string instruction_name
Name of the instruction/filename being processed.
~AcirToSmtLoader()=default
AcirToSmtLoader & operator=(const AcirToSmtLoader other)=delete
smt_circuit::CircuitSchema get_circuit_schema()
Gets the circuit schema from the loaded ACIR program.
bb::UltraCircuitBuilder get_circuit_builder()
Creates a circuit builder for the loaded program.
std::vector< uint8_t > acir_program_buf
Buffer containing the raw ACIR program data read from file.
smt_circuit::UltraCircuit get_bitvec_smt_circuit(smt_solver::Solver *solver)
Creates an SMT circuit for bitvector operations.
smt_circuit::UltraCircuit get_integer_smt_circuit(smt_solver::Solver *solver)
Creates an SMT circuit for integer operations.
Symbolic Circuit class for Standard Circuit Builder.
Serialized state of a circuit.