Class LongDiskDataStorage

All Implemented Interfaces:
Serializable

public class LongDiskDataStorage extends DiskDataStorage
Disk-based data storage for the long element type.
Version:
1.8.0
Author:
Mikko Tommila
See Also:
Serialized Form
  • Constructor Details

    • LongDiskDataStorage

      public LongDiskDataStorage() throws ApfloatRuntimeException
      Default constructor.
      Throws:
      ApfloatRuntimeException
    • LongDiskDataStorage

      protected LongDiskDataStorage(LongDiskDataStorage longDiskDataStorage, long offset, long length)
      Subsequence constructor.
      Parameters:
      longDiskDataStorage - The originating data storage.
      offset - The subsequence starting position.
      length - The subsequence length.
  • Method Details

    • implSubsequence

      protected DataStorage implSubsequence(long offset, long length) throws ApfloatRuntimeException
      Description copied from class: DataStorage
      Implementation of getting a subsequence of this data storage. The validity of the arguments of this method do not need to be checked.
      Specified by:
      implSubsequence in class DataStorage
      Parameters:
      offset - The subsequence starting position.
      length - The subsequence length.
      Returns:
      Data storage that represents the specified part of this data storage.
      Throws:
      ApfloatRuntimeException
    • implGetArray

      protected ArrayAccess implGetArray(int mode, long offset, int length) throws ApfloatRuntimeException
      Description copied from class: DataStorage
      Gets an array access to the data of this data storage when it is treated as a linear block. The validity of the arguments of this method do not need to be checked.
      Specified by:
      implGetArray in class DataStorage
      Parameters:
      mode - Access mode for the array access: DataStorage.READ, DataStorage.WRITE or both.
      offset - Starting position of the array access in the data storage.
      length - Number of accessible elements in the array access.
      Returns:
      The array access.
      Throws:
      ApfloatRuntimeException
    • createArrayAccess

      protected ArrayAccess createArrayAccess(int mode, int startColumn, int columns, int rows)
      Description copied from class: DiskDataStorage
      Create an empty ArrayAccess.
      Specified by:
      createArrayAccess in class DiskDataStorage
      Parameters:
      mode - Whether the array is prepared for reading, writing or both. The value should be DataStorage.READ, DataStorage.WRITE or a combination of these.
      startColumn - The starting column where data is stored.
      columns - The number of columns of data.
      rows - The number of rows of data.
      Returns:
      Access to an empty array of the specified size and position.
    • createTransposedArrayAccess

      protected ArrayAccess createTransposedArrayAccess(int mode, int startColumn, int columns, int rows)
      Description copied from class: DiskDataStorage
      Create an empty transposed ArrayAccess.
      Specified by:
      createTransposedArrayAccess in class DiskDataStorage
      Parameters:
      mode - Whether the array is prepared for reading, writing or both. The value should be DataStorage.READ, DataStorage.WRITE or a combination of these.
      startColumn - The starting column where data is stored.
      columns - The number of columns of data.
      rows - The number of rows of data.
      Returns:
      Access to an empty array of the specified size and position.
    • iterator

      public DataStorage.Iterator iterator(int mode, long startPosition, long endPosition) throws IllegalArgumentException, IllegalStateException, ApfloatRuntimeException
      Description copied from class: DataStorage
      Constructs a new iterator. Elements can be iterated either in forward or in reverse order, depending on if startPosition is less than or greater than endPosition, correspondingly.
      Specified by:
      iterator in class DataStorage
      Parameters:
      mode - Access mode for iterator: DataStorage.READ, DataStorage.WRITE or both.
      startPosition - Starting position of iterator in the data set. For reverse access, the first element in the iterator is startPosition - 1.
      endPosition - End position of iterator in the data set. For forward access, the last accessible element in the iterator is endPosition - 1.
      Returns:
      An iterator.
      Throws:
      IllegalArgumentException - If the requested area is out of bounds of the data storage.
      IllegalStateException - If write access is requested for a read-only data storage.
      ApfloatRuntimeException
    • getUnitSize

      protected int getUnitSize()
      Description copied from class: DiskDataStorage
      Size of the element type, in bytes.
      Specified by:
      getUnitSize in class DiskDataStorage
      Returns:
      Size of the element type, in bytes.