AngouriMath
MatchedRules
Description
Summary
that a set expressed here can be checked against the
it, so the migration is proven one set at a time rather than asserted wholesale.
Remarks
generated expressions and requires them to agree on every one, which is what makes
replacing the
there is nothing for it to agree with. It uses n-ary matching to say something the
against the code it would replace.
backwards — Reversed, and
claim. The fourteenth is the Pythagorean identity, which cannot, for a reason that is about
the mathematics rather than about the encoding.
was wrong about the reason. The first exchange cost about 5% of
and as the argument against doing it wholesale. It was not the idea:
whole pattern tree behind a delegate before any matching began, so the case that does the
least work — a rule that does not fire — paid the most for it. Settled once instead, a
miss goes 29.99 ns → 13.48 ns and a whole pass 1182.9 ns → 659.9 ns at identical
allocation.
second copy of the first, the exchange is inside the noise floor on time — six
samples each, medians +0.12% apart where the same binary spreads 1.90% — and
+0.14% on allocation, which is the one figure that reproduces: two copies of the
same assembly agree to 5 bytes in 45.6 MB. So a set is exchanged when its rules want to
be data, and the cost is no longer the reason not to.
Members
All
FieldBoolean
PropertyCollapseMultipleFractions
PropertyCollapseTrigonometricFunctions
PropertyCommon
PropertyCommonDenominator(AngouriMath.Functions.TreeAnalyzer.SortLevel)
MethodDivisionPreparing
PropertyExpandFactorialDivisions
PropertyExpandMultipleAngle
PropertyExpandTrigonometric
PropertyExpansion
PropertyFactorization
PropertyInequalityEquality
PropertyInvertNegativeMultipliers
PropertyInvertNegativePowers
PropertyNormalTrigonometricForm
PropertyNumericNeat
PropertyPerfectSquare
PropertyPhiFunction
PropertyPolynomialGcdCancellation
PropertyPolynomialLongDivision
PropertyPower
PropertyPowerOfPower
PropertyPythagoreanIdentity
PropertyRationalizeDenominator
PropertySetOperator
PropertySharedFactor
PropertySort(AngouriMath.Functions.TreeAnalyzer.SortLevel)
MethodTrigonometric
Property
Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online