startRuleEvaluation function
This must be called before evaluating a new rule, because we're using library-global state to both keep the rules terse and minimize space.
Implementation
void startRuleEvaluation(num howMany, [int? precision = 0]) {
_n = howMany;
_precision = precision;
_i = _n.round();
_updateVF(_n);
_updateWT(_f, _v);
}