Class DoubleVectorDataDense
java.lang.Object
org.djunits.value.storage.Storage<DoubleVectorData>
org.djunits.value.vdouble.vector.data.DoubleVectorData
org.djunits.value.vdouble.vector.data.DoubleVectorDataDense
- All Implemented Interfaces:
Serializable,Cloneable
Stores dense data for a DoubleVector and carries out basic operations.
Copyright (c) 2013-2025 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
Fields inherited from class org.djunits.value.vdouble.vector.data.DoubleVectorData
PARALLEL_THRESHOLD, vectorSI -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal DoubleVectorDataDenseassign(DoubleFunction doubleFunction) Apply an operation to each cell.final DoubleVectorDataDenseassign(DoubleFunction2 doubleFunction2, DoubleVectorData right) Apply a binary operation on a cell by cell basis.final intCompute and return the number of non-zero cells in this indexed value.final DoubleVectorDataDensecopy()Create and return a deep copy of the data.final DoubleVectorDatadivide(DoubleVectorData right) Divide two vectors on a cell-by-cell basis.final double[]Create and return a dense copy of the data.final doublegetSI(int index) Retrieve the SI value of one element of this data.final DoubleVectorDataDenseminus(DoubleVectorData right) Subtract two vectors on a cell-by-cell basis.final DoubleVectorDataDenseplus(DoubleVectorData right) Add two vectors on a cell-by-cell basis.final voidsetSI(int index, double valueSI) Sets a value at the index in the vector.final intsize()Retrieve the size of the vector.final DoubleVectorDatatimes(DoubleVectorData right) Multiply two vectors on a cell-by-cell basis.final DoubleVectorDataDensetoDense()Return the densely stored equivalent of this data.final DoubleVectorDataSparsetoSparse()Return the sparsely stored equivalent of this data.Methods inherited from class org.djunits.value.vdouble.vector.data.DoubleVectorData
checkSizes, compareDenseVectorWithSparseVector, decrementBy, divideBy, equals, hashCode, incrementBy, instantiate, instantiate, instantiate, instantiate, multiplyBy, toString, zSumMethods inherited from class org.djunits.value.storage.Storage
getStorageType, isDense, isSparse
-
Constructor Details
-
DoubleVectorDataDense
public DoubleVectorDataDense(double[] vectorSI) Create a vector with dense data.- Parameters:
vectorSI- the data to store
-
-
Method Details
-
cardinality
public final int cardinality()Description copied from class:StorageCompute and return the number of non-zero cells in this indexed value.- Specified by:
cardinalityin classStorage<DoubleVectorData>- Returns:
- the number of non-zero cells
-
assign
Description copied from class:DoubleVectorDataApply an operation to each cell.- Specified by:
assignin classDoubleVectorData- Parameters:
doubleFunction- the operation to apply- Returns:
- this (modified) double vector data object
-
assign
Description copied from class:DoubleVectorDataApply a binary operation on a cell by cell basis.- Specified by:
assignin classDoubleVectorData- Parameters:
doubleFunction2- the binary operation to applyright- the right operand for the binary operation- Returns:
- this (modified) double vector data object
-
toDense
Description copied from class:DoubleVectorDataReturn the densely stored equivalent of this data.- Specified by:
toDensein classDoubleVectorData- Returns:
- the dense transformation of this data
-
toSparse
Description copied from class:DoubleVectorDataReturn the sparsely stored equivalent of this data.- Specified by:
toSparsein classDoubleVectorData- Returns:
- the sparse transformation of this data
-
size
public final int size()Description copied from class:DoubleVectorDataRetrieve the size of the vector.- Specified by:
sizein classDoubleVectorData- Returns:
- the size of the vector
-
getSI
public final double getSI(int index) Description copied from class:DoubleVectorDataRetrieve the SI value of one element of this data.- Specified by:
getSIin classDoubleVectorData- Parameters:
index- the index to get the value for- Returns:
- the value at the index
-
setSI
public final void setSI(int index, double valueSI) Description copied from class:DoubleVectorDataSets a value at the index in the vector.- Specified by:
setSIin classDoubleVectorData- Parameters:
index- the index to set the value forvalueSI- the value at the index
-
getDenseVectorSI
public final double[] getDenseVectorSI()Description copied from class:DoubleVectorDataCreate and return a dense copy of the data.- Specified by:
getDenseVectorSIin classDoubleVectorData- Returns:
- a safe copy of VectorSI
-
copy
Description copied from class:StorageCreate and return a deep copy of the data.- Specified by:
copyin classStorage<DoubleVectorData>- Returns:
- a deep copy of the data
-
plus
Description copied from class:DoubleVectorDataAdd 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:
plusin classDoubleVectorData- Parameters:
right- the other data object to add- Returns:
- the sum of this data object and the other data object as a new data object
-
minus
Description copied from class:DoubleVectorDataSubtract 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:
minusin classDoubleVectorData- Parameters:
right- the other data object to subtract- Returns:
- the difference of this data object and the other data object as a new data object
-
times
Description copied from class:DoubleVectorDataMultiply 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:
timesin classDoubleVectorData- Parameters:
right- the other data object to multiply with- Returns:
- a new double vector data store holding the result of the multiplications
-
divide
Description copied from class:DoubleVectorDataDivide two vectors on a cell-by-cell basis. If this vector is sparse andrightis dense, a sparse vector is returned, otherwise a dense vector is returned.- Specified by:
dividein classDoubleVectorData- Parameters:
right- the other data object to divide by- Returns:
- the ratios of the values of this data object and the other data object
-