The cl-murmurhash Reference Manual

This is the cl-murmurhash Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:29:15 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-murmurhash

32-bit version of MurmurHash3.

Author

Paul M. Rodriguez <>

License

MIT

Dependencies
  • babel (system).
  • sb-rotate-byte (system).
Source

cl-murmurhash.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cl-murmurhash/cl-murmurhash.asd

Source

cl-murmurhash.asd.

Parent Component

cl-murmurhash (system).

ASDF Systems

cl-murmurhash.


3.1.2 cl-murmurhash/package.lisp

Source

cl-murmurhash.asd.

Parent Component

cl-murmurhash (system).

Packages

cl-murmurhash.


3.1.3 cl-murmurhash/cl-murmurhash.lisp

Dependency

package.lisp (file).

Source

cl-murmurhash.asd.

Parent Component

cl-murmurhash (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cl-murmurhash

Source

package.lisp.

Nickname

murmurhash

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *default-seed*
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Special Variable: *hash-size*
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.


5.1.2 Ordinary functions

Function: make-perfect-hash-function (values)

Find a perfect seed for VALUES and return a partial application of MURMURHASH to that seed.

Return NIL if no perfect seed was found.

Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: make-perfect-seed (values)

Find a seed that ensures every value in VALUES can be hashed without any collisions. Useful when you know a set of values in advance so the hashes can stand for the values.

Return NIL if no perfect seed was found.

Package

cl-murmurhash.

Source

cl-murmurhash.lisp.


5.1.3 Generic functions

Generic Function: murmurhash (object &key seed mix-only &allow-other-keys)

Hash OBJECT using the 32-bit MurmurHash3 algorithm.

Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Methods
Method: murmurhash ((ht hash-table) &key seed mix-only)
Method: murmurhash ((array array) &key seed mix-only)
Method: murmurhash ((cons cons) &key seed mix-only)
Method: murmurhash ((bv bit-vector) &key seed mix-only)
Method: murmurhash ((n complex) &key seed mix-only)
Method: murmurhash ((n float) &key seed mix-only)
Method: murmurhash ((n ratio) &key seed mix-only)
Method: murmurhash ((p pathname) &key seed mix-only)
Method: murmurhash ((s symbol) &key seed mix-only)
Method: murmurhash ((p package) &key seed mix-only)
Method: murmurhash ((c character) &key seed mix-only)
Method: murmurhash ((s string) &key seed mix-only)
Method: murmurhash ((ov simple-array-unsigned-byte-8) &key seed mix-only)
Method: murmurhash ((i integer) &key seed mix-only)
Method: murmurhash (object &key &allow-other-keys)

5.1.4 Conditions

Condition: unhashable-object-error
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Direct superclasses

error.

Direct slots
Slot: object
Initargs

:object


5.2 Internals


5.2.1 Macros

Macro: *= (place multiplicand)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: += (place addend)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: ^= (place int)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: avalanche (place)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: hash128-body (ref)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: hash32-body (ref)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: mixf (place x)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: mod32 (x)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: rotlf (place s)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: switch (value &body clauses)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: tree-case (keyform &body cases)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Macro: ~> (needle &rest holes)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.


5.2.2 Ordinary functions

Function: * (a b)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: + (a b)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: 8-bit-string? (s)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: << (a s)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: >> (a s)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: ^ (x y)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: byte-length (int)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: byte-ref (int pos)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: char-ref (string pos)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: finalize (seed x)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: fmix32 (h)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash-integer (x seed &optional mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash-octets (x seed &optional mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash-string (s seed mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash128-8-bit-string (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash128-integer (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash128-octets (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash32-8-bit-string (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash32-integer (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: hash32-octets (vec seed &optional len mix-only)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: mix (seed x)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Function: rotl (a s)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.


5.2.3 Types

Type: -> (args result)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: 8-bit-string ()
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: index ()
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: mod32 ()
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: octet ()
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: octet-vector (&optional n)
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.

Type: u32 ()
Package

cl-murmurhash.

Source

cl-murmurhash.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   *   +   8   <   >   ^   ~  
A   B   C   F   G   H   M   R   S   T  
Index Entry  Section

*
*: Private ordinary functions
*=: Private macros

+
+: Private ordinary functions
+=: Private macros

8
8-bit-string?: Private ordinary functions

<
<<: Private ordinary functions

>
>>: Private ordinary functions

^
^: Private ordinary functions
^=: Private macros

~
~>: Private macros

A
avalanche: Private macros

B
byte-length: Private ordinary functions
byte-ref: Private ordinary functions

C
char-ref: Private ordinary functions

F
finalize: Private ordinary functions
fmix32: Private ordinary functions
Function, *: Private ordinary functions
Function, +: Private ordinary functions
Function, 8-bit-string?: Private ordinary functions
Function, <<: Private ordinary functions
Function, >>: Private ordinary functions
Function, byte-length: Private ordinary functions
Function, byte-ref: Private ordinary functions
Function, char-ref: Private ordinary functions
Function, finalize: Private ordinary functions
Function, fmix32: Private ordinary functions
Function, hash-integer: Private ordinary functions
Function, hash-octets: Private ordinary functions
Function, hash-string: Private ordinary functions
Function, hash128-8-bit-string: Private ordinary functions
Function, hash128-integer: Private ordinary functions
Function, hash128-octets: Private ordinary functions
Function, hash32-8-bit-string: Private ordinary functions
Function, hash32-integer: Private ordinary functions
Function, hash32-octets: Private ordinary functions
Function, make-perfect-hash-function: Public ordinary functions
Function, make-perfect-seed: Public ordinary functions
Function, mix: Private ordinary functions
Function, rotl: Private ordinary functions
Function, ^: Private ordinary functions

G
Generic Function, murmurhash: Public generic functions

H
hash-integer: Private ordinary functions
hash-octets: Private ordinary functions
hash-string: Private ordinary functions
hash128-8-bit-string: Private ordinary functions
hash128-body: Private macros
hash128-integer: Private ordinary functions
hash128-octets: Private ordinary functions
hash32-8-bit-string: Private ordinary functions
hash32-body: Private macros
hash32-integer: Private ordinary functions
hash32-octets: Private ordinary functions

M
Macro, *=: Private macros
Macro, +=: Private macros
Macro, avalanche: Private macros
Macro, hash128-body: Private macros
Macro, hash32-body: Private macros
Macro, mixf: Private macros
Macro, mod32: Private macros
Macro, rotlf: Private macros
Macro, switch: Private macros
Macro, tree-case: Private macros
Macro, ^=: Private macros
Macro, ~>: Private macros
make-perfect-hash-function: Public ordinary functions
make-perfect-seed: Public ordinary functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
Method, murmurhash: Public generic functions
mix: Private ordinary functions
mixf: Private macros
mod32: Private macros
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions
murmurhash: Public generic functions

R
rotl: Private ordinary functions
rotlf: Private macros

S
switch: Private macros

T
tree-case: Private macros