函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\zlib_deflate\deftree.c Create Date:2022-07-27 07:56:04
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:gen_bitlen

函数原型:static void gen_bitlen(deflate_state *s, tree_desc *desc)

返回类型:void

参数:

类型参数名称
deflate_state *s
tree_desc *desc
412  tree等于 the dynamic tree
413  max_code等于 largest code with non zero frequency
414  stree等于static_tree
415  extra等于extra_bits
416  base等于extra_base
417  max_length等于max_length
423  overflow等于0
425 bits小于等于maximum heap size 循环bl_count[bits]等于0
430  Len等于0
432 h小于umber of codes used to transfer the bit lengths 循环
433  n等于umber of codes at each bit length for an optimal tree [h]
434  bits等于Len加1
435  如果bits大于max_lengthbits等于max_length, overflow自加
436  Len等于bits
439  如果n大于max_code则继续下一循环
441  bl_count[bits]自加
442  xbits等于0
443  如果n大于等于basexbits等于extra[n - base]
444  f等于Freq
445  length of current block with optimal trees 加等于fbitsxbits的和
446  如果stree length of current block with static trees 加等于fLenxbits的和
448  如果overflow恒等于0则返回
454  循环
455  bits等于max_length减1
456 bl_count[bits]恒等于0循环
456  bits自减
457  bl_count[bits]自减
458  bl_count[bits + 1]加等于2
459  bl_count[max_length]自减
463  overflow减等于2
464 overflow大于0循环
471 bits不等于0循环
472  n等于bl_count[bits]
473 n不等于0循环
475  如果m大于max_code则继续下一循环
476  如果Len不等于bits
482  n自减
调用者
名称描述
build_tree