|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
#include "ValueModel.h"#include "WitnessSelection.h"#include <llvm/Support/Error.h>#include <llvm/Support/JSON.h>Go to the source code of this file.
Classes | |
| struct | llzk::witgen::JSONMismatch |
| One structured JSON mismatch between expected and actual witgen output. More... | |
Namespaces | |
| namespace | llzk |
| namespace | llzk::witgen |
Enumerations | |
| enum class | llzk::witgen::SerializationMode : std::uint8_t { llzk::witgen::PublicOutputsOnly , llzk::witgen::AllSignals } |
| Select how struct values are filtered during JSON serialization. More... | |
Functions | |
| llvm::Expected< WitnessVal > | llzk::witgen::parseJSONValue (const llvm::json::Value *json, mlir::Type type, const llzk::Field &field, mlir::Operation *origin) |
| Parse one JSON value into the tool's runtime representation. | |
| llvm::Expected< llvm::json::Value > | llzk::witgen::serializeJSONValue (const WitnessVal &value, mlir::Type type, mlir::SymbolTableCollection &tables, mlir::Operation *origin, SerializationMode mode=SerializationMode::PublicOutputsOnly) |
| Serialize one runtime value into the user-facing JSON output format. | |
| llvm::Expected< llvm::json::Object > | llzk::witgen::buildInputsJSONObject (llvm::ArrayRef< InputBinding > bindings, llvm::ArrayRef< WitnessVal > values, mlir::SymbolTableCollection &tables, mlir::Operation *origin) |
| Serialize named input values into a JSON object. | |
| llvm::Expected< WitnessVal > | llzk::witgen::extractValueAtPath (const WitnessVal &root, mlir::Type rootType, llvm::ArrayRef< std::string > path, mlir::SymbolTableCollection &tables, mlir::Operation *origin) |
| Extract one nested runtime leaf by path. | |
| void | llzk::witgen::diffJSON (const llvm::json::Value &expected, const llvm::json::Value &actual, llvm::SmallVectorImpl< JSONMismatch > &out, llvm::StringRef path="$") |
| Compare two JSON values structurally and append any mismatches to out. | |
| void | llzk::witgen::printJSONMismatches (llvm::raw_ostream &os, llvm::ArrayRef< JSONMismatch > mismatches) |
| Render one human-readable mismatch report. | |