Package it.unimi.dsi.sux4j.mph
Class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
java.lang.Object
it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<K>
it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
it.unimi.dsi.sux4j.mph.ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
- All Implemented Interfaces:
Function<T,
,Long> Object2LongFunction<T>
,Size64
,Serializable
,Function<T,
,Long> ToLongFunction<T>
public class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
extends AbstractHashFunction<T>
implements Serializable
A monotone minimal perfect hash implementation based on fixed-size bucketing that uses
a z-fast trie as a distributor.
See the package overview for a comparison with other implementations.
Similarly to a GOV3Function
, an instance of this class may be signed.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A builder class forZFastTrieDistributorMonotoneMinimalPerfectHashFunction
. -
Field Summary
Modifier and TypeFieldDescriptionstatic final long
protected final long
The mask to compare signatures, or zero for no signatures.protected final LongBigList
The signatures.Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defRetValue
-
Constructor Summary
ModifierConstructorDescriptionprotected
ZFastTrieDistributorMonotoneMinimalPerfectHashFunction
(Iterable<? extends T> keys, TransformationStrategy<? super T> transform, int log2BucketSize, int signatureWidth, File tempDir) Creates a new monotone minimal perfect hash function based on a z-fast trie distributor using the given keys, transformation strategy and bucket size. -
Method Summary
Methods inherited from class it.unimi.dsi.sux4j.mph.AbstractHashFunction
containsKey, size
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defaultReturnValue, defaultReturnValue
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2LongFunction
andThen, andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, applyAsLong, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, get, getOrDefault, getOrDefault, put, put, remove, removeLong
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
signatureMask
protected final long signatureMaskThe mask to compare signatures, or zero for no signatures. -
signatures
The signatures.
-
-
Constructor Details
-
ZFastTrieDistributorMonotoneMinimalPerfectHashFunction
protected ZFastTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> keys, TransformationStrategy<? super T> transform, int log2BucketSize, int signatureWidth, File tempDir) throws IOException Creates a new monotone minimal perfect hash function based on a z-fast trie distributor using the given keys, transformation strategy and bucket size.- Parameters:
keys
- the keys among which the trie must be able to rank.transform
- a transformation strategy that must turn the keys into a list of distinct, prefix-free, lexicographically increasing (in iteration order) bit vectors.log2BucketSize
- the logarithm of the bucket size, or -1 for the default value.signatureWidth
- a signature width, or 0 for no signature.tempDir
- a temporary directory for the store files, ornull
for the standard temporary directory.- Throws:
IOException
-
-
Method Details
-
getLong
- Specified by:
getLong
in interfaceObject2LongFunction<T>
-
size64
public long size64()- Specified by:
size64
in interfaceSize64
- Overrides:
size64
in classAbstractHashFunction<T>
-
numBits
public long numBits() -
main
-