StochasticRuleApplicationWithCaching

foresight.eqsat.saturation.StochasticRuleApplicationWithCaching

A strategy that applies a sequence of rules in a stochastic manner, caching the matches that have already been applied. This strategy operates on an EGraphWithRecordedApplications.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def apply[NodeT, EGraphT <: EGraphLike[NodeT, LazyRef(...)] & EGraph[NodeT], MatchT <: PortableMatch[NodeT, LazyRef(...)]](rules: Seq[Rule[NodeT, MatchT, EGraphT]], priorities: MatchPriorities[NodeT, Rule[NodeT, MatchT, EGraphT], EGraphWithRecordedApplications[NodeT, EGraphT, MatchT], MatchT], random: Random): StochasticRuleApplication[NodeT, Rule[NodeT, MatchT, EGraphT], EGraphWithRecordedApplications[NodeT, EGraphT, MatchT], MatchT]

Creates a strategy that applies a sequence of rules in a stochastic manner, caching the matches that have already been applied. This strategy operates on an EGraphWithRecordedApplications.

Creates a strategy that applies a sequence of rules in a stochastic manner, caching the matches that have already been applied. This strategy operates on an EGraphWithRecordedApplications.

Type parameters

EGraphT

The type of the e-graph.

MatchT

The type of the matches produced by the rules.

NodeT

The type of the nodes in the e-graph.

Value parameters

priorities

The prioritizer that determines the priority of matches and the batch size to apply.

random

A random number generator used for selecting matches randomly.

rules

The rules to apply.

Attributes

Returns

A strategy that applies the rules with caching.

def apply[NodeT, EGraphT <: EGraphLike[NodeT, LazyRef(...)] & EGraph[NodeT], MatchT <: PortableMatch[NodeT, LazyRef(...)]](rules: Seq[Rule[NodeT, MatchT, EGraphT]], priorities: MatchPriorities[NodeT, Rule[NodeT, MatchT, EGraphT], EGraphWithRecordedApplications[NodeT, EGraphT, MatchT], MatchT]): StochasticRuleApplication[NodeT, Rule[NodeT, MatchT, EGraphT], EGraphWithRecordedApplications[NodeT, EGraphT, MatchT], MatchT]

Creates a strategy that applies a sequence of rules in a stochastic manner, caching the matches that have already been applied. This strategy operates on an EGraphWithRecordedApplications.

Creates a strategy that applies a sequence of rules in a stochastic manner, caching the matches that have already been applied. This strategy operates on an EGraphWithRecordedApplications.

Type parameters

EGraphT

The type of the e-graph.

MatchT

The type of the matches produced by the rules.

NodeT

The type of the nodes in the e-graph.

Value parameters

priorities

The prioritizer that determines the priority of matches and the batch size to apply.

rules

The rules to apply.

Attributes

Returns

A strategy that applies the rules with caching, using a default random number generator with seed 0.