Class DoubleVectorDataDense

    • Constructor Detail

      • DoubleVectorDataDense

        public DoubleVectorDataDense​(double[] vectorSI)
        Create a vector with dense data.
        Parameters:
        vectorSI - double[]; the data to store
    • Method Detail

      • cardinality

        public final int cardinality()
        Compute and return the number of non-zero cells in this indexed value.
        Specified by:
        cardinality in class AbstractStorage<DoubleVectorData>
        Returns:
        int; the number of non-zero cells
      • assign

        public final DoubleVectorDataDense assign​(DoubleFunction doubleFunction)
        Apply an operation to each cell.
        Specified by:
        assign in class DoubleVectorData
        Parameters:
        doubleFunction - DoubleFunction; the operation to apply
        Returns:
        DoubleVectorData; this (modified) double vector data object
      • assign

        public final DoubleVectorDataDense assign​(DoubleFunction2 doubleFunction2,
                                                  DoubleVectorData right)
        Apply a binary operation on a cell by cell basis.
        Specified by:
        assign in class DoubleVectorData
        Parameters:
        doubleFunction2 - DoubleFunction2; the binary operation to apply
        right - DoubleVectorData; the right operand for the binary operation
        Returns:
        DoubleVectorData; this (modified) double vector data object
      • toDense

        public final DoubleVectorDataDense toDense()
        Return the densely stored equivalent of this data.
        Specified by:
        toDense in class DoubleVectorData
        Returns:
        DoubleVectorDataDense; the dense transformation of this data
      • toSparse

        public final DoubleVectorDataSparse toSparse()
        Return the sparsely stored equivalent of this data.
        Specified by:
        toSparse in class DoubleVectorData
        Returns:
        DoubleVectorDataSparse; the sparse transformation of this data
      • size

        public final int size()
        Retrieve the size of the vector.
        Specified by:
        size in class DoubleVectorData
        Returns:
        int; the size of the vector
      • getSI

        public final double getSI​(int index)
        Retrieve the SI value of one element of this data.
        Specified by:
        getSI in class DoubleVectorData
        Parameters:
        index - int; the index to get the value for
        Returns:
        double; the value at the index
      • setSI

        public final void setSI​(int index,
                                double valueSI)
        Sets a value at the index in the vector.
        Specified by:
        setSI in class DoubleVectorData
        Parameters:
        index - int; the index to set the value for
        valueSI - double; the value at the index
      • getDenseVectorSI

        public final double[] getDenseVectorSI()
        Create and return a dense copy of the data.
        Specified by:
        getDenseVectorSI in class DoubleVectorData
        Returns:
        double[]; a safe copy of VectorSI
      • plus

        public final DoubleVectorDataDense plus​(DoubleVectorData right)
        Add two vectors on a cell-by-cell basis. If both vectors are sparse, a sparse vector is returned, otherwise a dense vector is returned. Neither of the two objects is changed.
        Specified by:
        plus in class DoubleVectorData
        Parameters:
        right - DoubleVectorData; the other data object to add
        Returns:
        DoubleVectorData; the sum of this data object and the other data object as a new data object
      • minus

        public final DoubleVectorDataDense minus​(DoubleVectorData right)
        Subtract two vectors on a cell-by-cell basis. If both vectors are sparse, a sparse vector is returned, otherwise a dense vector is returned. Neither of the two objects is changed.
        Specified by:
        minus in class DoubleVectorData
        Parameters:
        right - DoubleVectorData; the other data object to subtract
        Returns:
        DoubleVectorData; the difference of this data object and the other data object as a new data object
      • times

        public final DoubleVectorData times​(DoubleVectorData right)
        Multiply two vectors on a cell-by-cell basis. If both vectors are dense, a dense vector is returned, otherwise a sparse vector is returned.
        Specified by:
        times in class DoubleVectorData
        Parameters:
        right - DoubleVectorData; the other data object to multiply with
        Returns:
        DoubleVectorData; a new double vector data store holding the result of the multiplications
      • divide

        public final DoubleVectorData divide​(DoubleVectorData right)
        Divide two vectors on a cell-by-cell basis. If this vector is sparse and right is dense, a sparse vector is returned, otherwise a dense vector is returned.
        Specified by:
        divide in class DoubleVectorData
        Parameters:
        right - DoubleVectorData; the other data object to divide by
        Returns:
        DoubleVectorData; the ratios of the values of this data object and the other data object