Lines Matching refs:tree

171 local void pqdownheap     OF((deflate_state *s, ct_data *tree, int k));
173 local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
175 local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
176 local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
194 # define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len) argument
198 # define send_code(s, c, tree) \ argument
200 send_bits(s, tree[c].Code, tree[c].Len); }
465 #define pqremove(s, tree, top) \ argument
469 pqdownheap(s, tree, SMALLEST); \
476 #define smaller(tree, n, m, depth) \ argument
477 (tree[n].Freq < tree[m].Freq || \
478 (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
490 pqdownheap(deflate_state *s, ct_data *tree, int k) in pqdownheap() argument
497 smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { in pqdownheap()
501 if (smaller(tree, v, s->heap[j], s->depth)) break; in pqdownheap()
526 ct_data *tree = desc->dyn_tree; in gen_bitlen() local
544 tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ in gen_bitlen()
548 bits = tree[tree[n].Dad].Len + 1; in gen_bitlen()
553 tree[n].Len = (ush)bits; in gen_bitlen()
561 f = tree[n].Freq; in gen_bitlen()
593 if ((unsigned) tree[m].Len != (unsigned) bits) { in gen_bitlen()
594 Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); in gen_bitlen()
595 s->opt_len += ((long)bits - (long)tree[m].Len) in gen_bitlen()
596 *(long)tree[m].Freq; in gen_bitlen()
597 tree[m].Len = (ush)bits; in gen_bitlen()
617 gen_codes(ct_data *tree, int max_code, ushf *bl_count) in gen_codes() argument
638 int len = tree[n].Len; in gen_codes()
641 tree[n].Code = (ush)bi_reverse(next_code[len]++, len); in gen_codes()
643 Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", in gen_codes()
644 n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1)); in gen_codes()
661 ct_data *tree = desc->dyn_tree; in build_tree() local
676 if (tree[n].Freq != 0) { in build_tree()
680 tree[n].Len = 0; in build_tree()
691 tree[node].Freq = 1; in build_tree()
701 for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); in build_tree()
708 pqremove(s, tree, n); /* n = node of least frequency */ in build_tree()
715 tree[node].Freq = tree[n].Freq + tree[m].Freq; in build_tree()
718 tree[n].Dad = tree[m].Dad = (ush)node; in build_tree()
720 if (tree == s->bl_tree) { in build_tree()
722 node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq); in build_tree()
727 pqdownheap(s, tree, SMALLEST); in build_tree()
739 gen_codes ((ct_data *)tree, max_code, s->bl_count); in build_tree()
750 scan_tree(deflate_state *s, ct_data *tree, int max_code) in scan_tree() argument
755 int nextlen = tree[0].Len; /* length of next code */ in scan_tree()
764 tree[max_code+1].Len = (ush)0xffff; /* guard */ in scan_tree()
767 curlen = nextlen; nextlen = tree[n+1].Len; in scan_tree()
802 send_tree( deflate_state *s, ct_data *tree, int max_code) in send_tree() argument
807 int nextlen = tree[0].Len; /* length of next code */ in send_tree()
819 curlen = nextlen; nextlen = tree[n+1].Len; in send_tree()