BooleanNdArray

interfaccia pubblica BooleanNdArray
Sottoclassi indirette conosciute

Un NdArray di booleani.

Metodi pubblici

BooleanNdArray astratto
copyTo ( NdArray <Booleano> dst)
abstract NdArraySequence < BooleanNdArray >
elementi (int dimensionIdx)
Restituisce una sequenza di tutti gli elementi in una determinata dimensione.
BooleanNdArray astratto
get (coordinate lunghe...)
Restituisce l'elemento N-dimensionale di questo array alle coordinate specificate.
booleano astratto
getBoolean (coordinate lunghe...)
Restituisce il valore booleano dello scalare trovato alle coordinate specificate.
booleano astratto
getObject (coordinate lunghe...)
Restituisce il valore dello scalare trovato alle coordinate specificate.
BooleanNdArray astratto
lettura ( DataBuffer <Booleano> dst)
BooleanNdArray astratto
abstract NdArraySequence < BooleanNdArray >
scalari ()
Restituisce una sequenza di tutti gli scalari in questo array.
BooleanNdArray astratto
set ( NdArray <Boolean> src, long... coordinate)
BooleanNdArray astratto
setBoolean (valore booleano, coordinate lunghe...)
Assegna il valore booleano dello scalare trovato alle coordinate specificate.
BooleanNdArray astratto
setObject (valore booleano, coordinate lunghe...)
BooleanNdArray astratto
fetta ( Indice... indici)
Crea una vista (o sezione) multidimensionale di questo array mappando una o più dimensioni ai selettori di indice specificati.
BooleanNdArray astratto
scrivere ( DataBuffer <Boolean> src)
BooleanNdArray astratto

Metodi ereditati

Metodi pubblici

public abstract BooleanNdArray copyTo ( NdArray <Boolean> dst)

elementi astratti pubblici NdArraySequence < BooleanNdArray > (int dimensionIdx)

Restituisce una sequenza di tutti gli elementi in una determinata dimensione.

Logicamente, l'array N-dimensionale può essere appiattito in un singolo vettore, dove gli scalari dell' (n - 1) esimo elemento precedono quelli dell' (n) esimo elemento, per un totale di valori size() .

Ad esempio, data una matrice nxm sugli assi [x, y] , gli elementi vengono iterati nel seguente ordine:

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 sequenza restituita può quindi essere ripetuta per visitare ciascun elemento, chiamando 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);
    });
 }

Parametri
dimensioneIdx indice della dimensione
Ritorni
  • una sequenza NdArray

public abstract BooleanNdArray get (coordinate lunghe...)

Restituisce l'elemento N-dimensionale di questo array alle coordinate specificate.

È possibile recuperare elementi di qualsiasi dimensione di questo array. Ad esempio, se il numero di coordinate è uguale al numero di dimensioni di questo array, viene restituito un array di rango 0 (scalare), il cui valore può quindi essere ottenuto chiamando `array.getObject()`.

Qualsiasi modifica applicata agli elementi restituiti influisce anche sui dati di questo array, poiché non è coinvolta alcuna copia.

Tieni presente che invocare questo metodo è un modo equivalente e più efficiente per suddividere questo array su un singolo scalare, ovvero array.get(x, y, z) è uguale a array.slice(at(x), at(y), at(z))

Parametri
coordinate coordinate dell'elemento a cui accedere, nessuno restituirà questo array
Ritorni
  • l'elemento in questo indice

public abstract boolean getBoolean (coordinate lunghe...)

Restituisce il valore booleano dello scalare trovato alle coordinate specificate.

Per accedere all'elemento scalare, il numero di coordinate fornite deve essere uguale al numero di dimensioni di questo array (cioè al suo rango). Per esempio:

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
 

Parametri
coordinate coordinate dello scalare da risolvere
Ritorni
  • valore di quello scalare
Lancia
IndexOutOfBoundsException se alcune coordinate sono fuori dai limiti della loro rispettiva dimensione
IllegalRankException se il numero di coordinate non è sufficiente per accedere a un elemento scalare

public abstract Boolean getObject (coordinate lunghe...)

Restituisce il valore dello scalare trovato alle coordinate specificate.

Per accedere all'elemento scalare, il numero di coordinate fornite deve essere uguale al numero di dimensioni di questo array (cioè al suo rango). Per esempio:

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 questo array memorizza valori di tipo primitivo, è preferibile l'utilizzo del metodo specializzato nella sottoclasse per quel tipo. Ad esempio, floatArray.getFloat(0); .

Parametri
coordinate coordinate dello scalare da risolvere
Ritorni
  • valore di quello scalare

lettura astratta pubblica BooleanNdArray ( DataBuffer <Boolean> dst)

lettura astratta pubblica BooleanNdArray ( BooleanDataBuffer dst)

public abstract NdArraySequence < BooleanNdArray > scalars ()

Restituisce una sequenza di tutti gli scalari in questo array.

Ciò equivale a chiamare elements(shape().numDimensions() - 1)

Ritorni
  • una sequenza NdArray

public abstract BooleanNdArray set ( NdArray <Boolean> src, long... coordinate)

public abstract BooleanNdArray setBoolean (valore booleano, coordinate lunghe...)

Assegna il valore booleano dello scalare trovato alle coordinate specificate.

Per accedere all'elemento scalare, il numero di coordinate fornite deve essere uguale al numero di dimensioni di questo array (cioè al suo rango). Per esempio:

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
 

Parametri
valore il valore da assegnare
coordinate coordinate dello scalare da assegnare
Ritorni
  • questa matrice
Lancia
IndexOutOfBoundsException se alcune coordinate sono fuori dai limiti della loro rispettiva dimensione
IllegalRankException se il numero di coordinate non è sufficiente per accedere a un elemento scalare

public abstract BooleanNdArray setObject (valore booleano, coordinate lunghe...)

public abstract BooleanNdArray slice ( Indice... indici)

Crea una vista (o sezione) multidimensionale di questo array mappando una o più dimensioni ai selettori di indice specificati.

Le fette consentono di attraversare un array N-dimensionale in uno qualsiasi dei suoi assi e/o di filtrare solo gli elementi di interesse. Ad esempio, per una determinata matrice sugli assi [x, y] , è possibile iterare gli elementi in y=0 per tutti x .

Qualsiasi modifica applicata alla sezione restituita influisce anche sui dati di questo array, poiché non è coinvolta alcuna copia.

Esempio di utilizzo:

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
    });
 }

Parametri
indici selettori di indice per dimensione, a partire dalla dimensione 0 di questo array.
Ritorni
  • l'elemento risultante dalla selezione dell'indice

scrittura astratta pubblica BooleanNdArray ( DataBuffer <Boolean> src)

scrittura astratta pubblica BooleanNdArray ( BooleanDataBuffer src)