Class IntVectorStorage
- java.lang.Object
-
- org.processmining.specpp.datastructures.vectorization.IntVectorStorage
-
- All Implemented Interfaces:
Mappable<java.util.function.IntUnaryOperator>,Mathable<IntVectorStorage>,Copyable<IntVectorStorage>,PartiallyOrdered<IntVectorStorage>
- Direct Known Subclasses:
IntVectorSubsetStorage
public class IntVectorStorage extends java.lang.Object implements Copyable<IntVectorStorage>, Mathable<IntVectorStorage>, Mappable<java.util.function.IntUnaryOperator>, PartiallyOrdered<IntVectorStorage>
Datastructure for storing a (fixed-size) vector of (fixed-, but not necessarily equal, -sized) vectors of integers in contingent memory. Provides vector wise access, efficient mapping and comparison (e.g. ordering relation) operations. Additionally, this implementation is spliterable over the vectors with or without their index.Used as a representation of encoded (activities to integers) log variants as well as variant marking histories.
-
-
Field Summary
Fields Modifier and Type Field Description static intMIN_SPLIT_VECTOR_COUNT
-
Constructor Summary
Constructors Constructor Description IntVectorStorage(int[] data, int[] startIndices)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(IntVectorStorage other)IntVectorStoragecopy()voiddifferencing()java.util.stream.Stream<IndexedItem<java.nio.IntBuffer>>getIndexedVectors()java.util.stream.Stream<IndexedItem<java.nio.IntBuffer>>getIndexedVectors(java.util.stream.IntStream indices)intgetTotalSize()java.nio.IntBuffergetVector(int index)intgetVectorCount()intgetVectorLength(int index)java.util.stream.Stream<java.nio.IntBuffer>getVectors()java.util.stream.Stream<java.nio.IntBuffer>getVectors(java.util.stream.IntStream indices)java.util.Spliterator.OfIntgetVectorSpliterator(int index)booleangt(IntVectorStorage other)java.util.Spliterator<IndexedItem<java.nio.IntBuffer>>indexedSpliterator()java.util.Spliterator<IndexedItem<java.nio.IntBuffer>>indexedSpliterator(BitMask bitMask)java.util.stream.IntStreamindexStream()protected booleanisValidVectorIndex(int index)booleanlt(IntVectorStorage other)voidmap(java.util.function.IntUnaryOperator mapper)voidmapVector(int index, java.util.function.IntUnaryOperator mapper)voidnegate()voidsetVector(int index, int[] vector)voidsetVectorElement(int index, int elementIndex, int value)java.util.Spliterator<java.nio.IntBuffer>spliterator()java.util.Spliterator<java.nio.IntBuffer>spliterator(BitMask bitMask)voidsubtract(IntVectorStorage other)java.lang.StringtoString()java.util.stream.IntStreamvectorwisePredicateStream(java.util.function.Predicate<java.util.stream.IntStream> predicate)java.util.stream.IntStreamvectorwisePredicateStream(java.util.stream.IntStream indices, java.util.function.Predicate<java.util.stream.IntStream> predicate)java.util.stream.Stream<java.util.stream.IntStream>view()java.util.stream.Stream<java.util.stream.IntStream>view(java.util.stream.IntStream indices)java.util.stream.Stream<IndexedItem<java.util.stream.IntStream>>viewIndexed()java.util.stream.Stream<IndexedItem<java.util.stream.IntStream>>viewIndexed(java.util.stream.IntStream indices)java.util.stream.IntStreamviewVector(int index)static IntVectorStoragezeros(int[] lengths)static IntVectorStoragezeros(int[] data, int[] lengths)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.processmining.specpp.traits.PartiallyOrdered
equivalent
-
-
-
-
Field Detail
-
MIN_SPLIT_VECTOR_COUNT
public static final int MIN_SPLIT_VECTOR_COUNT
- See Also:
- Constant Field Values
-
-
Method Detail
-
zeros
public static IntVectorStorage zeros(int[] data, int[] lengths)
-
zeros
public static IntVectorStorage zeros(int[] lengths)
-
getTotalSize
public int getTotalSize()
-
getVectorCount
public int getVectorCount()
-
isValidVectorIndex
protected boolean isValidVectorIndex(int index)
-
setVector
public void setVector(int index, int[] vector)
-
getVectorLength
public int getVectorLength(int index)
-
getVectorSpliterator
public java.util.Spliterator.OfInt getVectorSpliterator(int index)
-
setVectorElement
public void setVectorElement(int index, int elementIndex, int value)
-
map
public void map(java.util.function.IntUnaryOperator mapper)
-
mapVector
public void mapVector(int index, java.util.function.IntUnaryOperator mapper)
-
differencing
public void differencing()
-
viewVector
public java.util.stream.IntStream viewVector(int index)
-
getVector
public java.nio.IntBuffer getVector(int index)
-
indexStream
public java.util.stream.IntStream indexStream()
-
view
public java.util.stream.Stream<java.util.stream.IntStream> view(java.util.stream.IntStream indices)
-
viewIndexed
public java.util.stream.Stream<IndexedItem<java.util.stream.IntStream>> viewIndexed(java.util.stream.IntStream indices)
-
view
public java.util.stream.Stream<java.util.stream.IntStream> view()
-
viewIndexed
public java.util.stream.Stream<IndexedItem<java.util.stream.IntStream>> viewIndexed()
-
getVectors
public java.util.stream.Stream<java.nio.IntBuffer> getVectors()
-
getVectors
public java.util.stream.Stream<java.nio.IntBuffer> getVectors(java.util.stream.IntStream indices)
-
getIndexedVectors
public java.util.stream.Stream<IndexedItem<java.nio.IntBuffer>> getIndexedVectors(java.util.stream.IntStream indices)
-
getIndexedVectors
public java.util.stream.Stream<IndexedItem<java.nio.IntBuffer>> getIndexedVectors()
-
vectorwisePredicateStream
public java.util.stream.IntStream vectorwisePredicateStream(java.util.function.Predicate<java.util.stream.IntStream> predicate)
-
vectorwisePredicateStream
public java.util.stream.IntStream vectorwisePredicateStream(java.util.stream.IntStream indices, java.util.function.Predicate<java.util.stream.IntStream> predicate)
-
copy
public IntVectorStorage copy()
- Specified by:
copyin interfaceCopyable<IntVectorStorage>
-
add
public void add(IntVectorStorage other)
- Specified by:
addin interfaceMathable<IntVectorStorage>
-
subtract
public void subtract(IntVectorStorage other)
- Specified by:
subtractin interfaceMathable<IntVectorStorage>
-
negate
public void negate()
- Specified by:
negatein interfaceMathable<IntVectorStorage>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
gt
public boolean gt(IntVectorStorage other)
- Specified by:
gtin interfacePartiallyOrdered<IntVectorStorage>
-
lt
public boolean lt(IntVectorStorage other)
- Specified by:
ltin interfacePartiallyOrdered<IntVectorStorage>
-
spliterator
public java.util.Spliterator<java.nio.IntBuffer> spliterator()
-
indexedSpliterator
public java.util.Spliterator<IndexedItem<java.nio.IntBuffer>> indexedSpliterator()
-
spliterator
public java.util.Spliterator<java.nio.IntBuffer> spliterator(BitMask bitMask)
-
indexedSpliterator
public java.util.Spliterator<IndexedItem<java.nio.IntBuffer>> indexedSpliterator(BitMask bitMask)
-
-