Package de.gsi.dataset.spi.utils
Class MultiArrayInt
- java.lang.Object
-
- de.gsi.dataset.spi.utils.MultiArray<int[]>
-
- de.gsi.dataset.spi.utils.MultiArrayInt
-
- Direct Known Subclasses:
MultiArrayInt.MultiArray1DInt,MultiArrayInt.MultiArray2DInt
public class MultiArrayInt extends MultiArray<int[]>
Implementation of MultiArray for int 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 int array.
- Author:
- Alexander Krimm
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultiArrayInt.MultiArray1DIntSpecialisation for the 1D case to allow for easier and more efficient usagestatic classMultiArrayInt.MultiArray2DIntSpecialisation 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 protectedMultiArrayInt(int[] elements, int[] dimensions, int offset)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MultiArrayIntallocate(int[] dimensions)booleanequals(java.lang.Object o)intget(int[] indices)Get a value in the MultiArray.intgetStrided(int index)Get a value in the backing array using linear indexing.inthashCode()voidset(int[] indices, int value)Set a value in the MultiArray for given indicesvoidsetStrided(int index, int value)Set a value in the backing array using linear indexing.static MultiArrayIntwrap(int[] elements)static MultiArrayIntwrap(int[] elements, int[] dimensions)static MultiArrayIntwrap(int[] elements, int offset, int length)static MultiArrayIntwrap(int[] 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 MultiArrayInt wrap(int[] elements)
- Parameters:
elements- Elements for the new MultiArray- Returns:
- A MultiArrayInt1D with the supplied elements
-
wrap
public static MultiArrayInt wrap(int[] 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 MultiArrayInt1D with the supplied elements
-
wrap
public static MultiArrayInt wrap(int[] elements, int[] dimensions)
- Parameters:
dimensions- The size of the new MultiArrayIntelements- The element data of the MultiArrayInt in row-major storage- Returns:
- A MultiArrayInt or specialisation of it for the 1D and 2D case
-
wrap
public static MultiArrayInt wrap(int[] elements, int offset, int[] dimensions)
- Parameters:
elements- The element data of the MultiArrayInt in row-major storageoffset- where in the backing array the element data startsdimensions- The size of the new MultiArrayInt- Returns:
- A MultiArrayInt or specialisation of it for the 1D and 2D case
-
allocate
public static MultiArrayInt allocate(int[] dimensions)
- Parameters:
dimensions- Dimensions for the new MultiArray- Returns:
- A new MultiArrayInt with a new empty backing array
-
setStrided
public void setStrided(int index, int 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, int 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 int 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 int 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
-
-