2003-12-04 09:44:58 +01:00
|
|
|
The program mph tries to generate an order preserving minimal perfect
|
2005-05-23 10:26:03 +02:00
|
|
|
hashing (MPH) function for the set of keys, one per line, on stdin.
|
2003-12-04 09:44:58 +01:00
|
|
|
Each key can be at most 4095 characters long (see keys.h to increase
|
|
|
|
this limit), and the keys must be unique. If mph terminates, it emits
|
|
|
|
a language independent binary or text representation of the MPH
|
|
|
|
function on stdout. To generate a usable hash function, this output
|
|
|
|
should be fed to a language dependent filter, like emitc.
|
|
|
|
|
|
|
|
e.g.
|
|
|
|
% mph <foo | emitc >hash.c
|
|
|
|
|
|
|
|
The algorithm used by mph is probabilistic - it iterates until it
|
|
|
|
finds a MPH function. For each failed iteration, it prints a
|
|
|
|
(cryptic) reason on stderr. There is no no guarantee that mph will
|
|
|
|
terminate. In practice this is unlikely, unless the constants
|
|
|
|
specified with options -c or -m are too small (see below).
|