LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
WitnessSelection.cpp File Reference
#include "WitnessSelection.h"
#include "llzk/Dialect/Array/IR/Types.h"
#include "llzk/Dialect/Felt/IR/Types.h"
#include "llzk/Dialect/POD/IR/Attrs.h"
#include "llzk/Dialect/POD/IR/Types.h"
#include <mlir/IR/Operation.h>
Include dependency graph for WitnessSelection.cpp:

Go to the source code of this file.

Namespaces

namespace  llzk
namespace  llzk::witgen

Functions

bool llzk::witgen::memberIsSignal (component::StructDefOp owner, component::MemberDefOp member)
 Return true iff the member is considered a witness signal.
llvm::SmallVector< InputBindingllzk::witgen::collectInputBindings (function::FuncDefOp computeFunc)
 Collect stable JSON bindings for the main compute inputs.
FailureOr< llvm::SmallVector< OutputBinding > > llzk::witgen::collectOutputBindings (component::StructDefOp mainDef, SymbolTableCollection &tables, Operation *origin, OutputScope scope)
 Collect the selected output bindings for the requested scope.
llvm::json::Value llzk::witgen::buildSignalsJSONObject (ArrayRef< OutputBinding > bindings, ArrayRef< llvm::json::Value > serializedLeaves)
 Assemble a nested JSON object from selected witness leaves.