Subclasses indiretas conhecidas |
Um NdArray
de booleanos.
Métodos Públicos
BooleanNdArray abstrato | |
abstrato NdArraySequence < BooleanNdArray > | elementos (int dimensionIdx) Retorna uma sequência de todos os elementos em uma determinada dimensão. |
BooleanNdArray abstrato | obter (longas ... coordenadas) Retorna o elemento N-dimensional desta matriz nas coordenadas fornecidas. |
booleano abstrato | getBoolean (long ... coordinates) Retorna o valor booleano do escalar encontrado nas coordenadas fornecidas. |
booleano abstrato | getObject (long ... coordinates) Retorna o valor do escalar encontrado nas coordenadas fornecidas. |
BooleanNdArray abstrato | ler ( DataBuffer <Boolean> dst) |
BooleanNdArray abstrato | ler ( BooleanDataBuffer dst) |
abstrato NdArraySequence < BooleanNdArray > | escalares () Retorna uma sequência de todos os escalares nesta matriz. |
BooleanNdArray abstrato | |
BooleanNdArray abstrato | setBoolean (valor booleano, long ... coordenadas) Atribui o valor booleano do escalar encontrado nas coordenadas fornecidas. |
BooleanNdArray abstrato | setObject (valor booleano, long ... coordenadas) |
BooleanNdArray abstrato | fatia ( índice ... índices) Cria uma visualização multidimensional (ou fatia) dessa matriz mapeando uma ou mais dimensões para os seletores de índice fornecidos. |
BooleanNdArray abstrato | escrever ( DataBuffer <Boolean> src) |
BooleanNdArray abstrato | escrever ( BooleanDataBuffer src) |
Métodos herdados
Métodos Públicos
abstratos públicas NdArraySequence < BooleanNdArray > 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 de 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 BooleanNdArray 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 boolean getBoolean (long ... coordinates)
Retorna o valor booleano 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:
BooleanNdArray matrix = NdArrays.ofBooleans(shape(2, 2)); // matrix rank = 2
matrix.getBoolean(0, 1); // succeeds, returns false
matrix.getBoolean(0); // throws IllegalRankException
BooleanNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getBoolean(); // succeeds, returns false
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 Boolean 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 < BooleanNdArray > escalares ()
Retorna uma sequência de todos os escalares nesta matriz.
Isso é equivalente a chamar elements(shape().numDimensions() - 1)
Devoluções
- uma sequência
NdArray
public abstract BooleanNdArray setBoolean (valor booleano, long ... coordenadas)
Atribui o valor booleano 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:
BooleanNdArray matrix = NdArrays.ofBooleans(shape(2, 2)); // matrix rank = 2
matrix.setBoolean(true, 0, 1); // succeeds
matrix.setBoolean(true, 0); // throws IllegalRankException
BooleanNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setBoolean(true); // succeeds
Parâmetros
valor | o valor a ser atribuído |
---|---|
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 BooleanNdArray 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