AngouriMath

Navigation

LevelledCache


← Back to list of classes

Description

Summary

The transformations that differ only by a level, each built at most once, so that
an ordinary Simplify() allocates nothing to reach its transformation.

Remarks

Filled on demand rather than in the static initialiser, and it has to be. Building
the factorisation entry reads RewriteRules, whose sets in turn build
transformations of their own; doing that while this type is still initialising
makes the two types depend on each other's initialisation, and one of them then
reads the other's fields before they are set. Two threads arriving together may
each build the same entry; the entries are equivalent and immutable, so whichever
reference lands is the one everyone then uses.

Members

























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