Subclases indirectas conocidas |
Un NdArray
de pantalones cortos.
Métodos públicos
resumen ShortNdArray | |
resumen NdArraySequence < ShortNdArray > | elementos (int dimensionIdx) Devuelve una secuencia de todos los elementos en una dimensión determinada. |
resumen ShortNdArray | obtener (coordenadas ... largas) Devuelve el elemento N-dimensional de esta matriz en las coordenadas dadas. |
resumen corto | getObject (coordenadas largas ...) Devuelve el valor del escalar encontrado en las coordenadas dadas. |
resumen corto | getShort (coordenadas largas ...) Devuelve el valor corto del escalar encontrado en las coordenadas dadas. |
resumen ShortNdArray | leer ( ShortDataBuffer dst) |
resumen ShortNdArray | leer ( DataBuffer <Short> dst) |
resumen NdArraySequence < ShortNdArray > | escalares () Devuelve una secuencia de todos los escalares de esta matriz. |
resumen ShortNdArray | |
resumen ShortNdArray | setObject (valor corto, largo ... coordenadas) |
resumen ShortNdArray | setShort (valor corto, coordenadas largas ...) Asigna el valor corto del escalar encontrado en las coordenadas dadas. |
resumen ShortNdArray | rebanada ( índice ... coordenadas) Crea una vista (o sector) multidimensional de esta matriz asignando una o más dimensiones a los selectores de índice dados. |
resumen ShortNdArray | escribir ( ShortDataBuffer src) |
resumen ShortNdArray | escribir ( DataBuffer <Short> src) |
Métodos heredados
Métodos públicos
públicas abstractos NdArraySequence < ShortNdArray > elementos (int dimensionIdx)
Devuelve una secuencia de todos los elementos en una dimensión determinada.
Lógicamente, la matriz N-dimensional se puede aplanar en un solo vector, donde los escalares del (n - 1)
ésimo elemento precede a los del (n)
ésimo elemento, para un total de valores de size()
.
Por ejemplo, dada una matriz nxm
en los ejes [x, y]
, los elementos se iteran en el siguiente orden:
x 0 y 0 , x 0 y 1 , ..., x 0 y m-1 , x 1 y 0 , x 1 y 1 , ..., x n-1 y m-1
La secuencia devuelta se puede iterar para visitar cada elemento, ya sea llamando a forEach(Consumer)
o forEachIndexed(BiConsumer)
.
// Iterate matrix for initializing each of its vectors
matrixOfFloats.elements(0).forEach(v -> {
v.set(vector(1.0f, 2.0f, 3.0f));
);
// Iterate a vector for reading each of its scalar
vectorOfFloats.scalars().forEachIdx((coords, s) -> {
System.out.println("Value " + s.getFloat() + " found at " + coords);
});
}
Parámetros
dimensionIdx | índice de la dimensión |
---|
Devoluciones
- una secuencia
NdArray
public abstract ShortNdArray get (coordenadas largas ...)
Devuelve el elemento N-dimensional de esta matriz en las coordenadas dadas.
Se pueden recuperar elementos de cualquiera de las dimensiones de esta matriz. Por ejemplo, si el número de coordenadas es igual al número de dimensiones de esta matriz, se devuelve una matriz de rango 0 (escalar), cuyo valor se puede obtener llamando a `array.getObject ()`.
Cualquier cambio aplicado a los elementos devueltos también afecta a los datos de esta matriz, ya que no hay copia involucrada.
Tenga en cuenta que invocar este método es una forma equivalente y más eficiente de array.get(x, y, z)
esta matriz en un escalar único, es decir, array.get(x, y, z)
es igual a array.slice(at(x), at(y), at(z))
Parámetros
coordenadas | coordenadas del elemento para acceder, ninguno devolverá esta matriz |
---|
Devoluciones
- el elemento en este índice
public abstract Short getObject (long ... coordenadas)
Devuelve el valor del escalar encontrado en las coordenadas dadas.
Para acceder al elemento escalar, el número de coordenadas proporcionadas debe ser igual al número de dimensiones de esta matriz (es decir, su rango). Por ejemplo:
FloatNdArray matrix = NdArrays.ofFloats(shape(2, 2)); // matrix rank = 2
matrix.getObject(0, 1); // succeeds, returns 0.0f
matrix.getObject(0); // throws IllegalRankException
FloatNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getObject(); // succeeds, returns 0.0f
Nota: si esta matriz almacena valores de un tipo primitivo, prefiera el uso del método especializado en la subclase para ese tipo. Por ejemplo, floatArray.getFloat(0);
. Parámetros
coordenadas | coordenadas del escalar para resolver |
---|
Devoluciones
- valor de ese escalar
public abstract short getShort (coordenadas largas ...)
Devuelve el valor corto del escalar encontrado en las coordenadas dadas.
Para acceder al elemento escalar, el número de coordenadas proporcionadas debe ser igual al número de dimensiones de esta matriz (es decir, su rango). Por ejemplo:
ShortNdArray matrix = NdArrays.ofShorts(shape(2, 2)); // matrix rank = 2
matrix.getShort(0, 1); // succeeds, returns 0.0f
matrix.getShort(0); // throws IllegalRankException
ShortNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getShort(); // succeeds, returns 0.0f
Parámetros
coordenadas | coordenadas del escalar para resolver |
---|
Devoluciones
- valor de ese escalar
Lanza
IndexOutOfBoundsException | si algunas coordenadas están fuera de los límites de su dimensión respectiva |
---|---|
IllegalRankException | si el número de coordenadas no es suficiente para acceder a un elemento escalar |
público abstracto NdArraySequence < ShortNdArray > escalares ()
Devuelve una secuencia de todos los escalares de esta matriz.
Esto es equivalente a llamar a elements(shape().numDimensions() - 1)
Devoluciones
- una secuencia
NdArray
public abstract ShortNdArray setShort (valor corto, coordenadas largas ...)
Asigna el valor corto del escalar encontrado en las coordenadas dadas.
Para acceder al elemento escalar, el número de coordenadas proporcionadas debe ser igual al número de dimensiones de esta matriz (es decir, su rango). Por ejemplo:
ShortNdArray matrix = NdArrays.ofShorts(shape(2, 2)); // matrix rank = 2
matrix.setShort(10.0f, 0, 1); // succeeds
matrix.setShort(10.0f, 0); // throws IllegalRankException
ShortNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setShort(10.0f); // succeeds
Parámetros
valor | valor para asignar |
---|---|
coordenadas | coordenadas del escalar para asignar |
Devoluciones
- esta matriz
Lanza
IndexOutOfBoundsException | si algunas coordenadas están fuera de los límites de su dimensión respectiva |
---|---|
IllegalRankException | si el número de coordenadas no es suficiente para acceder a un elemento escalar |
abstracta pública ShortNdArray rebanada ( Índice ... coordenadas)
Crea una vista (o sector) multidimensional de esta matriz asignando una o más dimensiones a los selectores de índice dados.
Los cortes permiten atravesar una matriz N-dimensional en cualquiera de sus ejes y / o filtrar solo elementos de interés. Por ejemplo, para una matriz dada en los ejes [x, y]
, es posible iterar elementos en y=0
para todo x
.
Cualquier cambio aplicado al segmento devuelto afecta también a los datos de esta matriz, ya que no hay copia involucrada.
Ejemplo de uso:
FloatNdArray matrix3d = NdArrays.ofFloats(shape(3, 2, 4)); // with [x, y, z] axes
// Iterates elements on the x axis by preserving only the 3rd value on the z axis,
// (i.e. [x, y, 2])
matrix3d.slice(all(), all(), at(2)).elements(0).forEach(m -> {
assertEquals(shape(2), m); // y=2, z=0 (scalar)
);
// Creates a slice that contains only the last element of the y axis and elements with an
// odd `z` coordinate.
FloatNdArray slice = matrix3d.slice(all(), at(1), odd());
assertEquals(shape(3, 2), slice.shape()); // x=3, y=0 (scalar), z=2 (odd coordinates)
// Iterates backward the elements on the x axis
matrix3d.slice(flip()).elements(0).forEach(m -> {
assertEquals(shape(2, 4), m); // y=2, z=4
});
}
Parámetros
coordenadas | selectores de índice por dimensiones, comenzando desde la dimensión 0 de esta matriz. |
---|
Devoluciones
- el elemento resultante de la selección del índice