Class FloatSegmentedSortedMultiset
java.lang.Object
io.deephaven.engine.table.impl.ssms.FloatSegmentedSortedMultiset
- All Implemented Interfaces:
SegmentedSortedMultiSet<Float>
,LongSizedDataStructure
,FloatVector
,Vector<FloatVector>
,Serializable
,Iterable<Float>
public final class FloatSegmentedSortedMultiset
extends Object
implements SegmentedSortedMultiSet<Float>, FloatVector
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.vector.FloatVector
FloatVector.Indirect
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet
SegmentedSortedMultiSet.RemoveContext
-
Field Summary
Fields inherited from interface io.deephaven.vector.FloatVector
serialVersionUID
Fields inherited from interface io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet
SEGMENTED_SORTED_MULTISET_VALIDATION
Fields inherited from interface io.deephaven.vector.Vector
NULL_ELEMENT_STRING
-
Constructor Summary
ConstructorDescriptionFloatSegmentedSortedMultiset
(int leafSize) Create a FloatSegmentedSortedArray with the given leafSize. -
Method Summary
Modifier and TypeMethodDescriptionvoid
float[]
Get an array representation of the elements of this Vector.boolean
void
fillAddedChunk
(WritableFloatChunk<? extends Values> chunk, int position) void
fillKeyChunk
(WritableChunk<?> keyChunk, int offset) void
fillRemovedChunk
(WritableFloatChunk<? extends Values> chunk, int position) float
get
(long index) Get the element of this FloatVector at offsetindex
.int
getMax()
long
float
getMin()
long
float
int
int
int
hashCode()
boolean
insert
(WritableChunk<? extends Values> valuesToInsert, WritableIntChunk<ChunkLengths> counts) Insert new valuesToInsert into this SSMS.keyChunk()
void
moveBackToFront
(SegmentedSortedMultiSet untypedDestination, long count) Remove count elements from the back of this SSM and add them to the front of the destination SSM.void
moveFrontToBack
(SegmentedSortedMultiSet untypedDestination, long count) Remove count elements from the front of this SSM and add them to the back of the destination SSM.boolean
remove
(SegmentedSortedMultiSet.RemoveContext removeContext, WritableChunk<? extends Values> valuesToRemove, WritableIntChunk<ChunkLengths> counts) Remove valuesToRemove from this SSA.void
setTrackDeltas
(boolean shouldTrackDeltas) long
size()
The size of this data structure.subVector
(long fromIndexInclusive, long toIndexExclusive) Get a Vector that represents a slice of this Vector.subVectorByPositions
(long[] positions) Get a Vector that represents a set of offset positions in this Vector.float[]
toArray()
Get an array representation of the elements of this Vector.toString()
long
void
validate()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.vector.FloatVector
getComponentType, iterator, iterator, toString
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface io.deephaven.util.datastructures.LongSizedDataStructure
intSize, intSize
-
Constructor Details
-
FloatSegmentedSortedMultiset
public FloatSegmentedSortedMultiset(int leafSize) Create a FloatSegmentedSortedArray with the given leafSize.- Parameters:
leafSize
- the maximumSize for any leaf
-
-
Method Details
-
insert
public boolean insert(WritableChunk<? extends Values> valuesToInsert, WritableIntChunk<ChunkLengths> counts) Description copied from interface:SegmentedSortedMultiSet
Insert new valuesToInsert into this SSMS. The valuesToInsert to insert must be sorted, without duplicates. The valuesToInsert and counts chunks will be modified during this call, and the resulting chunks are undefined.- Specified by:
insert
in interfaceSegmentedSortedMultiSet<Float>
- Parameters:
valuesToInsert
- the valuesToInsert to insertcounts
- the number of times each value occurs- Returns:
- true if any new values were inserted
-
remove
public boolean remove(SegmentedSortedMultiSet.RemoveContext removeContext, WritableChunk<? extends Values> valuesToRemove, WritableIntChunk<ChunkLengths> counts) Remove valuesToRemove from this SSA. The valuesToRemove to remove must be sorted.- Specified by:
remove
in interfaceSegmentedSortedMultiSet<Float>
- Parameters:
valuesToRemove
- the valuesToRemove to removeremoveContext
- removalContext- Returns:
- true if any values were removed.
-
validate
-
totalSize
public long totalSize()- Specified by:
totalSize
in interfaceSegmentedSortedMultiSet<Float>
- Returns:
- the total size of the set in elements (i.e. if A exists twice, 2 is returned not one)
-
getNodeSize
public int getNodeSize()- Specified by:
getNodeSize
in interfaceSegmentedSortedMultiSet<Float>
-
getMin
- Specified by:
getMin
in interfaceSegmentedSortedMultiSet<Float>
-
getMax
- Specified by:
getMax
in interfaceSegmentedSortedMultiSet<Float>
-
getMinFloat
public float getMinFloat() -
getMinCount
public long getMinCount()- Specified by:
getMinCount
in interfaceSegmentedSortedMultiSet<Float>
- Returns:
- the number of times the minimum value exists in this SSM.
-
getMaxFloat
public float getMaxFloat() -
getMaxCount
public long getMaxCount()- Specified by:
getMaxCount
in interfaceSegmentedSortedMultiSet<Float>
- Returns:
- the number of times the maximum value exists in this SSM.
-
moveFrontToBack
Description copied from interface:SegmentedSortedMultiSet
Remove count elements from the front of this SSM and add them to the back of the destination SSM.The minimum element of this SSM must be greater than or equal to the maximum of destination.
- Specified by:
moveFrontToBack
in interfaceSegmentedSortedMultiSet<Float>
- Parameters:
untypedDestination
- the SegmentedSortedMultiSet to append count elements tocount
- how many elements to move to the destination
-
moveBackToFront
Description copied from interface:SegmentedSortedMultiSet
Remove count elements from the back of this SSM and add them to the front of the destination SSM.The minimum element of this SSM must be less than or equal to the maximum of destination.
- Specified by:
moveBackToFront
in interfaceSegmentedSortedMultiSet<Float>
- Parameters:
untypedDestination
- the SegmentedSortedMultiSet to prepend count elements tocount
- how many elements to move to the destination
-
keyChunk
- Specified by:
keyChunk
in interfaceSegmentedSortedMultiSet<Float>
-
fillKeyChunk
- Specified by:
fillKeyChunk
in interfaceSegmentedSortedMultiSet<Float>
-
countChunk
- Specified by:
countChunk
in interfaceSegmentedSortedMultiSet<Float>
-
setTrackDeltas
public void setTrackDeltas(boolean shouldTrackDeltas) - Specified by:
setTrackDeltas
in interfaceSegmentedSortedMultiSet<Float>
-
clearDeltas
public void clearDeltas()- Specified by:
clearDeltas
in interfaceSegmentedSortedMultiSet<Float>
-
getAddedSize
public int getAddedSize()- Specified by:
getAddedSize
in interfaceSegmentedSortedMultiSet<Float>
-
getRemovedSize
public int getRemovedSize()- Specified by:
getRemovedSize
in interfaceSegmentedSortedMultiSet<Float>
-
fillRemovedChunk
-
fillAddedChunk
-
getPrevValues
-
get
public float get(long index) Description copied from interface:FloatVector
Get the element of this FloatVector at offsetindex
. Ifindex
is not within range[0, size())
, will return thenull float
.- Specified by:
get
in interfaceFloatVector
- Parameters:
index
- An offset into this FloatVector- Returns:
- The element at the specified offset, or the
null float
-
subVector
Description copied from interface:Vector
Get a Vector that represents a slice of this Vector.- Specified by:
subVector
in interfaceFloatVector
- Specified by:
subVector
in interfaceVector<FloatVector>
- Parameters:
fromIndexInclusive
- The first offset into this Vector to include in the result; if negative, the result will have a range of null values at offsets in[0, -fromIndexInclusive)
toIndexExclusive
- The first offset into this Vector to not include in the result; if larger thansize()
, the result will have a range of null values at the corresponding offsets- Returns:
- The sub-Vector specified by
[fromIndexInclusive, toIndexExclusive)
-
subVectorByPositions
Description copied from interface:Vector
Get a Vector that represents a set of offset positions in this Vector.- Specified by:
subVectorByPositions
in interfaceFloatVector
- Specified by:
subVectorByPositions
in interfaceVector<FloatVector>
- Parameters:
positions
- The offsets to include; if not within[0, size())
, the corresponding offset in the result will contain the appropriate null value- Returns:
- The sub-Vector specified by
positions
-
toArray
public float[] toArray()Description copied from interface:Vector
Get an array representation of the elements of this Vector. Callers must not mutate the result, as implementations may choose to return their backing array in some cases.- Specified by:
toArray
in interfaceFloatVector
- Specified by:
toArray
in interfaceVector<FloatVector>
- Returns:
- An array representation of the elements of this Vector that must not be mutated
-
copyToArray
public float[] copyToArray()Description copied from interface:Vector
Get an array representation of the elements of this Vector. Callers may freely mutate the result, as it is guaranteed to be freshly-allocated and belongs to the caller upon return.- Specified by:
copyToArray
in interfaceFloatVector
- Specified by:
copyToArray
in interfaceVector<FloatVector>
- Returns:
- An array representation of the elements of this Vector that may be freely mutated
-
size
public long size()Description copied from interface:LongSizedDataStructure
The size of this data structure.- Specified by:
size
in interfaceLongSizedDataStructure
- Specified by:
size
in interfaceSegmentedSortedMultiSet<Float>
- Returns:
- the size of the set (i.e. the number of unique elements).
-
getDirect
- Specified by:
getDirect
in interfaceFloatVector
- Specified by:
getDirect
in interfaceVector<FloatVector>
- Returns:
- A version of this Vector that is flattened out to only reference memory
-
equals
-
hashCode
public int hashCode() -
toString
-