Lines Matching refs:syms

203 local big_t count(int syms, int len, int left)  in count()  argument
213 if (syms == left) in count()
217 assert(syms > left && left > 0 && len < max); in count()
220 index = INDEX(syms, left, len); in count()
227 least = (left << 1) - syms; in count()
234 most = (((code_t)left << (max - len)) - syms) / in count()
240 got = count(syms - use, len + 1, (left - use) << 1); in count()
258 local int beenhere(int syms, int len, int left, int mem, int rem) in beenhere() argument
267 index = INDEX(syms, left, len); in beenhere()
322 local void examine(int syms, int len, int left, int mem, int rem) in examine() argument
329 if (syms == left) { in examine()
358 if (beenhere(syms, len, left, mem, rem)) in examine()
363 least = (left << 1) - syms; in examine()
370 most = (((code_t)left << (max - len)) - syms) / in examine()
385 examine(syms - use, len + 1, (left - use) << 1, in examine()
403 local void enough(int syms) in enough() argument
416 for (n = 3; n <= syms; n++) in enough()
460 int syms; /* total number of symbols to code */ in main() local
472 syms = 286; in main()
476 syms = atoi(argv[1]); in main()
483 if (argc > 4 || syms < 2 || root < 1 || max < 1) { in main()
490 if (max > syms - 1) in main()
491 max = syms - 1; in main()
498 if (max > n || (code_t)(syms - 2) >= (((code_t)0 - 1) >> (max - 1))) { in main()
504 if ((code_t)(syms - 1) > ((code_t)1 << max) - 1) { in main()
506 syms, max); in main()
519 if (syms == 2) /* iff max == 1 */ in main()
522 size = syms >> 1; in main()
523 if (size > ((size_t)0 - 1) / (n = (syms - 1) >> 1) || in main()
535 for (n = 2; n <= syms; n++) { in main()
545 printf("%llu total codes for 2 to %d symbols", sum, syms); in main()
546 if (max < syms - 1) in main()
552 if (syms == 2) in main()
564 if ((code_t)syms < ((code_t)1 << (root + 1))) in main()
565 enough(syms); in main()