This is the snappy Reference Manual, version 0.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:44:11 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
snappy
An implementation of Snappy compression.
Robert Brown <robert.brown@gmail.com>
New BSD license. See the copyright messages in individual files.
An implementation of Google’s Snappy compression algorithm, which is designed for speed of compression and decompression.
0.3
com.google.base
(system).
com.google.base
(system).
nibbles
(system).
varint
(system).
package.lisp
(file).
snappy.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
snappy/snappy.lisp
package.lisp
(file).
snappy
(system).
compress
(function).
maximum-compressed-length
(function).
uncompress
(function).
uncompressed-length
(function).
+copy-1-byte-offset+
(constant).
+copy-2-byte-offset+
(constant).
+copy-4-byte-offset+
(constant).
+decompression-table+
(constant).
+literal+
(constant).
+maximum-hash-bits+
(constant).
+maximum-hash-table-size+
(constant).
+vector-index-bits+
(constant).
+word-mask+
(constant).
decompression-entry
(type).
emit-copy
(function).
emit-copy-less-than-64
(function).
emit-literal
(function).
hash
(function).
hash-result
(type).
postincf
(macro).
raw-compress
(function).
raw-uncompress
(function).
table-size
(type).
Packages are listed by definition order.
snappy
An implementation of Google’s Snappy compression algorithm, which is designed for speed of compression and decompression.
com.google.base
.
common-lisp
.
compress
(function).
maximum-compressed-length
(function).
uncompress
(function).
uncompressed-length
(function).
+copy-1-byte-offset+
(constant).
+copy-2-byte-offset+
(constant).
+copy-4-byte-offset+
(constant).
+decompression-table+
(constant).
+literal+
(constant).
+maximum-hash-bits+
(constant).
+maximum-hash-table-size+
(constant).
+vector-index-bits+
(constant).
+word-mask+
(constant).
decompression-entry
(type).
emit-copy
(function).
emit-copy-less-than-64
(function).
emit-literal
(function).
hash
(function).
hash-result
(type).
postincf
(macro).
raw-compress
(function).
raw-uncompress
(function).
table-size
(type).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Compresses the contents of BUFFER, a vector of (UNSIGNED-BYTE 8), from
position INDEX to position LIMIT. Returns two values, a vector of
type (UNSIGNED-BYTE 8) holding the compressed data and an integer indicating
the number of compressed octets in the vector.
Returns the maximum size a vector of length UNCOMPRESSED-LENGTH may take up after it is compressed.
Uncompresses BUFFER, a vector of (UNSIGNED-BYTE 8), from position INDEX to LIMIT. Returns the uncompressed data as a vector of (UNSIGNED-BYTE 8).
Returns the uncompressed length of the compressed data stored in BUFFER from position INDEX to LIMIT.
Data stored per entry in lookup table:
Range Bits-used Description
————————————
1..64 0..7 Literal/copy length encoded in opcode byte
0..7 8..10 Copy offset encoded in opcode byte / 256
0..4 11..13 Extra bytes after opcode
We use eight bits for the length even though 7 would have sufficed
because of efficiency reasons:
(1) Extracting a byte is faster than a bit field
(2) It properly aligns copy offset so we do not need a <<8
Mapping from i in range [0,4] to a mask to extract the bottom 8*i bits.
Jump to: | C E F H M P R U |
---|
Jump to: | C E F H M P R U |
---|
Jump to: | +
C |
---|
Jump to: | +
C |
---|
Jump to: | D F H P S T |
---|
Jump to: | D F H P S T |
---|