Package gw.util.fingerprint
Class FP64
java.lang.Object
gw.util.fingerprint.FP64
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long
private static long[]
private static final long
private static final String
private static final long
private static final long
private static final long
-
Constructor Summary
ConstructorsConstructorDescriptionFP64()
Initializes this object to the fingerprint of the empty string.FP64
(byte[] bytes) Initializes this object to the fingerprint of the byte arraybytes
, which must be non-null.FP64
(byte[] bytes, int start, int length) Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1]
.FP64
(char[] chars) Initializes this object to the fingerprint of the character arraychars
, which must be non-null.FP64
(char[] chars, int start, int length) Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1]
.Initializes this fingerprint to a copy offp
, which must be non-null.FP64
(InputStream stream) Initializes this object to the fingerprint of the bytes instream
, which must be non-null.Initializes this object to the fingerprint of the Strings
, which must be non-null.FP64
(ByteBuffer buffer) Initializes this object to the fingerprint of the bytes inbuffer
, which must be non-null. -
Method Summary
Modifier and TypeMethodDescriptionboolean
extend
(byte b) Extends this fingerprint by the byteb
.extend
(byte[] bytes) Extends this fingerprint by the bytesextend
(byte[] bytes, int start, int len) Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1]
.extend
(char c) Extends this fingerprint by the characterc
.extend
(char[] chars) Extends this fingerprint by the characterschars[start]..chars[start+length-1]
.extend
(char[] chars, int start, int len) Extends this fingerprint by the characterschars[start]..chars[start+length-1]
.extend
(int i) Extends this fingerprint by the integeri
.extend
(long i) Extends this fingerprint by the integeri
.extend
(InputStream stream) Extends this fingerprint by the bytes of the streamstream
, which must be non-null.Extends this fingerprint by the characters of the Strings
, which must be non-null.extend
(ByteBuffer buffer) long
int
hashCode()
byte[]
toBytes()
Returns the value of this fingerprint as a newly-allocated array of 8 bytes.byte[]
toBytes
(byte[] buff) Returns the value of this fingerprint as an 8-byte array.Returns the value of this fingerprint as an unsigned integer encoded in base 16 (hexideicmal), padded with leading zeros to a total length of 16 characters.toString()
-
Field Details
-
_fp
private long _fp -
LEADING_ZEROS
- See Also:
-
Zero
private static final long Zero- See Also:
-
One
private static final long One- See Also:
-
IrredPoly
private static final long IrredPoly- See Also:
-
X63
private static final long X63- See Also:
-
ByteModTable
private static long[] ByteModTable
-
-
Constructor Details
-
FP64
public FP64()Initializes this object to the fingerprint of the empty string. -
FP64
Initializes this fingerprint to a copy offp
, which must be non-null. -
FP64
Initializes this object to the fingerprint of the Strings
, which must be non-null. -
FP64
public FP64(char[] chars) Initializes this object to the fingerprint of the character arraychars
, which must be non-null. -
FP64
public FP64(char[] chars, int start, int length) Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1]
. -
FP64
public FP64(byte[] bytes) Initializes this object to the fingerprint of the byte arraybytes
, which must be non-null. -
FP64
public FP64(byte[] bytes, int start, int length) Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1]
. -
FP64
Initializes this object to the fingerprint of the bytes instream
, which must be non-null.- Throws:
IOException
- if an error is encountered readingstream
.
-
FP64
Initializes this object to the fingerprint of the bytes inbuffer
, which must be non-null.- Throws:
IOException
- if an error is encountered readingstream
.
-
-
Method Details
-
toBytes
public byte[] toBytes()Returns the value of this fingerprint as a newly-allocated array of 8 bytes.Important: If the output of this function is subsequently fingerprinted, the probabilistic guarantee is lost. That is, there is a much higher liklihood of fingerprint collisions if fingerprint values are themselves fingerprinted in any way.
-
toBytes
public byte[] toBytes(byte[] buff) Returns the value of this fingerprint as an 8-byte array. UnliketoBytes()
, this variant does not perform an allocation. Instead, the client passes in a buffer into which the fingerprint value is written. This can be used to get the values of a set of fingerprints without having to perform an allocation for each one.- Parameters:
buff
- The buffer into which the bytes will be written. This array is required to be non-null and exactly 8 bytes in length. This buffer is returned.
-
toHexString
Returns the value of this fingerprint as an unsigned integer encoded in base 16 (hexideicmal), padded with leading zeros to a total length of 16 characters.Important: If the output of this function is subsequently fingerprinted, the probabilistic guarantee is lost. That is, there is a much higher liklihood of fingerprint collisions if fingerprint values are themselves fingerprinted in any way.
-
extend
Extends this fingerprint by the characters of the Strings
, which must be non-null.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterschars[start]..chars[start+length-1]
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterschars[start]..chars[start+length-1]
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1]
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytes- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the integeri
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the integeri
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterc
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the byteb
.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytes of the streamstream
, which must be non-null.- Returns:
- the resulting fingerprint.
- Throws:
IOException
- if an error is encountered readingstream
.
-
extend
- Throws:
IOException
-
hashCode
public int hashCode() -
equals
-
getRawFingerprint
public long getRawFingerprint() -
toString
-