Package de.gsi.dataset.spi.utils
Class MultiArrayDouble
- java.lang.Object
-
- de.gsi.dataset.spi.utils.MultiArray<double[]>
-
- de.gsi.dataset.spi.utils.MultiArrayDouble
-
- Direct Known Subclasses:
MultiArrayDouble.MultiArray1DDouble,MultiArrayDouble.MultiArray2DDouble
public class MultiArrayDouble extends MultiArray<double[]>
Implementation of MultiArray for double values. Also contains subtypes for 1D and 2D Arrays which allow more convenient and more efficient access.The data is stored in row-major in a flat double array.
- Author:
- Alexander Krimm
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultiArrayDouble.MultiArray1DDoubleSpecialisation for the 1D case to allow for easier and more efficient usagestatic classMultiArrayDouble.MultiArray2DDoubleSpecialisation for the 2D case to allow for easier and more efficient usage
-
Field Summary
-
Fields inherited from class de.gsi.dataset.spi.utils.MultiArray
dimensions, elements, offset, strides
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedMultiArrayDouble(double[] elements, int[] dimensions, int offset)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MultiArrayDoubleallocate(int[] dimensions)booleanequals(java.lang.Object o)doubleget(int[] indices)Get a value in the MultiArray.doublegetStrided(int index)Get a value in the backing array using linear indexing.inthashCode()voidset(int[] indices, double value)Set a value in the MultiArray for given indicesvoidsetStrided(int index, double value)Set a value in the backing array using linear indexing.static MultiArrayDoublewrap(double[] elements)static MultiArrayDoublewrap(double[] elements, int[] dimensions)static MultiArrayDoublewrap(double[] elements, int offset, int length)static MultiArrayDoublewrap(double[] elements, int offset, int[] dimensions)-
Methods inherited from class de.gsi.dataset.spi.utils.MultiArray
elements, getDimensions, getElementsCount, getIndex, getIndices, getOffset, toString, wrap, wrap, wrap, wrap
-
-
-
-
Method Detail
-
wrap
public static MultiArrayDouble wrap(double[] elements)
- Parameters:
elements- Elements for the new MultiArray- Returns:
- A MultiArrayDouble1D with the supplied elements
-
wrap
public static MultiArrayDouble wrap(double[] elements, int offset, int length)
- Parameters:
elements- Elements for the new MultiArrayoffset- where in the backing array the element data startslength- number of elements to use from the elements array- Returns:
- A MultiArrayDouble1D with the supplied elements
-
wrap
public static MultiArrayDouble wrap(double[] elements, int[] dimensions)
- Parameters:
dimensions- The size of the new MultiArrayDoubleelements- The element data of the MultiArrayDouble in row-major storage- Returns:
- A MultiArrayDouble or specialisation of it for the 1D and 2D case
-
wrap
public static MultiArrayDouble wrap(double[] elements, int offset, int[] dimensions)
- Parameters:
elements- The element data of the MultiArrayDouble in row-major storageoffset- where in the backing array the element data startsdimensions- The size of the new MultiArrayDouble- Returns:
- A MultiArrayDouble or specialisation of it for the 1D and 2D case
-
allocate
public static MultiArrayDouble allocate(int[] dimensions)
- Parameters:
dimensions- Dimensions for the new MultiArray- Returns:
- A new MultiArrayDouble with a new empty backing array
-
setStrided
public void setStrided(int index, double value)Set a value in the backing array using linear indexing.- Parameters:
value- the new value for the elementindex- the index of the element to set
-
set
public void set(int[] indices, double value)Set a value in the MultiArray for given indices- Parameters:
value- The new value for the elementindices- Indices for every dimension of the MultiArray
-
getStrided
public double getStrided(int index)
Get a value in the backing array using linear indexing.- Parameters:
index- the index of the element to set- Returns:
- The element value
-
get
public double get(int[] indices)
Get a value in the MultiArray.- Parameters:
indices- the indices of the element to set- Returns:
- The element value
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-