pub struct Report {
pub converged: bool,
pub failed: Vec<String>,
pub at_limit: Vec<String>,
pub iterations: usize,
pub phases: Vec<(Stop, usize, f64)>,
pub enclosed: Option<StateValues>,
pub unproven: Vec<(Vec<String>, String)>,
pub evaluations: [usize; 2],
pub largest: usize,
pub work: u64,
pub structure: Structure,
}Expand description
How a solve went: whether every constraint holds, and how hard it was to get there.
Fields§
§converged: bool§failed: Vec<String>The constraints that do not hold, by name.
at_limit: Vec<String>The values the solve stopped at a limit of: those the limits held at their bounds read.
iterations: usizeHow many steps the solve took, and each of its minimizations — none for a check: why it stopped, after how many steps, and the largest residual it left.
phases: Vec<(Stop, usize, f64)>§enclosed: Option<StateValues>Every value the solve moved — and the others solved with them — as
enclosed: the box its true value is in, about where the solve put
it (see solve::Enclosure). None for a solve not asked to prove
it, and for a check.
unproven: Vec<(Vec<String>, String)>The values no true solution near where the solve ended is proven for, and why: the constraints that conflict there, by name, or what is singular.
evaluations: [usize; 2]How many times the constraints were made: by the solve, and to enclose its solution.
largest: usizeThe most variables of a group the solve moved (see
solve::Report::largest), and the dense linear algebra the solve
did (solve::Report::work).
work: u64§structure: StructureThe groups it solved in: what the next event of a drag solves in
(see [solve]). None found for a check.