Znane podklasy pośrednie |
NdArray
szortów.
Metody publiczne
abstrakcyjna ShortNdArray | |
streszczenie NdArraySequence < ShortNdArray > | elementy (int wymiarIdx) Zwraca sekwencję wszystkich elementów w danym wymiarze. |
abstrakcyjna ShortNdArray | uzyskać (długie... współrzędne) Zwraca element N-wymiarowy tej tablicy o podanych współrzędnych. |
streszczenie Krótkie | getObject (długie... współrzędne) Zwraca wartość skalara znalezionego przy podanych współrzędnych. |
streszczenie krótkie | getShort (długie... współrzędne) Zwraca krótką wartość skalara znalezionego przy podanych współrzędnych. |
abstrakcyjna ShortNdArray | czytaj ( ShortDataBuffer dst) |
abstrakcyjna ShortNdArray | czytaj ( Bufor danych <Short> dst) |
streszczenie NdArraySequence < ShortNdArray > | skalary () Zwraca sekwencję wszystkich skalarów w tej tablicy. |
abstrakcyjna ShortNdArray | |
abstrakcyjna ShortNdArray | setObject (Krótka wartość, długie... współrzędne) |
abstrakcyjna ShortNdArray | setShort (krótka wartość, długie... współrzędne) Przypisuje krótką wartość skalara znalezionego przy podanych współrzędnych. |
abstrakcyjna ShortNdArray | |
abstrakcyjna ShortNdArray | napisz ( ShortDataBuffer src) |
abstrakcyjna ShortNdArray | napisz ( Bufor danych <Short> src) |
Metody dziedziczone
Metody publiczne
publiczne streszczenie NdArraySequence < ShortNdArray > elementy (int DimensionIdx)
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 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 ShortNdArray 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
public streszczenie Krótki 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
floatArray.getFloat(0);
. Parametry
współrzędne | współrzędne skalara do rozwiązania |
---|
Powroty
- wartość tego skalara
publiczna abstrakcja krótka getShort (długie... współrzędne)
Zwraca krótką 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:
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
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 |
publiczne streszczenie NdArraySequence < ShortNdArray > skalary ()
Zwraca sekwencję wszystkich skalarów w tej tablicy.
Jest to równoważne wywołaniu elements(shape().numDimensions() - 1)
Powroty
- sekwencja
NdArray
public streszczenie ShortNdArray setShort (krótka wartość, długie... współrzędne)
Przypisuje krótką 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:
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
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 |
publiczny streszczenie ShortNdArray plasterek (współrzędne indeksu... )
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
współrzędne | selektory indeksu według wymiarów, zaczynając od wymiaru 0 tej tablicy. |
---|
Powroty
- element wynikający z wyboru indeksu