Class ShiftAddXorSignedStringMap
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<java.lang.CharSequence>
-
- it.unimi.dsi.big.util.ShiftAddXorSignedStringMap
-
- All Implemented Interfaces:
StringMap<java.lang.CharSequence>,it.unimi.dsi.fastutil.Function<java.lang.CharSequence,java.lang.Long>,it.unimi.dsi.fastutil.objects.Object2LongFunction<java.lang.CharSequence>,it.unimi.dsi.fastutil.Size64,java.io.Serializable,java.util.function.Function<java.lang.CharSequence,java.lang.Long>,java.util.function.ToLongFunction<java.lang.CharSequence>
@Deprecated public class ShiftAddXorSignedStringMap extends it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<java.lang.CharSequence> implements StringMap<java.lang.CharSequence>, java.io.Serializable
Deprecated.There are much better and faster hash functions.A string map based on a function signed using Shift-Add-Xor hashes.A minimal perfect hash function maps a set of string to an initial segment of the natural numbers, but will actually map any string to that segment. By signing each output value with a hash of the string, we get a dictionary-like functionality with a rate error that can be balanced with space occupancy (signatures can go from 1 to
Long.SIZEbits).For the kind of hash we use, see “Performance in practice of string hashing functions”, by M.V. Ramakrishna and Justin Zobel, Proc. of the Fifth International Conference on Database Systems for Advanced Applications, 1997, pages 215−223.
- Since:
- 2.0
- Author:
- Sebastiano Vigna
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence>functionDeprecated.The underlying map.protected longmaskDeprecated.The mask to get onlywidthnonzero bits.protected intshiftDeprecated.The left shift to get onlywidthnonzero bits.protected it.unimi.dsi.fastutil.longs.LongBigListsignaturesDeprecated.Signatures.protected intwidthDeprecated.The width in bits of each signature.
-
Constructor Summary
Constructors Constructor Description ShiftAddXorSignedStringMap(java.util.Iterator<? extends java.lang.CharSequence> iterator, it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence> map)Deprecated.Creates a new shift-add-xor signed string map using a given hash map and 32-bit signatures.ShiftAddXorSignedStringMap(java.util.Iterator<? extends java.lang.CharSequence> iterator, it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence> map, int signatureWidth)Deprecated.Creates a new shift-add-xor signed string map using a given hash map.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleancontainsKey(java.lang.Object o)Deprecated.java.lang.Longget(java.lang.Object o)Deprecated.longgetLong(java.lang.Object o)Deprecated.it.unimi.dsi.fastutil.objects.ObjectBigList<java.lang.CharSequence>list()Deprecated.Returns a list view of the domain of this string map (optional operation).static voidmain(java.lang.String[] arg)Deprecated.intsize()Deprecated.longsize64()Deprecated.Returns the intended number of keys in this function, or -1 if no such number exists.-
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, defaultReturnValue, defaultReturnValue, getOrDefault, getOrDefault, put, put, remove, removeLong
-
-
-
-
Field Detail
-
function
protected final it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence> function
Deprecated.The underlying map.
-
signatures
protected final it.unimi.dsi.fastutil.longs.LongBigList signatures
Deprecated.Signatures.
-
width
protected final int width
Deprecated.The width in bits of each signature.
-
shift
protected final int shift
Deprecated.The left shift to get onlywidthnonzero bits.
-
mask
protected final long mask
Deprecated.The mask to get onlywidthnonzero bits.
-
-
Constructor Detail
-
ShiftAddXorSignedStringMap
public ShiftAddXorSignedStringMap(java.util.Iterator<? extends java.lang.CharSequence> iterator, it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence> map)Deprecated.Creates a new shift-add-xor signed string map using a given hash map and 32-bit signatures.- Parameters:
iterator- an iterator enumerating a set of strings.map- a minimal perfect hash for the strings enumerated byiterator; it must supportsize()and have default return value -1.
-
ShiftAddXorSignedStringMap
public ShiftAddXorSignedStringMap(java.util.Iterator<? extends java.lang.CharSequence> iterator, it.unimi.dsi.fastutil.objects.Object2LongFunction<? extends java.lang.CharSequence> map, int signatureWidth)Deprecated.Creates a new shift-add-xor signed string map using a given hash map.- Parameters:
iterator- an iterator enumerating a set of strings.map- a minimal perfect hash for the strings enumerated byiterator; it must supportsize()and have default return value -1.signatureWidth- the width, in bits, of the signature of each string.
-
-
Method Detail
-
getLong
public long getLong(java.lang.Object o)
Deprecated.- Specified by:
getLongin interfaceit.unimi.dsi.fastutil.objects.Object2LongFunction<java.lang.CharSequence>
-
get
public java.lang.Long get(java.lang.Object o)
Deprecated.- Specified by:
getin interfaceit.unimi.dsi.fastutil.Function<java.lang.CharSequence,java.lang.Long>- Specified by:
getin interfaceit.unimi.dsi.fastutil.objects.Object2LongFunction<java.lang.CharSequence>
-
containsKey
public boolean containsKey(java.lang.Object o)
Deprecated.- Specified by:
containsKeyin interfaceit.unimi.dsi.fastutil.Function<java.lang.CharSequence,java.lang.Long>
-
size
@Deprecated public int size()
Deprecated.Description copied from interface:StringMap
-
size64
public long size64()
Deprecated.Description copied from interface:StringMapReturns the intended number of keys in this function, or -1 if no such number exists.Most function implementations will have some knowledge of the intended number of keys in their domain. In some cases, however, this might not be possible. This default implementation, in particular, returns -1.
-
list
public it.unimi.dsi.fastutil.objects.ObjectBigList<java.lang.CharSequence> list()
Deprecated.Description copied from interface:StringMapReturns a list view of the domain of this string map (optional operation).Note that the list view acts as an inverse of the mapping implemented by this map.
-
main
public static void main(java.lang.String[] arg) throws java.lang.NoSuchMethodException, java.io.IOException, com.martiansoftware.jsap.JSAPException, java.lang.ClassNotFoundExceptionDeprecated.- Throws:
java.lang.NoSuchMethodExceptionjava.io.IOExceptioncom.martiansoftware.jsap.JSAPExceptionjava.lang.ClassNotFoundException
-
-