Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Архивы и Архиваторы    >>    preskit1
   
 
 Presskit v1.0 - A Group of archiving units   Douglas P. Webb 08.05.1993

Presskit v1.0 Набор из 5 программ, реализующих различные методы упаковки.
 LZH unit (pascal port of an algorithm by Haruyasu Yoshizaki and Haruhiko Okumura)
 DOUGPACK (interpretation of LZW algorithm)  LZSS unit for the LZ77 algorithm
 SIXPACK (compression algorithm by Philip G. Gage)
 VITTER (dynamic Huffman coding algorithm by Jeffrey Scott Vitter)



40k 
 

-------- Presskit Version 1.0 -------- May 8th - 1993 -------- Douglas P. Webb -------- dwebb@binkley.cs.mcgill.ca I have for several years had an application that required the very best compression. The program is written in Turbo Pascal. Naturally almost all the code I've come across is written in C, so I've ported as much as I could. Of the code presented here, only the DOUGPACK unit is wholely my own original code, the rest was ported/wrapped to allow it's use in a Turbo Pascal. I figured others might like to try some of it out. The code is all donated to the public domain, although some of it may be under the patent cloud. There may be bugs in the implementations (although I don't think so) so use them at your own risk. If you make a notable improvement in the code, please mail me a copy. LZH The LZH unit implements a fairly faithful port of an algorithm that was written in C by Haruyasu Yoshizaki and Haruhiko Okumura. The Documentation on how to use the unit is pretty goodm the source code is pretty much undocumented. Included is a simple 1 file compression program as a demonstration on how to use the LZH unit. LZW (DOUGPACK) The DOUGPACK unit implements my own interpretation of how the LZW algorithm should be implemented. I take all the credit/blame for the implementation and any bugs it may contain. The Documentation on how to use the unit is pretty good the source code has some documentation but is pretty convoluted. Included is a simple 1 file compression program as a demonstration on how to use this unit. It should be noted that the LZW algorithm is patented, so use of this algorithm in a commercial program might not be a good idea. LZSS The LZSS program implements a turbo pascal wrapper I've placed around a very nice (and fast) implementation of the LZ77 algorithm submitted to the DR DOBBS compression contest a few years back by Andy Tam. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. It should be noted that the plain LZ77 algorithm is unpatented, so using this code in a commercial application should be OK. SIXPACK The SIXPACK program implements a faithful port from C of a unique compression algorithm submitted to the DR DOBBS compression contest a few years back by Philip G. Gage. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. VITTER This is a implementation of the dynamic Huffman coding algorithm presented by Jeffrey Scott Vitter in ACM Transactions on Mathematical Software, Vol, 15, June 1989, p 158, and described in Journal of the ACM, Vol. 34, October 1987, p 825. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. This program serves only to illustrate the use of the algorithm. Douglas P. Webb dwebb@binkley.cs.mcgill.ca May 8th 1993