ShortNdArray

interface publique ShortNdArray
Sous-classes indirectes connues

Un NdArray de courts métrages.

Méthodes publiques

résumé ShortNdArray
copyTo ( NdArray <Court> dst)
abstrait NdArraySequence < ShortNdArray >
éléments (int dimensionIdx)
Renvoie une séquence de tous les éléments à une dimension donnée.
résumé ShortNdArray
obtenir (longues... coordonnées)
Renvoie l'élément à N dimensions de ce tableau aux coordonnées données.
résumé court
getObject (longues... coordonnées)
Renvoie la valeur du scalaire trouvé aux coordonnées données.
résumé court
getShort (coordonnées longues...)
Renvoie la valeur courte du scalaire trouvé aux coordonnées données.
résumé ShortNdArray
résumé ShortNdArray
lire ( DataBuffer <Short> dst)
abstrait NdArraySequence < ShortNdArray >
scalaires ()
Renvoie une séquence de tous les scalaires de ce tableau.
résumé ShortNdArray
set ( NdArray <Short> src, coordonnées longues...)
résumé ShortNdArray
setObject (valeur courte, coordonnées longues...)
résumé ShortNdArray
setShort (valeur courte, coordonnées longues...)
Attribue la valeur courte du scalaire trouvé aux coordonnées données.
résumé ShortNdArray
tranche ( Index... coordonnées)
Crée une vue (ou tranche) multidimensionnelle de ce tableau en mappant une ou plusieurs dimensions aux sélecteurs d'index donnés.
résumé ShortNdArray
résumé ShortNdArray
écrire ( DataBuffer <Short> src)

Méthodes héritées

Méthodes publiques

résumé public ShortNdArray copyTo ( NdArray <Short> dst)

public abstract NdArraySequence < ShortNdArray > éléments (int dimensionIdx)

Renvoie une séquence de tous les éléments à une dimension donnée.

Logiquement, le tableau à N dimensions peut être aplati en un seul vecteur, où les scalaires du (n - 1) ème élément précèdent ceux du (n) ème élément, pour un total de valeurs size() .

Par exemple, étant donné une matrice nxm sur les axes [x, y] , les éléments sont itérés dans l'ordre suivant :

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 séquence renvoyée peut ensuite être itérée pour visiter chaque élément, soit en appelant 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);
    });
 }

Paramètres
dimensionIdx indice de la dimension
Retours
  • une séquence NdArray

public abstract ShortNdArray get (coordonnées longues...)

Renvoie l'élément à N dimensions de ce tableau aux coordonnées données.

Des éléments de n’importe quelle dimension de ce tableau peuvent être récupérés. Par exemple, si le nombre de coordonnées est égal au nombre de dimensions de ce tableau, alors un tableau de rang 0 (scalaire) est renvoyé, dont la valeur peut ensuite être obtenue en appelant « array.getObject() ».

Toute modification appliquée aux éléments renvoyés affecte également les données de ce tableau, car aucune copie n'est impliquée.

Notez que l'invocation de cette méthode est un moyen équivalent et plus efficace de découper ce tableau sur un seul scalaire, c'est-à-dire que array.get(x, y, z) est égal à array.slice(at(x), at(y), at(z))

Paramètres
coordonnées coordonnées de l'élément auquel accéder, aucun ne renverra ce tableau
Retours
  • l'élément à cet index

public abstract Short getObject (coordonnées longues...)

Renvoie la valeur du scalaire trouvé aux coordonnées données.

Pour accéder à l'élément scalaire, le nombre de coordonnées fournies doit être égal au nombre de dimensions de ce tableau (c'est à dire son rang). Par exemple:

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
 
Remarque : si ce tableau stocke des valeurs d'un type primitif, préférez l'utilisation de la méthode spécialisée dans la sous-classe pour ce type. Par exemple, floatArray.getFloat(0); .

Paramètres
coordonnées coordonnées du scalaire à résoudre
Retours
  • valeur de ce scalaire

résumé public short getShort (coordonnées longues...)

Renvoie la valeur courte du scalaire trouvé aux coordonnées données.

Pour accéder à l'élément scalaire, le nombre de coordonnées fournies doit être égal au nombre de dimensions de ce tableau (c'est à dire son rang). Par exemple:

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
 

Paramètres
coordonnées coordonnées du scalaire à résoudre
Retours
  • valeur de ce scalaire
Jetés
IndexOutOfBoundsException si certaines coordonnées sont hors des limites de leur dimension respective
IllégalRankException si le nombre de coordonnées n'est pas suffisant pour accéder à un élément scalaire

lecture abstraite publique ShortNdArray ( ShortDataBuffer dst)

public abstrait ShortNdArray lu ( DataBuffer <Short> dst)

public abstrait NdArraySequence < ShortNdArray > scalaires ()

Renvoie une séquence de tous les scalaires de ce tableau.

Cela équivaut à appeler elements(shape().numDimensions() - 1)

Retours
  • une séquence NdArray

public abstract ShortNdArray set ( NdArray <Short> src, long... coordonnées)

public abstract ShortNdArray setObject (valeur courte, coordonnées longues...)

public abstract ShortNdArray setShort (valeur courte, coordonnées longues...)

Attribue la valeur courte du scalaire trouvé aux coordonnées données.

Pour accéder à l'élément scalaire, le nombre de coordonnées fournies doit être égal au nombre de dimensions de ce tableau (c'est à dire son rang). Par exemple:

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
 

Paramètres
valeur valeur à attribuer
coordonnées coordonnées du scalaire à attribuer
Retours
  • ce tableau
Jetés
IndexOutOfBoundsException si certaines coordonnées sont hors des limites de leur dimension respective
IllégalRankException si le nombre de coordonnées n'est pas suffisant pour accéder à un élément scalaire

tranche publique abstraite ShortNdArray (coordonnées Index... )

Crée une vue (ou tranche) multidimensionnelle de ce tableau en mappant une ou plusieurs dimensions aux sélecteurs d'index donnés.

Les tranches permettent de parcourir un tableau à N dimensions dans n'importe lequel de ses axes et/ou de filtrer uniquement les éléments d'intérêt. Par exemple, pour une matrice donnée sur les axes [x, y] , il est possible d'itérer les éléments à y=0 pour tous x .

Toute modification appliquée à la tranche renvoyée affecte également les données de ce tableau, car aucune copie n'est impliquée.

Exemple d'utilisation :

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

Paramètres
coordonnées sélecteurs d'index par dimensions, à partir de la dimension 0 de ce tableau.
Retours
  • l'élément résultant de la sélection de l'index

résumé public ShortNdArray écriture ( ShortDataBuffer src)

public abstrait ShortNdArray write ( DataBuffer <Short> src)