Generator

One table, built two ways, beside the rule it is compared with

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
One table, built two ways, beside the rule it is compared withThe exact shift tables computed from the definition — every pattern at every offset — and computed from the trie's failure links, with the published rule's own tables beside them. At 128 patterns the definition costs 769,724 primitive steps, the link construction 8,992 and the published rule 5,604. The first two produce the same table, checked at all 3,736 decisions. Both axes are logarithmic.101001,00010010³10⁴10⁵total length of the pattern setprimitive stepsthe definitionfrom the linksthe published rulefour symbols · m = 1085.60x apart at 128 patterns

One table, built two ways, beside the rule it is compared with

The exact shift tables computed from the definition — every pattern at every offset — and computed from the trie's failure links, with the published rule's own tables beside them. At 128 patterns the definition costs 769,724 primitive steps, the link construction 8,992 and the published rule 5,604. The first two produce the same table, checked at all 3,736 decisions. Both axes are logarithmic.

Drawn at 700 × 430, wide on the page. Everything above is what exact-construction returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

4 essays call exact-construction. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

The library, page 2 of 5 — where exact-construction sits