syms
local inline size_t map(int syms, int left, int len) {
return ((size_t)((syms - 1) >> 1) * ((syms - 2) >> 1) +
local big_t count(int syms, int left, int len) {
if (syms == left)
assert(syms > left && left > 0 && len < g.max);
size_t index = map(syms, left, len);
int least = (left << 1) - syms;
int most = (((code_t)left << (g.max - len)) - syms) /
got = count(syms - use, (left - use) << 1, len + 1);
local int been_here(int syms, int left, int len, int mem, int rem) {
size_t index = map(syms, left, len);
local void examine(int syms, int left, int len, int mem, int rem) {
if (syms == left) {
syms = 0;
syms += g.code[bits];
syms, g.root + 1, ((1 << g.root) - left) << 1);
if (been_here(syms, left, len, mem, rem))
int least = (left << 1) - syms;
int most = (((code_t)left << (g.max - len)) - syms) /
examine(syms - use, (left - use) << 1, len + 1,
local void enough(int syms) {
for (int n = 3; n <= syms; n++)
int syms = 286;
syms = atoi(argv[1]);
if (argc > 4 || syms < 2 || g.root < 1 || g.max < 1) {
if (g.max > syms - 1)
g.max = syms - 1;
if (g.max > bits || (code_t)(syms - 2) >= ((code_t)-1 >> (g.max - 1))) {
if ((code_t)(syms - 1) > ((code_t)1 << g.max) - 1) {
syms, g.max);
if (syms == 2) // iff max == 1
g.size = syms >> 1;
int n = (syms - 1) >> 1;
for (int n = 2; n <= syms; n++) {
printf("%"PRIbig" total codes for 2 to %d symbols", sum, syms);
if (g.max < syms - 1)
if (syms == 2)
if ((code_t)syms < ((code_t)1 << (g.root + 1)))
enough(syms);
_b.data(_centery + edges[e].y, _centerx + edges[e].x) = syms[e];
const int BOX::syms[BOX::last] =
static const int syms[BOX::last];
sym_ston(const struct res_sym *syms, const char *name, int *success) {
for (; syms->name != 0; syms++) {
if (strcasecmp (name, syms->name) == 0) {
return (syms->number);
return (syms->number); /*%< The default value. */
sym_ntos(const struct res_sym *syms, int number, int *success) {
for (; syms->name != 0; syms++) {
if (number == syms->number) {
return (syms->name);
sym_ntop(const struct res_sym *syms, int number, int *success) {
for (; syms->name != 0; syms++) {
if (number == syms->number) {
return (syms->humanname);
char syms[] = "iiiiiiiilhLHeeEEoooooooooooooooo"
printf ("%c", syms[
char **syms;
syms = backtrace_symbols_fmt(addr, frames, "%n");
ATF_REQUIRE(strcmp(syms[0], "atfu_backtrace_sandbox_body") == 0);
syms = backtrace_symbols_fmt(addr, frames, "%n");
if (strcmp(syms[0], "atfu_backtrace_sandbox_body") != 0)
symtab_remove_level(sym_t *syms)
if (syms != NULL)
debug_step("%s %d", __func__, syms->s_block_level);
for (sym_t *sym = syms; sym != NULL; sym = sym->s_level_next) {
syms_add(struct syms *syms, const sym_t *sym)
if (syms->len >= syms->cap) {
syms->cap *= 2;
syms->items = xrealloc(syms->items,
syms->cap * sizeof(syms->items[0]));
syms->items[syms->len++] = sym;
struct syms syms = { xcalloc(64, sizeof(syms.items[0])), 0, 64 };
syms.len = 0;
syms_add(&syms, sym);
if (syms.len > 0) {
qsort(syms.items, syms.len, sizeof(syms.items[0]),
for (size_t i = 0; i < syms.len; i++)
debug_sym("", syms.items[i], "\n");
free(syms.items);
syms = erealloc(syms, sizeof(*syms) * nsyms);
syms[nsyms - 1] = sym;
qsort(syms, nsyms, sizeof(*syms), compare_value);
return syms;
const struct sym *sym = syms[mid];
assert(syms[lo]->value >= sym->value);
assert(sym->value >= syms[hi]->value);
assert(lo == nsyms - 1 || syms[lo]->value <= value);
assert(lo == 0 || syms[lo - 1]->value > value);
const struct sym *sym = syms[i];
static struct sym **syms = NULL;