java.lang.Object
io.deephaven.engine.table.impl.updateby.rollingformula.ringbuffervectorwrapper.DoubleRingBufferVectorWrapper
All Implemented Interfaces:
RingBufferVectorWrapper, LongSizedDataStructure, DoubleVector, Vector<DoubleVector>, Serializable, Iterable<Double>

public class DoubleRingBufferVectorWrapper extends Object implements DoubleVector, RingBufferVectorWrapper
See Also:
  • Constructor Details

    • DoubleRingBufferVectorWrapper

      public DoubleRingBufferVectorWrapper(DoubleRingBuffer ringBuffer)
  • Method Details

    • size

      public long size()
      Description copied from interface: LongSizedDataStructure
      The size of this data structure.
      Specified by:
      size in interface LongSizedDataStructure
      Returns:
      The size
    • get

      public double get(long index)
      Description copied from interface: DoubleVector
      Get the element of this DoubleVector at offset index. If index is not within range [0, size()), will return the null double.
      Specified by:
      get in interface DoubleVector
      Parameters:
      index - An offset into this DoubleVector
      Returns:
      The element at the specified offset, or the null double
    • subVector

      public DoubleVector subVector(long fromIndexInclusive, long toIndexExclusive)
      Description copied from interface: Vector
      Get a Vector that represents a slice of this Vector.
      Specified by:
      subVector in interface DoubleVector
      Specified by:
      subVector in interface Vector<DoubleVector>
      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 than size(), the result will have a range of null values at the corresponding offsets
      Returns:
      The sub-Vector specified by [fromIndexInclusive, toIndexExclusive)
    • subVectorByPositions

      public DoubleVector subVectorByPositions(long[] positions)
      Description copied from interface: Vector
      Get a Vector that represents a set of offset positions in this Vector.
      Specified by:
      subVectorByPositions in interface DoubleVector
      Specified by:
      subVectorByPositions in interface Vector<DoubleVector>
      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 double[] 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 interface DoubleVector
      Specified by:
      toArray in interface Vector<DoubleVector>
      Returns:
      An array representation of the elements of this Vector that must not be mutated
    • copyToArray

      public double[] 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 interface DoubleVector
      Specified by:
      copyToArray in interface Vector<DoubleVector>
      Returns:
      An array representation of the elements of this Vector that may be freely mutated
    • getDirect

      public DoubleVector getDirect()
      Specified by:
      getDirect in interface DoubleVector
      Specified by:
      getDirect in interface Vector<DoubleVector>
      Returns:
      A version of this Vector that is flattened out to only reference memory