AngouriMath
TryEMatchApply
Method with 2 overloads
TryEMatchApply(AngouriMath.Core.Transformations.EGraph,System.Int32,System.Func{AngouriMath.Entity,System.Double},System.Func{System.Boolean},System.Int32@)
Summary
TryEMatchApply(AngouriMath.Core.Transformations.EGraph,System.Int32,System.Func{AngouriMath.Entity,System.Double},System.Int32@), charging
spend once for every binding tried after the first. A binding tried
is a match attempt: the caller charged the first, and an attempt over a class with a
thousand members is a thousand of them and not one -- which is what let a two-second
budget run for sixty-nine. Afalse fromspend ends the attempt as not matched; the caller's ledger says why.
https://github.com/asc-community/AngouriMath/issues/1199
TryEMatchApply(AngouriMath.Core.Transformations.EGraph,System.Int32,System.Func{AngouriMath.Entity,System.Double},System.Int32@)
Summary
The e-class TryApply(AngouriMath.Entity) would produce, found by matching against
classId directly rather than a materialised term. Caller must check
CanEMatch on Left first -- this throws rather
than silently falling back, so a caller cannot forget the check and get the old,
slower path without knowing it.
Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online