|
discrete-modulus (C++)
Reference implementations of discrete modulus algorithms (C++)
|
Opt-in per-round trace recording for spanning_tree_modulus, and a versioned JSON writer for the recorded trace. More...
#include <ostream>#include <utility>#include <vector>#include <boost/rational.hpp>#include "graphs.hpp"Go to the source code of this file.
Classes | |
| struct | discrete_modulus::TraceRound |
| One round of spanning_tree_modulus's main loop: the component it was carved from, the edge set dispatched at eta* = theta, and theta itself. More... | |
| struct | discrete_modulus::SolverTrace |
| The full recorded trace of a spanning_tree_modulus run. More... | |
Namespaces | |
| namespace | discrete_modulus |
Functions | |
| void | discrete_modulus::write_trace_json (std::ostream &os, const SolverTrace &trace) |
Writes trace to os as versioned JSON ("version": 1). | |
Opt-in per-round trace recording for spanning_tree_modulus, and a versioned JSON writer for the recorded trace.
The certificate builder (a planned, separate untrusted tool) needs the sequence of crit_sets that Cunningham's algorithm dispatches, one per round, together with the component each was carved from, in order to reconstruct a pmf on spanning trees round by round. This header defines that recorded shape (SolverTrace) and its serialization (write_trace_json) independently of the algorithm itself, so spanning_tree_modulus only needs to append one TraceRound per round when a caller opts in.