Class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>

  • All Implemented Interfaces:
    it.unimi.dsi.fastutil.Function<T,​java.lang.Long>, it.unimi.dsi.fastutil.objects.Object2LongFunction<T>, it.unimi.dsi.fastutil.Size64, java.io.Serializable, java.util.function.Function<T,​java.lang.Long>, java.util.function.ToLongFunction<T>

    public class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
    extends AbstractHashFunction<T>
    implements java.io.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:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long serialVersionUID  
      protected long signatureMask
      The mask to compare signatures, or zero for no signatures.
      protected it.unimi.dsi.fastutil.longs.LongBigList signatures
      The signatures.
      • Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction

        defRetValue
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ZFastTrieDistributorMonotoneMinimalPerfectHashFunction​(java.lang.Iterable<? extends T> keys, it.unimi.dsi.bits.TransformationStrategy<? super T> transform, int log2BucketSize, int signatureWidth, java.io.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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long getLong​(java.lang.Object o)  
      static void main​(java.lang.String[] arg)  
      long numBits()  
      long size64()  
      • 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.Function

        apply, clear
      • Methods inherited from interface java.util.function.Function

        compose
      • 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 Detail

      • signatureMask

        protected final long signatureMask
        The mask to compare signatures, or zero for no signatures.
      • signatures

        protected final it.unimi.dsi.fastutil.longs.LongBigList signatures
        The signatures.
    • Constructor Detail

      • ZFastTrieDistributorMonotoneMinimalPerfectHashFunction

        protected ZFastTrieDistributorMonotoneMinimalPerfectHashFunction​(java.lang.Iterable<? extends T> keys,
                                                                         it.unimi.dsi.bits.TransformationStrategy<? super T> transform,
                                                                         int log2BucketSize,
                                                                         int signatureWidth,
                                                                         java.io.File tempDir)
                                                                  throws java.io.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, or null for the standard temporary directory.
        Throws:
        java.io.IOException
    • Method Detail

      • getLong

        public long getLong​(java.lang.Object o)
        Specified by:
        getLong in interface it.unimi.dsi.fastutil.objects.Object2LongFunction<T>
      • size64

        public long size64()
        Specified by:
        size64 in interface it.unimi.dsi.fastutil.Size64
        Overrides:
        size64 in class AbstractHashFunction<T>
      • numBits

        public long numBits()
      • main

        public static void main​(java.lang.String[] arg)
                         throws java.lang.NoSuchMethodException,
                                java.io.IOException,
                                com.martiansoftware.jsap.JSAPException
        Throws:
        java.lang.NoSuchMethodException
        java.io.IOException
        com.martiansoftware.jsap.JSAPException