Package it.unimi.dsi.webgraph.labelling
Class GammaCodedIntLabel
java.lang.Object
it.unimi.dsi.webgraph.labelling.AbstractLabel
it.unimi.dsi.webgraph.labelling.AbstractIntLabel
it.unimi.dsi.webgraph.labelling.GammaCodedIntLabel
- All Implemented Interfaces:
FlyweightPrototype<Label>
,Label
public class GammaCodedIntLabel extends AbstractIntLabel
A natural number represented in γ coding.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description GammaCodedIntLabel(java.lang.String... key)
Creates a new γ-coded label using the given key and value 0.GammaCodedIntLabel(java.lang.String key, int value)
Creates a new label with given key and value. -
Method Summary
Modifier and Type Method Description GammaCodedIntLabel
copy()
Returns a copy of this label.int
fixedWidth()
Returns -1 (as this label has not a fixed width).int
fromBitStream(InputBitStream inputBitStream, int sourceUnused)
Fills this label reading a γ-coded natural number from the given input bit stream.int
toBitStream(OutputBitStream outputBitStream, int sourceUnused)
Writes this label as a γ-coded natural number to the given output bit stream.java.lang.String
toSpec()
Returns a string representing the specification of this label.java.lang.String
toString()
Methods inherited from class it.unimi.dsi.webgraph.labelling.AbstractIntLabel
attributeKeys, attributeTypes, equals, get, get, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, hashCode, wellKnownAttributeKey
Methods inherited from class it.unimi.dsi.webgraph.labelling.AbstractLabel
getBoolean, getBoolean, getByte, getByte, getChar, getChar, getShort, getShort
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface it.unimi.dsi.webgraph.labelling.Label
getBoolean, getBoolean, getByte, getByte, getChar, getChar, getShort, getShort
-
Constructor Details
-
GammaCodedIntLabel
public GammaCodedIntLabel(java.lang.String key, int value)Creates a new label with given key and value.- Parameters:
key
- the (only) key.value
- the value of this label.
-
GammaCodedIntLabel
public GammaCodedIntLabel(java.lang.String... key)Creates a new γ-coded label using the given key and value 0.- Parameters:
key
- one string containing the key of this label.
-
-
Method Details
-
copy
Description copied from interface:Label
Returns a copy of this label.- Returns:
- a new label that copies this one.
-
fromBitStream
public int fromBitStream(InputBitStream inputBitStream, int sourceUnused) throws java.io.IOExceptionFills this label reading a γ-coded natural number from the given input bit stream.- Parameters:
inputBitStream
- an input bit stream.sourceUnused
- the source node.- Returns:
- the number of bits read to fill this lbael.
- Throws:
java.io.IOException
-
toBitStream
public int toBitStream(OutputBitStream outputBitStream, int sourceUnused) throws java.io.IOExceptionWrites this label as a γ-coded natural number to the given output bit stream.- Parameters:
outputBitStream
- an output bit stream.sourceUnused
- the source node.- Returns:
- the number of bits written.
- Throws:
java.io.IOException
-
fixedWidth
public int fixedWidth()Returns -1 (as this label has not a fixed width).- Returns:
- -1.
-
toString
public java.lang.String toString()- Overrides:
toString
in classAbstractIntLabel
-
toSpec
public java.lang.String toSpec()Description copied from interface:Label
Returns a string representing the specification of this label.Each label class can be instantiated in several ways (e.g.,
FixedWidthIntLabel
requires a name for the well-known attribute and a number of bits). This method must return a representation that can be used byObjectParser
to instantiate the class, and consequently there must exist a matching constructor whose arguments are strings.There is an equation that must be always satisfied:
ObjectParser.fromSpec(x.toSpec()).toSpec().equals(x.toSpec())
- Returns:
- a string representing the specification of this label.
- See Also:
ObjectParser.fromSpec(String, Class)
-