Compression and expansion dictionaries

To accomplish compression and expansion, the macro uses two dictionaries: the compression dictionary and the expansion dictionary. These dictionaries are related logically and physically. When you expand data that has been compressed, you want the result to match the original data. Thus the dictionaries are complementary. When compression is done, the expansion dictionary must immediately follow the compression dictionary, because the compression algorithm examines entries in the expansion dictionary.

Each dictionary consists of 512, 1024, 2048, 4096, or 8192 8-byte entries and begins on a page boundary. When the system determines or uses a compression symbol, the symbol is 9, 10, 11, 12, or 13 bits long, with the length corresponding to the number of entries in the dictionary. Specify the size of the dictionary in the CMPSC_SYMSIZE field of the CSRYCMPS mapping macro:
SYMSIZE
Meaning
1
Symbol size 9 bits, dictionary has 512 entries
2
Symbol size 10 bits, dictionary has 1024 entries
3
Symbol size 11 bits, dictionary has 2048 entries
4
Symbol size 12 bits, dictionary has 4096 entries
5
Symbol size 13 bits, dictionary has 8192 entries

The value of CMPSC_SYMSIZE represents the size of the compression and expansion dictionaries. For example, if CMPSC_SYMSIZE is 512, then the size of the compression dictionary is 512 and the size of the expansion dictionary is 512.