Lines Matching defs:stats

126 	Stats_t		stats;		/* RE statistics		*/
364 stats(register Cenv_t* env, register Rex_t* e)
386 x = env->stats.x;
387 l = env->stats.l;
388 y = env->stats.y;
389 k = env->stats.k;
390 t = env->stats.t;
391 if (++env->stats.a <= 0)
393 cm = env->stats.m;
394 env->stats.m = 0;
395 cn = env->stats.n;
396 env->stats.n = 0;
397 if (stats(env, e->re.group.expr.binary.left))
399 m = env->stats.m;
400 env->stats.m = 0;
401 n = env->stats.n;
402 env->stats.n = 0;
403 if (e->re.group.expr.binary.right && stats(env, e->re.group.expr.binary.right))
405 if (env->stats.m > m)
406 env->stats.m = m;
408 m = env->stats.m;
409 if ((env->stats.m += cm) < m)
411 if (env->stats.n < n)
412 env->stats.n = n;
414 n = env->stats.n;
415 if ((env->stats.n += cn) < n)
417 env->stats.x = x;
418 env->stats.l = l;
419 env->stats.y = y;
420 env->stats.k = k;
421 env->stats.t = t;
424 if (++env->stats.b <= 0)
431 n = env->stats.m;
432 if ((env->stats.m += e->lo) < n)
436 n = env->stats.n;
437 if ((env->stats.n += e->hi) < n)
442 if (++env->stats.c <= 0)
444 if (++env->stats.s <= 0)
449 cm = env->stats.m;
450 env->stats.m = 0;
451 cn = env->stats.n;
452 env->stats.n = 0;
453 if (stats(env, e->re.group.expr.binary.left))
455 nm = env->stats.m;
456 env->stats.m = 0;
457 nn = env->stats.n;
458 env->stats.n = 0;
459 if (stats(env, e->re.group.expr.binary.right))
461 if (env->stats.m < nm)
462 env->stats.m = nm;
464 nm = env->stats.m;
465 if ((env->stats.m += cm) < nm)
467 if (env->stats.n < nn)
468 env->stats.n = nn;
470 nn = env->stats.n;
471 if ((env->stats.n += cn) < nn)
475 env->stats.e = 1;
478 if (e->re.group.number && ++env->stats.p <= 0 || !e->re.group.number && ++env->stats.u <= 0)
480 if (stats(env, e->re.group.expr.rex))
487 m = env->stats.m;
488 n = env->stats.n;
489 x = env->stats.x;
490 y = env->stats.y;
491 if (stats(env, e->re.group.expr.rex))
493 env->stats.m = m;
494 env->stats.n = n;
495 env->stats.x = x;
496 env->stats.y = y;
501 if (++env->stats.u <= 0)
507 if (++env->stats.u <= 0)
509 m = env->stats.m;
510 n = env->stats.n;
511 x = env->stats.x;
512 y = env->stats.y;
513 if (e->re.group.size > 0 && ++env->stats.b <= 0)
515 if (e->re.group.expr.binary.left && stats(env, e->re.group.expr.binary.left))
519 if (q->re.group.expr.binary.left && stats(env, q->re.group.expr.binary.left))
521 if (q->re.group.expr.binary.right && stats(env, q->re.group.expr.binary.right))
524 env->stats.m = m;
525 env->stats.n = n;
526 env->stats.x = x;
527 env->stats.y = y;
530 if (++env->stats.u <= 0)
532 m = env->stats.m;
533 n = env->stats.n;
534 x = env->stats.x;
535 y = env->stats.y;
536 if (stats(env, e->re.group.expr.rex))
538 env->stats.m = m;
539 env->stats.n = n;
540 env->stats.x = x;
541 env->stats.y = y;
544 env->stats.i++;
545 x = env->stats.x;
546 l = env->stats.l;
547 y = env->stats.y;
548 k = env->stats.k;
549 t = env->stats.t;
550 cm = env->stats.m;
551 env->stats.m = 0;
552 if (stats(env, e->re.group.expr.rex))
554 env->stats.m = !env->stats.m;
555 if ((env->stats.m += cm) < cm)
557 env->stats.x = x;
558 env->stats.l = l;
559 env->stats.y = y;
560 env->stats.k = k;
561 env->stats.t = t;
564 x = env->stats.x;
565 l = env->stats.l;
566 y = env->stats.y;
567 k = env->stats.k;
568 t = env->stats.t;
569 if (++env->stats.c <= 0)
571 b = env->stats.b;
572 c = env->stats.c;
573 cm = env->stats.m;
574 env->stats.m = 0;
575 if (stats(env, e->re.group.expr.rex))
577 if (env->stats.m == 1 && b == env->stats.b && c == env->stats.c && ++env->stats.s <= 0)
581 env->stats.x = x;
582 env->stats.l = l;
583 env->stats.y = y;
584 env->stats.k = k;
585 env->stats.t = t;
586 env->stats.m = cm;
590 m = env->stats.m;
591 if ((env->stats.m *= e->lo) > 0 && env->stats.m < m)
593 m = env->stats.m;
594 if ((env->stats.m += cm) < m)
596 if (env->stats.x != x)
597 env->stats.l = cm;
598 if (env->stats.y != y)
599 env->stats.k = cm;
605 cm = env->stats.m;
606 if ((env->stats.m += e->re.string.size) < cm)
608 cn = env->stats.n;
609 if ((env->stats.n += e->re.string.size) < cn)
611 if (!env->stats.x || env->stats.x->re.string.size < e->re.string.size)
613 env->stats.x = e;
614 env->stats.l = cm;
619 if (++env->stats.s <= 0)
621 cm = env->stats.m;
622 if ((env->stats.m += e->re.trie.min) < cm)
624 cn = env->stats.n;
625 if ((env->stats.n += e->re.trie.max) < cn)
627 env->stats.t++;
628 if (!env->stats.y || env->stats.y->re.trie.min < e->re.trie.min)
630 env->stats.y = e;
631 env->stats.k = cm;
2555 if (stats(env, e))
2562 f->re.group.size = env->stats.m;
2563 memset(&env->stats, 0, sizeof(env->stats));
3027 if ((x = env->stats.x) && x->re.string.size < 3)
3029 if ((t = env->stats.y) && t->re.trie.min < 3)
3052 l = env->stats.l;
3059 l = env->stats.k;
3073 a->re.bm.right = env->stats.m - l - n;
3074 a->re.bm.complete = (env->stats.e || y != e && (e->type != REX_GROUP || y != e->re.group.expr.rex) || e->next || ((a->re.bm.left + a->re.bm.right) >= 0)) ? 0 : n;
3180 if (env->stats.b)
3367 if (stats(&env, p->env->rex))
3373 if (env.stats.b)
3375 else if (!(env.flags & REG_FIRST) && (env.stats.a || env.stats.c > 1 && env.stats.c != env.stats.s || env.stats.t && (env.stats.t > 1 || env.stats.a || env.stats.c)))
3377 if (p->env->hard || env.stats.c || env.stats.i)
3378 p->env->stats.re_min = p->env->stats.re_max = -1;
3381 if (!(p->env->stats.re_min = env.stats.m))
3382 p->env->stats.re_min = -1;
3383 if (!(p->env->stats.re_max = env.stats.n))
3384 p->env->stats.re_max = -1;
3389 p->re_nsub = env.stats.p;
3407 p->env->min = env.stats.m;
3408 p->env->nsub = env.stats.p + env.stats.u;
3536 if (stats(&env, p->env->rex))