AngouriMath

Navigation

← Back to list of members

Run​(AngouriMath.​Core.​Transformations.​EGraph,​System.​Collections.​Generic.​IReadOnlyList{AngouriMath.​Core.​Transformations.​Matching.​MatchedRule},​AngouriMath.​Core.​Budgets.​BudgetLedger,​System.​Func{AngouriMath.​Entity,​System.​Double},​System.​Func{System.​Boolean})

 Method (no overloads)

Summary

Merges into graph every equality rules reach from
what it already holds, until a pass changes nothing or ledger stops
it. Answers whether it reached that fixed point rather than the ceiling.

Parameter "graph"

The graph to saturate, in place.

Parameter "rules"

Which rules to fire; see RulesUpTo(AngouriMath.Core.Transformations.RewriteRuleGrowth).

Parameter "ledger"

What bounds the work, and what records how much was done.

Parameter "witnessCost"

How a representative is chosen when one is needed — for a rule whose left-hand side
cannot e-match, which has to be shown a term, and for a rule's when predicate,
which is arbitrary code that has to be asked about something. It ranks a
witness, never the answer: what the caller finally extracts is the caller's own
business, and is where a cheapest-form and a canonical-form caller differ.

Parameter "settled"

A caller's own stop, asked after every pass that merged something; true ends the run without the graph's fixed point having been reached. A caller that
extracts an answer passes "the extraction has not changed for two passes": that is
the fixed point which matters to it, and it comes where the graph's own may never —
on a rational coefficient beside a variable, the regrouping rules add a fresh e-node
to the root's class on every pass while its cheapest member stopped changing on the
third (#1200).
ProvesEqual(AngouriMath.Entity,AngouriMath.Entity,System.Collections.Generic.IReadOnlyList{AngouriMath.Core.Transformations.Matching.MatchedRule},AngouriMath.Core.Budgets.WorkBudget) passes nothing: it needs a union, not an extraction.

























Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online