ByteNdArray

interfaz pública ByteNdArray
Subclases indirectas conocidas

Un NdArray de bytes.

Métodos públicos

resumen ByteNdArray
copiarA ( NdArray <Byte> dst)
resumen NdArraySequence < ByteNdArray >
elementos (int dimensiónIdx)
Devuelve una secuencia de todos los elementos en una dimensión determinada.
resumen ByteNdArray
obtener (coordenadas largas...)
Devuelve el elemento N-dimensional de esta matriz en las coordenadas dadas.
byte abstracto
getByte (coordenadas largas...)
Devuelve el valor en bytes del escalar encontrado en las coordenadas dadas.
byte abstracto
getObject (coordenadas largas...)
Devuelve el valor del escalar encontrado en las coordenadas dadas.
resumen ByteNdArray
leer ( DataBuffer <Byte> dst)
resumen ByteNdArray
leer ( ByteDataBuffer horario de verano)
resumen NdArraySequence < ByteNdArray >
escalares ()
Devuelve una secuencia de todos los escalares de esta matriz.
resumen ByteNdArray
set ( NdArray <Byte> src, coordenadas largas...)
resumen ByteNdArray
setByte (valor de byte, coordenadas largas...)
Asigna el valor en bytes del escalar encontrado en las coordenadas dadas.
resumen ByteNdArray
setObject (Valor de byte, coordenadas largas...)
resumen ByteNdArray
sector ( Índice... índices)
Crea una vista (o segmento) multidimensional de esta matriz asignando una o más dimensiones a los selectores de índice dados.
resumen ByteNdArray
resumen ByteNdArray
escribir ( DataBuffer <Byte> src)

Métodos heredados

Métodos públicos

copyTo de ByteNdArray abstracto público ( NdArray <Byte> dst)

elementos NdArraySequence <ByteNdArray> abstractos públicos (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 preceden 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

Luego, la secuencia devuelta se puede iterar para visitar cada elemento, ya sea llamando 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
dimensiónIdx índice de la dimensión
Devoluciones
  • una secuencia NdArray

resumen público ByteNdArray 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, entonces 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 ninguna copia involucrada.

Tenga en cuenta que invocar este método es una forma equivalente y más eficiente de dividir esta matriz en un solo escalar, es decir, array.get(x, y, z) es igual a array.slice(at(x), at(y), at(z))

Parámetros
coordenadas coordenadas del elemento a acceder, ninguno devolverá esta matriz
Devoluciones
  • el elemento en este índice

byte abstracto público getByte (coordenadas largas...)

Devuelve el valor en bytes 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:

ByteNdArray matrix = NdArrays.ofBytes(shape(2, 2));  // matrix rank = 2
  matrix.getByte(0, 1);  // succeeds, returns 0
  matrix.getByte(0);  // throws IllegalRankException

  ByteNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getByte();  // succeeds, returns 0
 

Parámetros
coordenadas coordenadas del escalar para resolver
Devoluciones
  • valor de ese escalar
Lanza
Excepción IndexOutOfBounds si algunas coordenadas están fuera de los límites de su dimensión respectiva
Excepción de rango ilegal si el número de coordenadas no es suficiente para acceder a un elemento escalar

Byte abstracto público getObject (coordenadas largas...)

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

lectura pública abstracta de ByteNdArray ( DataBuffer <Byte> dst)

lectura pública abstracta de ByteNdArray ( ByteDataBuffer dst)

resumen público NdArraySequence < ByteNdArray > escalares ()

Devuelve una secuencia de todos los escalares de esta matriz.

Esto es equivalente a llamar elements(shape().numDimensions() - 1)

Devoluciones
  • una secuencia NdArray

conjunto de ByteNdArray abstracto público ( NdArray <Byte> src, coordenadas largas...)

resumen público ByteNdArray setByte (valor de byte, coordenadas largas...)

Asigna el valor de byte 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:

ByteNdArray matrix = NdArrays.ofBytes(shape(2, 2));  // matrix rank = 2
  matrix.setByte(10, 0, 1);  // succeeds
  matrix.setByte(10, 0);  // throws IllegalRankException

  ByteNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setByte(10);  // succeeds
 

Parámetros
valor el valor a asignar
coordenadas coordenadas del escalar a asignar
Devoluciones
  • esta matriz
Lanza
Excepción IndexOutOfBounds si algunas coordenadas están fuera de los límites de su dimensión respectiva
Excepción de rango ilegal si el número de coordenadas no es suficiente para acceder a un elemento escalar

público abstracto ByteNdArray setObject (valor de byte, coordenadas largas...)

segmento ByteNdArray abstracto público ( Índice... índices)

Crea una vista (o segmento) multidimensional de esta matriz asignando una o más dimensiones a los selectores de índice dados.

Los cortes permiten recorrer 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 también afecta a los datos de esta matriz, ya que no hay ninguna 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
índices selectores de índice por dimensiones, comenzando desde la dimensión 0 de esta matriz.
Devoluciones
  • el elemento resultante de la selección del índice

escritura pública abstracta ByteNdArray ( ByteDataBuffer src)

escritura pública abstracta ByteNdArray ( DataBuffer <Byte> src)