ByteNdArray

interfejs publiczny ByteNdArray
Znane podklasy pośrednie

NdArray bajtów.

Metody publiczne

abstrakcyjna tablica bajtów
copyTo ( NdArray <bajt> dst)
streszczenie NdArraySequence < ByteNdArray >
elementy (int wymiarIdx)
Zwraca sekwencję wszystkich elementów w danym wymiarze.
abstrakcyjna tablica bajtów
uzyskać (długie... współrzędne)
Zwraca element N-wymiarowy tej tablicy o podanych współrzędnych.
bajt abstrakcyjny
getByte (długie... współrzędne)
Zwraca wartość bajtu skalara znalezionego przy podanych współrzędnych.
abstrakcyjny bajt
getObject (długie... współrzędne)
Zwraca wartość skalara znalezionego przy podanych współrzędnych.
abstrakcyjna tablica bajtów
czytaj ( Bufor danych <bajt> dst)
abstrakcyjna tablica bajtów
streszczenie NdArraySequence < ByteNdArray >
skalary ()
Zwraca sekwencję wszystkich skalarów w tej tablicy.
abstrakcyjna tablica bajtów
set ( NdArray <Byte> src, długie... współrzędne)
abstrakcyjna tablica bajtów
setByte (wartość bajtu, długie... współrzędne)
Przypisuje wartość bajtową skalara znalezionego przy podanych współrzędnych.
abstrakcyjna tablica bajtów
setObject (Wartość bajtu, długie... współrzędne)
abstrakcyjna tablica bajtów
plasterek ( Indeks... indeksy)
Tworzy wielowymiarowy widok (lub wycinek) tej tablicy, mapując jeden lub więcej wymiarów na dane selektory indeksu.
abstrakcyjna tablica bajtów
abstrakcyjna tablica bajtów
zapis ( Bufor danych <bajt> src)

Metody dziedziczone

Metody publiczne

publiczna abstrakcja ByteNdArray copyTo ( NdArray <Byte> dst)

publiczne streszczenie NdArraySequence < ByteNdArray > elementy (int wymiarIdx)

Zwraca sekwencję wszystkich elementów w danym wymiarze.

Logicznie rzecz biorąc, tablicę N-wymiarową można spłaszczyć w pojedynczym wektorze, gdzie skalary (n - 1) -tego elementu poprzedzają skalary (n) -tego elementu, co daje w sumie wartości size() .

Na przykład, mając macierz nxm na osiach [x, y] , elementy są iterowane w następującej kolejności:

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

Zwróconą sekwencję można następnie iterować, aby odwiedzić każdy element, wywołując funkcję forEach(Consumer) lub 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);
    });
 }

Parametry
wymiarIdx indeks wymiaru
Powroty
  • sekwencja NdArray

publiczna abstrakcja ByteNdArray get (długie... współrzędne)

Zwraca element N-wymiarowy tej tablicy o podanych współrzędnych.

Można pobrać elementy dowolnego wymiaru tej tablicy. Na przykład, jeśli liczba współrzędnych jest równa liczbie wymiarów tej tablicy, zwracana jest tablica o randze 0 (skalarna), której wartość można następnie uzyskać wywołując funkcję `array.getObject()`.

Wszelkie zmiany zastosowane do zwróconych elementów wpływają również na dane tej tablicy, ponieważ nie ma w tym przypadku żadnej kopii.

Należy zauważyć, że wywołanie tej metody jest równoważnym i skuteczniejszym sposobem podzielenia tej tablicy na pojedynczy skalar, tj. array.get(x, y, z) jest równe array.slice(at(x), at(y), at(z))

Parametry
współrzędne współrzędne elementu, do którego chcesz uzyskać dostęp, żadna nie zwróci tej tablicy
Powroty
  • element o tym indeksie

publiczny bajt abstrakcyjny getByte (długie... współrzędne)

Zwraca wartość bajtu skalara znalezionego przy podanych współrzędnych.

Aby uzyskać dostęp do elementu skalarnego, liczba podanych współrzędnych musi być równa liczbie wymiarów tej tablicy (tzn. jej rangi). Na przykład:

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
 

Parametry
współrzędne współrzędne skalara do rozwiązania
Powroty
  • wartość tego skalara
Rzuca
Wyjątek IndexOutOfBounds jeśli niektóre współrzędne znajdują się poza granicami ich odpowiednich wymiarów
Wyjątek IllegalRank jeśli liczba współrzędnych nie jest wystarczająca, aby uzyskać dostęp do elementu skalarnego

public streszczenie Bajt getObject (długie... współrzędne)

Zwraca wartość skalara znalezionego przy podanych współrzędnych.

Aby uzyskać dostęp do elementu skalarnego, liczba podanych współrzędnych musi być równa liczbie wymiarów tej tablicy (tzn. jej rangi). Na przykład:

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
 
Uwaga: jeśli ta tablica przechowuje wartości typu pierwotnego, preferuj użycie metody wyspecjalizowanej w podklasie tego typu. Na przykład floatArray.getFloat(0); .

Parametry
współrzędne współrzędne skalara do rozwiązania
Powroty
  • wartość tego skalara

publiczny odczyt ByteNdArray ( Bufor danych <bajt> dst)

publiczny streszczenie ByteNdArray odczytany ( ByteDataBuffer dst)

publiczne streszczenie NdArraySequence < ByteNdArray > skalary ()

Zwraca sekwencję wszystkich skalarów w tej tablicy.

Jest to równoważne wywołaniu elements(shape().numDimensions() - 1)

Powroty
  • sekwencja NdArray

publiczny zestaw abstrakcyjny ByteNdArray ( NdArray <Byte> src, długie... współrzędne)

public streszczenie ByteNdArray setByte (wartość bajtu, długie... współrzędne)

Przypisuje wartość bajtową skalara znalezionego przy podanych współrzędnych.

Aby uzyskać dostęp do elementu skalarnego, liczba podanych współrzędnych musi być równa liczbie wymiarów tej tablicy (tzn. jej rangi). Na przykład:

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
 

Parametry
wartość wartość do przypisania
współrzędne współrzędne skalara do przypisania
Powroty
  • ten układ
Rzuca
Wyjątek IndexOutOfBounds jeśli niektóre współrzędne znajdują się poza granicami ich odpowiednich wymiarów
Wyjątek IllegalRank jeśli liczba współrzędnych nie jest wystarczająca, aby uzyskać dostęp do elementu skalarnego

public streszczenie ByteNdArray setObject (Wartość bajtu, długie... współrzędne)

publiczny streszczenie ByteNdArray plasterek ( indeks... indeksy)

Tworzy wielowymiarowy widok (lub wycinek) tej tablicy, mapując jeden lub więcej wymiarów na dane selektory indeksu.

Plasterki umożliwiają przechodzenie przez N-wymiarową tablicę w dowolnej jej osi i/lub filtrowanie tylko interesujących ją elementów. Na przykład dla danej macierzy na osiach [x, y] możliwe jest iterowanie elementów przy y=0 dla wszystkich x .

Wszelkie zmiany zastosowane do zwróconego wycinka wpływają również na dane tej tablicy, ponieważ nie ma w tym przypadku żadnej kopii.

Przykład użycia:

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

Parametry
indeksy selektory indeksu według wymiarów, zaczynając od wymiaru 0 tej tablicy.
Powroty
  • element będący wynikiem wyboru indeksu

publiczny zapis abstrakcyjny ByteNdArray ( ByteDataBuffer src)

publiczny zapis abstrakcyjny ByteNdArray ( DataBuffer <Byte> src)