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);
}