Class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
java.lang.Object
it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<T>
it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
it.unimi.dsi.sux4j.mph.ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
- All Implemented Interfaces:
it.unimi.dsi.fastutil.Function<T,Long>, it.unimi.dsi.fastutil.objects.Object2LongFunction<T>, it.unimi.dsi.fastutil.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
Nested ClassesModifier and TypeClassDescriptionstatic classA builder class forZFastTrieDistributorMonotoneMinimalPerfectHashFunction. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longprotected final longThe mask to compare signatures, or zero for no signatures.protected final it.unimi.dsi.fastutil.longs.LongBigListThe signatures.Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defRetValue -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedZFastTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> keys, it.unimi.dsi.bits.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 AbstractHashFunction
containsKey, sizeMethods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defaultReturnValue, defaultReturnValueMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface it.unimi.dsi.fastutil.Function
apply, clearMethods 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
protected final it.unimi.dsi.fastutil.longs.LongBigList signaturesThe signatures.
-
-
Constructor Details
-
ZFastTrieDistributorMonotoneMinimalPerfectHashFunction
protected ZFastTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> keys, it.unimi.dsi.bits.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, ornullfor the standard temporary directory.- Throws:
IOException
-
-
Method Details
-
getLong
-
size64
public long size64()- Specified by:
size64in interfaceit.unimi.dsi.fastutil.Size64- Overrides:
size64in classAbstractHashFunction<T>
-
numBits
public long numBits() -
main
public static void main(String[] arg) throws NoSuchMethodException, IOException, com.martiansoftware.jsap.JSAPException - Throws:
NoSuchMethodExceptionIOExceptioncom.martiansoftware.jsap.JSAPException
-