LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::witgen::FunctionInterpreter Class Reference

Execute one flattened LLZK function body over runtime values. More...

#include <Interpreter.h>

Public Member Functions

 FunctionInterpreter (mlir::ModuleOp moduleOp, mlir::SymbolTableCollection &tables, const llzk::Field &field, UninitializedBehavior uninitializedBehavior, std::mt19937_64 rng)
 Build an interpreter for one module and field configuration.
llvm::Expected< llvm::SmallVector< WitnessVal > > run (llzk::function::FuncDefOp funcOp, mlir::ArrayRef< WitnessVal > args)
 Run a function with concrete arguments and return its result values.

Detailed Description

Execute one flattened LLZK function body over runtime values.

Definition at line 25 of file Interpreter.h.

Constructor & Destructor Documentation

◆ FunctionInterpreter()

llzk::witgen::FunctionInterpreter::FunctionInterpreter ( mlir::ModuleOp moduleOp,
mlir::SymbolTableCollection & tables,
const llzk::Field & field,
UninitializedBehavior uninitializedBehavior,
std::mt19937_64 rng )

Build an interpreter for one module and field configuration.

Build an interpreter for a specific module and field.

Definition at line 77 of file Interpreter.cpp.

Member Function Documentation

◆ run()

llvm::Expected< llvm::SmallVector< WitnessVal > > llzk::witgen::FunctionInterpreter::run ( llzk::function::FuncDefOp funcOp,
mlir::ArrayRef< WitnessVal > args )

Run a function with concrete arguments and return its result values.

Execute a function body with concrete runtime values.

Definition at line 1173 of file Interpreter.cpp.


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