| Subclasses indiretas conhecidas |
Um NdArray de inteiros.
Métodos Públicos
| abstrato IntNdArray | |
| abstrato NdArraySequence < IntNdArray > | elementos (int dimensionIdx) Retorna uma sequência de todos os elementos em uma determinada dimensão. |
| abstrato IntNdArray | obter (longas ... coordenadas) Retorna o elemento N-dimensional desta matriz nas coordenadas fornecidas. |
| int abstrato | getInt (long ... coordinates) Retorna o valor inteiro do escalar encontrado nas coordenadas fornecidas. |
| inteiro abstrato | getObject (long ... coordinates) Retorna o valor do escalar encontrado nas coordenadas fornecidas. |
| abstrato IntNdArray | ler ( IntDataBuffer dst) |
| abstrato IntNdArray | ler ( DataBuffer <Integer> dst) |
| abstrato NdArraySequence < IntNdArray > | escalares () Retorna uma sequência de todos os escalares nesta matriz. |
| abstrato IntNdArray | |
| abstrato IntNdArray | setInt (valor int, long ... coordenadas) Atribui o valor inteiro do escalar encontrado nas coordenadas fornecidas. |
| abstrato IntNdArray | setObject (valor inteiro, long ... coordenadas) |
| abstrato IntNdArray | fatia ( índice ... índices) Cria uma visualização multidimensional (ou fatia) dessa matriz mapeando uma ou mais dimensões para os seletores de índice fornecidos. |
| abstrato IntNdArray | escrever ( DataBuffer <Integer> src) |
| abstrato IntNdArray | escrever ( IntDataBuffer src) |
Métodos herdados
Métodos Públicos
abstratos públicas NdArraySequence < IntNdArray > elementos (int dimensionIdx)
Retorna uma sequência de todos os elementos em uma determinada dimensão.
Logicamente, a matriz N-dimensional pode ser achatada em um único vetor, onde os escalares do (n - 1) elemento precede aqueles do (n) elemento, para um total de valores size() .
Por exemplo, dada uma matriz nxm nos eixos [x, y] , os elementos são iterados na seguinte ordem:
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
A sequência retornada pode então ser iterada para visitar cada elemento, chamando forEach(Consumer) ou 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 da dimensão |
|---|
Devoluções
- uma sequência
NdArray
public abstract IntNdArray get (long ... coordinates)
Retorna o elemento N-dimensional desta matriz nas coordenadas fornecidas.
Elementos de qualquer uma das dimensões desta matriz podem ser recuperados. Por exemplo, se o número de coordenadas é igual ao número de dimensões deste array, então um array de classificação 0 (escalar) é retornado, cujo valor pode então ser obtido chamando `array.getObject ()`.
Quaisquer alterações aplicadas aos elementos retornados afetam os dados desta matriz também, pois não há nenhuma cópia envolvida.
Observe que invocar este método é uma forma equivalente e mais eficiente de array.get(x, y, z) este array em um escalar único, ou seja, array.get(x, y, z) é igual a array.slice(at(x), at(y), at(z))
Parâmetros
| coordenadas | coordenadas do elemento a acessar, nenhuma retornará esta matriz |
|---|
Devoluções
- o elemento neste índice
public abstract int getInt (long ... coordinates)
Retorna o valor inteiro do escalar encontrado nas coordenadas fornecidas.
Para acessar o elemento escalar, o número de coordenadas fornecidas deve ser igual ao número de dimensões desta matriz (ou seja, sua classificação). Por exemplo:
IntNdArray matrix = NdArrays.ofInts(shape(2, 2)); // matrix rank = 2
matrix.getInt(0, 1); // succeeds, returns 0
matrix.getInt(0); // throws IllegalRankException
IntNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getInt(); // succeeds, returns 0
Parâmetros
| coordenadas | coordenadas do escalar para resolver |
|---|
Devoluções
- valor daquele escalar
Lança
| IndexOutOfBoundsException | se algumas coordenadas estão fora dos limites de suas respectivas dimensões |
|---|---|
| IllegalRankException | se o número de coordenadas não for suficiente para acessar um elemento escalar |
public abstract Integer getObject (long ... coordinates)
Retorna o valor do escalar encontrado nas coordenadas fornecidas.
Para acessar o elemento escalar, o número de coordenadas fornecidas deve ser igual ao número de dimensões desta matriz (ou seja, sua classificação). Por exemplo:
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: se este array armazena valores de um tipo primitivo, prefira o uso do método especializado na subclasse desse tipo. Por exemplo, floatArray.getFloat(0); . Parâmetros
| coordenadas | coordenadas do escalar para resolver |
|---|
Devoluções
- valor daquele escalar
public abstract NdArraySequence < IntNdArray > escalares ()
Retorna uma sequência de todos os escalares nesta matriz.
Isso é equivalente a elements(shape().numDimensions() - 1) chamada elements(shape().numDimensions() - 1)
Devoluções
- uma sequência
NdArray
public abstract IntNdArray setInt (int value, long ... coordinates)
Atribui o valor inteiro do escalar encontrado nas coordenadas fornecidas.
Para acessar o elemento escalar, o número de coordenadas fornecidas deve ser igual ao número de dimensões desta matriz (ou seja, sua classificação). Por exemplo:
IntNdArray matrix = NdArrays.ofInts(shape(2, 2)); // matrix rank = 2
matrix.setInt(10, 0, 1); // succeeds
matrix.setInt(10, 0); // throws IllegalRankException
IntNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setInt(10); // succeeds
Parâmetros
| valor | valor para atribuir |
|---|---|
| coordenadas | coordenadas do escalar para atribuir |
Devoluções
- esta matriz
Lança
| IndexOutOfBoundsException | se algumas coordenadas estão fora dos limites de suas respectivas dimensões |
|---|---|
| IllegalRankException | se o número de coordenadas não for suficiente para acessar um elemento escalar |
Fatia IntNdArray abstrata pública ( Índice ... índices)
Cria uma visualização multidimensional (ou fatia) dessa matriz mapeando uma ou mais dimensões para os seletores de índice fornecidos.
As fatias permitem atravessar uma matriz N-dimensional em qualquer um de seus eixos e / ou filtrar apenas os elementos de interesse. Por exemplo, para uma dada matriz nos eixos [x, y] , é possível iterar elementos em y=0 para todos os x .
Quaisquer alterações aplicadas à fatia retornada afetam os dados dessa matriz também, pois não há nenhuma cópia envolvida.
Exemplo 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
| índices | seletores de índice por dimensões, começando na dimensão 0 desta matriz. |
|---|
Devoluções
- o elemento resultante da seleção do índice