Index

Package: Huffman

Description

private package UnZip.Decompress.Huffman is
UnZip.Decompress.Huffman ------------------------- Huffman tree generation and deletion. Originally from info - zip's unzip, data structure rewritten by G. de Montmollin

Types

HufT

type HufT is record
    extra_bits  : Natural;
    bits        : Natural;
    n           : Natural;
    next_table  : p_HufT_table;
  end record;

p_HufT

type p_HufT is access all HufT;

Constants & Global variables

empty (Length_array)

empty  : constant Length_array (1 .. 0) := (others => 0);

huft_error

huft_error,                    -- bad tree constructed
  huft_out_of_memory : exception;
Possible exceptions occuring in huft_build

huft_out_of_memory

huft_out_of_memory : exception;
bad tree constructed

Subprograms & Entries

HufT_free

procedure HufT_free 
(tl: in out p_Table_list);

Called by:

Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_fixed_block defined at unzip-decompress.adb:1607:20
Decompress.Decompress_data.UnZ_Meth.Inflate_fixed_block defined at unzip-decompress.adb:1607:20
Decompress.Decompress_data.UnZ_Meth.Inflate_fixed_block defined at unzip-decompress.adb:1607:20
HufT_build defined at unzip-decompress-huffman.ads:42:13

Calls:

Huffman.HufT_free.Dispose defined at unzip-decompress-huffman.adb:15:18
Huffman.HufT_free.Dispose defined at unzip-decompress-huffman.adb:17:18
Put defined at a-textio.ads:242:14
Put_Line defined at a-textio.ads:263:14
Unchecked_Deallocation defined at a-uncdea.ads:20:15
Free huffman tables starting with table where t points to

HufT_build

procedure HufT_build 
(b: Length_array;
s: Integer;
d, e: Length_array;
tl: out p_Table_list;
m: in out Integer;
huft_incomplete: out Boolean);

Called by:

Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Explode defined at unzip-decompress.adb:120:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_dynamic_block defined at unzip-decompress.adb:1667:20
Decompress.Decompress_data.UnZ_Meth.Inflate_fixed_block defined at unzip-decompress.adb:1607:20
Decompress.Decompress_data.UnZ_Meth.Inflate_fixed_block defined at unzip-decompress.adb:1607:20

Calls:

HufT_free defined at unzip-decompress-huffman.ads:39:13
Put defined at a-textio.ads:242:14
Put_Line defined at a-textio.ads:263:14
Shift_Left defined at interfac.ads:107:13
Shift_Right defined at interfac.ads:111:13
Build huffman table from code lengths given by array b.all