Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
deflate.h File Reference
#include "zutil.h"

Go to the source code of this file.

Classes

struct  ct_data_s
struct  tree_desc_s
struct  internal_state

Macros

#define GZIP
#define LENGTH_CODES   29
#define LITERALS   256
#define L_CODES   (LITERALS+1+LENGTH_CODES)
#define D_CODES   30
#define BL_CODES   19
#define HEAP_SIZE   (2*L_CODES+1)
#define MAX_BITS   15
#define Buf_size   16
#define INIT_STATE   42 /* zlib header -> BUSY_STATE */
#define GZIP_STATE   57 /* gzip header -> BUSY_STATE | EXTRA_STATE */
#define EXTRA_STATE   69 /* gzip extra block -> NAME_STATE */
#define NAME_STATE   73 /* gzip file name -> COMMENT_STATE */
#define COMMENT_STATE   91 /* gzip comment -> HCRC_STATE */
#define HCRC_STATE   103 /* gzip header CRC -> BUSY_STATE */
#define BUSY_STATE   113 /* deflate -> FINISH_STATE */
#define FINISH_STATE   666 /* stream complete */
#define Freq   fc.freq
#define Code   fc.code
#define Dad   dl.dad
#define Len   dl.len
#define max_insert_length   max_lazy_match
#define LIT_BUFS   4
#define put_byte(s, c)
#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)
#define MAX_DIST(s)
#define WIN_INIT   MAX_MATCH
#define d_code(dist)
#define _tr_tally_lit(s, c, flush)
#define _tr_tally_dist(s, distance, length, flush)

Typedefs

typedef struct ct_data_s ct_data
typedef struct static_tree_desc_s static_tree_desc
typedef struct tree_desc_s tree_desc
typedef ush Pos
typedef Pos FAR Posf
typedef unsigned IPos
typedef struct internal_state deflate_state

Functions

void ZLIB_INTERNAL _tr_init (deflate_state *s)
int ZLIB_INTERNAL _tr_tally (deflate_state *s, unsigned dist, unsigned lc)
void ZLIB_INTERNAL _tr_flush_block (deflate_state *s, charf *buf, ulg stored_len, int last)
void ZLIB_INTERNAL _tr_flush_bits (deflate_state *s)
void ZLIB_INTERNAL _tr_align (deflate_state *s)
void ZLIB_INTERNAL _tr_stored_block (deflate_state *s, charf *buf, ulg stored_len, int last)

Variables

uch ZLIB_INTERNAL _length_code []
uch ZLIB_INTERNAL _dist_code []

Macro Definition Documentation

◆ _tr_tally_dist

#define _tr_tally_dist ( s,
distance,
length,
flush )
Value:
{ uch len = (uch)(length); \
ush dist = (ush)(distance); \
s->sym_buf[s->sym_next++] = (uch)dist; \
s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
s->sym_buf[s->sym_next++] = len; \
dist--; \
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
s->dyn_dtree[d_code(dist)].Freq++; \
flush = (s->sym_next == s->sym_end); \
}
#define LITERALS
Definition deflate.h:37
#define d_code(dist)
Definition deflate.h:314
uch ZLIB_INTERNAL _length_code[]
Definition trees.h:102
unsigned short ush
Definition zutil.h:41
unsigned char uch
Definition zutil.h:39

Definition at line 359 of file deflate.h.

359# define _tr_tally_dist(s, distance, length, flush) \
360 { uch len = (uch)(length); \
361 ush dist = (ush)(distance); \
362 s->sym_buf[s->sym_next++] = (uch)dist; \
363 s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
364 s->sym_buf[s->sym_next++] = len; \
365 dist--; \
366 s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
367 s->dyn_dtree[d_code(dist)].Freq++; \
368 flush = (s->sym_next == s->sym_end); \
369 }

Referenced by deflate_fast(), deflate_rle(), and deflate_slow().

◆ _tr_tally_lit

#define _tr_tally_lit ( s,
c,
flush )
Value:
{ uch cc = (c); \
s->sym_buf[s->sym_next++] = 0; \
s->sym_buf[s->sym_next++] = 0; \
s->sym_buf[s->sym_next++] = cc; \
s->dyn_ltree[cc].Freq++; \
flush = (s->sym_next == s->sym_end); \
}

Definition at line 351 of file deflate.h.

351# define _tr_tally_lit(s, c, flush) \
352 { uch cc = (c); \
353 s->sym_buf[s->sym_next++] = 0; \
354 s->sym_buf[s->sym_next++] = 0; \
355 s->sym_buf[s->sym_next++] = cc; \
356 s->dyn_ltree[cc].Freq++; \
357 flush = (s->sym_next == s->sym_end); \
358 }

Referenced by deflate_fast(), deflate_huff(), deflate_rle(), and deflate_slow().

◆ BL_CODES

#define BL_CODES   19

Definition at line 46 of file deflate.h.

Referenced by build_bl_tree(), init_block(), and send_all_trees().

◆ Buf_size

#define Buf_size   16

Definition at line 55 of file deflate.h.

Referenced by deflatePrime().

◆ BUSY_STATE

#define BUSY_STATE   113 /* deflate -> FINISH_STATE */

Definition at line 66 of file deflate.h.

Referenced by deflate(), deflateEnd(), and deflateStateCheck().

◆ Code

#define Code   fc.code

Definition at line 84 of file deflate.h.

Referenced by gen_codes().

◆ COMMENT_STATE

#define COMMENT_STATE   91 /* gzip comment -> HCRC_STATE */

Definition at line 64 of file deflate.h.

Referenced by deflate(), and deflateStateCheck().

◆ d_code

#define d_code ( dist)
Value:
((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
uch ZLIB_INTERNAL _dist_code[]
Definition trees.h:73

Definition at line 314 of file deflate.h.

314#define d_code(dist) \
315 ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])

Referenced by _tr_tally(), and compress_block().

◆ D_CODES

#define D_CODES   30

Definition at line 43 of file deflate.h.

Referenced by _tr_tally(), compress_block(), init_block(), send_all_trees(), and tr_static_init().

◆ Dad

#define Dad   dl.dad

Definition at line 85 of file deflate.h.

◆ EXTRA_STATE

#define EXTRA_STATE   69 /* gzip extra block -> NAME_STATE */

Definition at line 62 of file deflate.h.

Referenced by deflate(), and deflateStateCheck().

◆ FINISH_STATE

#define FINISH_STATE   666 /* stream complete */

Definition at line 67 of file deflate.h.

Referenced by deflate(), deflateInit2_(), and deflateStateCheck().

◆ Freq

#define Freq   fc.freq

Definition at line 83 of file deflate.h.

Referenced by build_tree(), and gen_bitlen().

◆ GZIP

#define GZIP

Definition at line 23 of file deflate.h.

Referenced by deflateStateCheck(), gz_fetch(), and gz_look().

◆ GZIP_STATE

#define GZIP_STATE   57 /* gzip header -> BUSY_STATE | EXTRA_STATE */

Definition at line 60 of file deflate.h.

Referenced by deflate(), deflateResetKeep(), and deflateStateCheck().

◆ HCRC_STATE

#define HCRC_STATE   103 /* gzip header CRC -> BUSY_STATE */

Definition at line 65 of file deflate.h.

Referenced by deflate(), and deflateStateCheck().

◆ HEAP_SIZE

#define HEAP_SIZE   (2*L_CODES+1)

Definition at line 49 of file deflate.h.

Referenced by build_tree(), and gen_bitlen().

◆ INIT_STATE

#define INIT_STATE   42 /* zlib header -> BUSY_STATE */

◆ L_CODES

#define L_CODES   (LITERALS+1+LENGTH_CODES)

Definition at line 40 of file deflate.h.

Referenced by init_block(), send_all_trees(), and tr_static_init().

◆ Len

#define Len   dl.len

Definition at line 86 of file deflate.h.

Referenced by gen_bitlen().

◆ LENGTH_CODES

#define LENGTH_CODES   29

Definition at line 34 of file deflate.h.

Referenced by tr_static_init().

◆ LIT_BUFS

#define LIT_BUFS   4

Definition at line 229 of file deflate.h.

Referenced by deflateCopy(), and deflateInit2_().

◆ LITERALS

#define LITERALS   256

Definition at line 37 of file deflate.h.

Referenced by _tr_tally(), compress_block(), and detect_data_type().

◆ MAX_BITS

#define MAX_BITS   15

Definition at line 52 of file deflate.h.

Referenced by gen_bitlen(), gen_codes(), and tr_static_init().

◆ MAX_DIST

#define MAX_DIST ( s)
Value:
((s)->w_size-MIN_LOOKAHEAD)
#define MIN_LOOKAHEAD
Definition deflate.h:290

Definition at line 295 of file deflate.h.

Referenced by _tr_tally(), deflate_fast(), deflate_slow(), fill_window(), and longest_match().

◆ max_insert_length

#define max_insert_length   max_lazy_match

Definition at line 186 of file deflate.h.

◆ MIN_LOOKAHEAD

#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)

Definition at line 290 of file deflate.h.

Referenced by deflate_fast(), deflate_slow(), fill_window(), and longest_match().

◆ NAME_STATE

#define NAME_STATE   73 /* gzip file name -> COMMENT_STATE */

Definition at line 63 of file deflate.h.

Referenced by deflate(), and deflateStateCheck().

◆ put_byte

#define put_byte ( s,
c )
Value:
{s->pending_buf[s->pending++] = (Bytef)(c);}

Definition at line 287 of file deflate.h.

Referenced by bi_flush(), bi_windup(), deflate(), and putShortMSB().

◆ WIN_INIT

#define WIN_INIT   MAX_MATCH

Definition at line 300 of file deflate.h.

Referenced by fill_window().

Typedef Documentation

◆ ct_data

typedef struct ct_data_s ct_data

◆ deflate_state

typedef struct internal_state deflate_state

◆ IPos

typedef unsigned IPos

Definition at line 98 of file deflate.h.

◆ Pos

typedef ush Pos

Definition at line 96 of file deflate.h.

◆ Posf

typedef Pos FAR Posf

Definition at line 97 of file deflate.h.

◆ static_tree_desc

Definition at line 88 of file deflate.h.

◆ tree_desc

typedef struct tree_desc_s tree_desc

Function Documentation

◆ _tr_align()

void ZLIB_INTERNAL _tr_align ( deflate_state * s)

Definition at line 886 of file trees.c.

886 {
887 send_bits(s, STATIC_TREES<<1, 3);
889#ifdef ZLIB_DEBUG
890 s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
891#endif
892 bi_flush(s);
893}
#define END_BLOCK
Definition trees.c:50
#define send_code(s, c, tree)
Definition trees.c:238
local void bi_flush(deflate_state *s)
Definition trees.c:166
#define send_bits(s, value, length)
Definition trees.c:273
local const ct_data static_ltree[L_CODES+2]
Definition trees.h:3
#define STATIC_TREES
Definition zutil.h:80

Referenced by deflate().

◆ _tr_flush_bits()

void ZLIB_INTERNAL _tr_flush_bits ( deflate_state * s)

Definition at line 878 of file trees.c.

878 {
879 bi_flush(s);
880}

Referenced by deflatePrime(), and flush_pending().

◆ _tr_flush_block()

void ZLIB_INTERNAL _tr_flush_block ( deflate_state * s,
charf * buf,
ulg stored_len,
int last )

Definition at line 995 of file trees.c.

996 {
997 ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
998 int max_blindex = 0; /* index of last bit length code of non zero freq */
999
1000 /* Build the Huffman trees unless a stored block is forced */
1001 if (s->level > 0) {
1002
1003 /* Check if the file is binary or text */
1004 if (s->strm->data_type == Z_UNKNOWN)
1005 s->strm->data_type = detect_data_type(s);
1006
1007 /* Construct the literal and distance trees */
1008 build_tree(s, (tree_desc *)(&(s->l_desc)));
1009 Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
1010 s->static_len));
1011
1012 build_tree(s, (tree_desc *)(&(s->d_desc)));
1013 Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
1014 s->static_len));
1015 /* At this point, opt_len and static_len are the total bit lengths of
1016 * the compressed block data, excluding the tree representations.
1017 */
1018
1019 /* Build the bit length tree for the above two trees, and get the index
1020 * in bl_order of the last bit length code to send.
1021 */
1022 max_blindex = build_bl_tree(s);
1023
1024 /* Determine the best encoding. Compute the block lengths in bytes. */
1025 opt_lenb = (s->opt_len + 3 + 7) >> 3;
1026 static_lenb = (s->static_len + 3 + 7) >> 3;
1027
1028 Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
1029 opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
1030 s->sym_next / 3));
1031
1032#ifndef FORCE_STATIC
1033 if (static_lenb <= opt_lenb || s->strategy == Z_FIXED)
1034#endif
1035 opt_lenb = static_lenb;
1036
1037 } else {
1038 Assert(buf != (char*)0, "lost buf");
1039 opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
1040 }
1041
1042#ifdef FORCE_STORED
1043 if (buf != (char*)0) { /* force stored block */
1044#else
1045 if (stored_len + 4 <= opt_lenb && buf != (char*)0) {
1046 /* 4: two words for the lengths */
1047#endif
1048 /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
1049 * Otherwise we can't have processed more than WSIZE input bytes since
1050 * the last block flush, because compression would have been
1051 * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
1052 * transform a block into a stored block.
1053 */
1054 _tr_stored_block(s, buf, stored_len, last);
1055
1056 } else if (static_lenb == opt_lenb) {
1057 send_bits(s, (STATIC_TREES<<1) + last, 3);
1059 (const ct_data *)static_dtree);
1060#ifdef ZLIB_DEBUG
1061 s->compressed_len += 3 + s->static_len;
1062#endif
1063 } else {
1064 send_bits(s, (DYN_TREES<<1) + last, 3);
1065 send_all_trees(s, s->l_desc.max_code + 1, s->d_desc.max_code + 1,
1066 max_blindex + 1);
1067 compress_block(s, (const ct_data *)s->dyn_ltree,
1068 (const ct_data *)s->dyn_dtree);
1069#ifdef ZLIB_DEBUG
1070 s->compressed_len += 3 + s->opt_len;
1071#endif
1072 }
1073 Assert (s->compressed_len == s->bits_sent, "bad compressed size");
1074 /* The above check is made mod 2^32, for files larger than 512 MB
1075 * and uLong implemented on 32 bits.
1076 */
1077 init_block(s);
1078
1079 if (last) {
1080 bi_windup(s);
1081#ifdef ZLIB_DEBUG
1082 s->compressed_len += 7; /* align on byte boundary */
1083#endif
1084 }
1085 Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len >> 3,
1086 s->compressed_len - 7*last));
1087}
struct ct_data_s ct_data
struct tree_desc_s tree_desc
local void compress_block(deflate_state *s, const ct_data *ltree, const ct_data *dtree)
Definition trees.c:898
void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, ulg stored_len, int last)
Definition trees.c:858
local void bi_windup(deflate_state *s)
Definition trees.c:181
local void send_all_trees(deflate_state *s, int lcodes, int dcodes, int blcodes)
Definition trees.c:831
local int detect_data_type(deflate_state *s)
Definition trees.c:964
local void init_block(deflate_state *s)
Definition trees.c:439
local void build_tree(deflate_state *s, tree_desc *desc)
Definition trees.c:625
local int build_bl_tree(deflate_state *s)
Definition trees.c:798
local const ct_data static_dtree[D_CODES]
Definition trees.h:64
#define Z_UNKNOWN
Definition zlib.h:206
#define Z_FIXED
Definition zlib.h:199
#define DYN_TREES
Definition zutil.h:81
#define Assert(cond, msg)
Definition zutil.h:227
#define Tracev(x)
Definition zutil.h:229
unsigned long ulg
Definition zutil.h:43

◆ _tr_init()

void ZLIB_INTERNAL _tr_init ( deflate_state * s)

Definition at line 455 of file trees.c.

455 {
457
458 s->l_desc.dyn_tree = s->dyn_ltree;
459 s->l_desc.stat_desc = &static_l_desc;
460
461 s->d_desc.dyn_tree = s->dyn_dtree;
462 s->d_desc.stat_desc = &static_d_desc;
463
464 s->bl_desc.dyn_tree = s->bl_tree;
465 s->bl_desc.stat_desc = &static_bl_desc;
466
467 s->bi_buf = 0;
468 s->bi_valid = 0;
469#ifdef ZLIB_DEBUG
470 s->compressed_len = 0L;
471 s->bits_sent = 0L;
472#endif
473
474 /* Initialize the first block of the first file: */
475 init_block(s);
476}
local TCONST static_tree_desc static_d_desc
Definition trees.c:134
local void tr_static_init(void)
Definition trees.c:294
local TCONST static_tree_desc static_l_desc
Definition trees.c:131
local TCONST static_tree_desc static_bl_desc
Definition trees.c:137

Referenced by deflateResetKeep().

◆ _tr_stored_block()

void ZLIB_INTERNAL _tr_stored_block ( deflate_state * s,
charf * buf,
ulg stored_len,
int last )

Definition at line 858 of file trees.c.

859 {
860 send_bits(s, (STORED_BLOCK<<1) + last, 3); /* send block type */
861 bi_windup(s); /* align on byte boundary */
862 put_short(s, (ush)stored_len);
863 put_short(s, (ush)~stored_len);
864 if (stored_len)
865 zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
866 s->pending += stored_len;
867#ifdef ZLIB_DEBUG
868 s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
869 s->compressed_len += (stored_len + 4) << 3;
870 s->bits_sent += 2*16;
871 s->bits_sent += stored_len << 3;
872#endif
873}
#define put_short(s, w)
Definition trees.c:144
#define STORED_BLOCK
Definition zutil.h:79
void ZLIB_INTERNAL zmemcpy(Bytef *dest, const Bytef *source, uInt len)
Definition zutil.c:145

Referenced by _tr_flush_block(), deflate(), and deflate_stored().

◆ _tr_tally()

int ZLIB_INTERNAL _tr_tally ( deflate_state * s,
unsigned dist,
unsigned lc )

Definition at line 1093 of file trees.c.

1093 {
1094#ifdef LIT_MEM
1095 s->d_buf[s->sym_next] = (ush)dist;
1096 s->l_buf[s->sym_next++] = (uch)lc;
1097#else
1098 s->sym_buf[s->sym_next++] = (uch)dist;
1099 s->sym_buf[s->sym_next++] = (uch)(dist >> 8);
1100 s->sym_buf[s->sym_next++] = (uch)lc;
1101#endif
1102 if (dist == 0) {
1103 /* lc is the unmatched char */
1104 s->dyn_ltree[lc].Freq++;
1105 } else {
1106 s->matches++;
1107 /* Here, lc is the match length - MIN_MATCH */
1108 dist--; /* dist = match distance - 1 */
1109 Assert((ush)dist < (ush)MAX_DIST(s) &&
1110 (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
1111 (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
1112
1113 s->dyn_ltree[_length_code[lc] + LITERALS + 1].Freq++;
1114 s->dyn_dtree[d_code(dist)].Freq++;
1115 }
1116 return (s->sym_next == s->sym_end);
1117}
#define MAX_DIST(s)
Definition deflate.h:295
#define D_CODES
Definition deflate.h:43
#define MIN_MATCH
Definition zutil.h:84
#define MAX_MATCH
Definition zutil.h:85

Variable Documentation

◆ _dist_code

uch ZLIB_INTERNAL _dist_code[]
extern

Definition at line 73 of file trees.h.

73 {
74 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
75 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
7610, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
7711, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
7812, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
7913, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
8013, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
8114, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
8214, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
8314, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
8415, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
8515, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
8615, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17,
8718, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
8823, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
8924, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
9026, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
9126, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
9227, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
9327, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
9428, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
9528, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
9628, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
9729, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
9829, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
9929, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29
100};

Referenced by tr_static_init().

◆ _length_code

uch ZLIB_INTERNAL _length_code[]
extern

Definition at line 102 of file trees.h.

102 {
103 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12,
10413, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
10517, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,
10619, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
10721, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,
10822, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
10923, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
11024, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
11125, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
11225, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
11326, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
11426, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
11527, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28
116};

Referenced by _tr_tally(), compress_block(), and tr_static_init().