25 lines
800 B
C
25 lines
800 B
C
|
|
/*
|
|
* bwt.h
|
|
*
|
|
* Code modified from Mark Nelson's article:
|
|
* "Data Compression With The Burrows-Wheeler Transform"
|
|
* Dr. Dobbs Journal, September 1996.
|
|
* See: http://www.dogma.net/markn/articles/bwt/bwt.htm to make sense
|
|
* of this source code.
|
|
*/
|
|
|
|
/* The following function does the actual transform. It does this
|
|
* transform "in place" in the buffer, and returns an unsigned int
|
|
* in the range 0 <= X < length as out of band data for the transform.
|
|
* This value needs to be passed to the "detransform".
|
|
*
|
|
* Large "length" values passed in may take awhile do to the (O)N lg N
|
|
* time of sorting (On most platforms).
|
|
*/
|
|
|
|
unsigned int BWT_Transform(unsigned char *buffer, unsigned int length);
|
|
|
|
void BWT_Detransform( unsigned char *buffer, unsigned int length, unsigned int first );
|
|
|