Bilinen Dolaylı Alt Sınıflar |
Booleanlardan oluşan bir NdArray
.
Genel Yöntemler
soyut BooleanNdArray | |
soyut NdArraySequence < BooleanNdArray > | öğeler (int sizeIdx) Belirli bir boyuttaki tüm öğelerin sırasını döndürür. |
soyut BooleanNdArray | get (uzun... koordinatlar) Verilen koordinatlarda bu dizinin N boyutlu öğesini döndürür. |
soyut boole | getBoolean (uzun... koordinatlar) Verilen koordinatlarda bulunan skalerin boole değerini döndürür. |
soyut Boolean | getObject (uzun... koordinatlar) Verilen koordinatlarda bulunan skalerin değerini döndürür. |
soyut BooleanNdArray | oku ( DataBuffer <Boolean> dst) |
soyut BooleanNdArray | oku ( BooleanDataBuffer dst) |
soyut NdArraySequence < BooleanNdArray > | skalerler () Bu dizideki tüm skalerlerin sırasını döndürür. |
soyut BooleanNdArray | |
soyut BooleanNdArray | setBoolean (boole değeri, uzun... koordinatlar) Verilen koordinatlarda bulunan skalerin boole değerini atar. |
soyut BooleanNdArray | setObject (Boole değeri, uzun... koordinatlar) |
soyut BooleanNdArray | |
soyut BooleanNdArray | yaz ( DataBuffer <Boolean> kaynağı) |
soyut BooleanNdArray | yaz ( BooleanDataBuffer src) |
Kalıtsal Yöntemler
Genel Yöntemler
genel özet NdArraySequence < BooleanNdArray > öğeler (int sizeIdx)
Belirli bir boyuttaki tüm öğelerin sırasını döndürür.
Mantıksal olarak, N boyutlu dizi, toplam size()
değerleri için (n - 1)
'inci elemanın skalerlerinin (n)
'inci elemanın skalerlerinden önce geldiği tek bir vektörde düzleştirilebilir.
Örneğin, [x, y]
eksenlerinde bir nxm
matrisi verildiğinde, öğeler aşağıdaki sırayla yinelenir:
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
Döndürülen dizi daha sonra forEach(Consumer)
veya forEachIndexed(BiConsumer)
çağrılarak her bir öğeyi ziyaret etmek için yinelenebilir.
// 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);
});
}
Parametreler
boyutIdx | boyut indeksi |
---|
İade
- bir
NdArray
dizisi
genel özet BooleanNdArray get (uzun... koordinatlar)
Verilen koordinatlarda bu dizinin N boyutlu öğesini döndürür.
Bu dizinin herhangi bir boyutunun elemanları alınabilir. Örneğin, koordinat sayısı bu dizinin boyut sayısına eşitse, bu durumda sıra-0 (skaler) bir dizi döndürülür ve bu değer daha sonra 'array.getObject()' çağrılarak elde edilebilir.
Döndürülen öğelere uygulanan herhangi bir değişiklik, herhangi bir kopya olmadığından bu dizinin verilerini de etkiler.
Bu yöntemi çağırmanın, bu diziyi tek bir skalere göre dilimlemenin eşdeğer ve daha etkili bir yolu olduğunu unutmayın; yani array.get(x, y, z)
array.slice(at(x), at(y), at(z))
değerine eşittir. array.slice(at(x), at(y), at(z))
Parametreler
koordinatlar | erişilecek öğenin koordinatları, hiçbiri bu diziyi döndürmez |
---|
İade
- bu indeksteki eleman
genel soyut boolean getBoolean (uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin boole değerini döndürür.
Skaler öğeye erişmek için sağlanan koordinatların sayısı bu dizinin boyut sayısına (yani sırasına) eşit olmalıdır. Örneğin:
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
Parametreler
koordinatlar | çözülecek skalerin koordinatları |
---|
İade
- bu skalerin değeri
Atar
IndexOutOfBoundsException | bazı koordinatlar ilgili boyutların sınırlarının dışındaysa |
---|---|
Yasadışı Sıra İstisnası | skaler bir öğeye erişmek için koordinat sayısı yeterli değilse |
genel özet Boolean getObject (uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin değerini döndürür.
Skaler öğeye erişmek için sağlanan koordinatların sayısı bu dizinin boyut sayısına (yani sırasına) eşit olmalıdır. Örneğin:
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
Not: Bu dizi ilkel bir türün değerlerini saklıyorsa, o tür için alt sınıfta özel yöntemin kullanımını tercih edin. Örneğin, floatArray.getFloat(0);
. Parametreler
koordinatlar | çözülecek skalerin koordinatları |
---|
İade
- bu skalerin değeri
genel özet NdArraySequence < BooleanNdArray > skalerler ()
Bu dizideki tüm skalerlerin sırasını döndürür.
Bu elements(shape().numDimensions() - 1)
çağrısına eşdeğerdir.
İade
- bir
NdArray
dizisi
genel özet BooleanNdArray setBoolean (boole değeri, uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin boole değerini atar.
Skaler öğeye erişmek için sağlanan koordinatların sayısı bu dizinin boyut sayısına (yani sırasına) eşit olmalıdır. Örneğin:
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
Parametreler
değer | atanacak değer |
---|---|
koordinatlar | atanacak skalerin koordinatları |
İade
- bu dizi
Atar
IndexOutOfBoundsException | bazı koordinatlar ilgili boyutların sınırlarının dışındaysa |
---|---|
Yasadışı Sıra İstisnası | skaler bir öğeye erişmek için koordinat sayısı yeterli değilse |
genel özet BooleanNdArray dilimi ( Dizin... endeksleri)
Bir veya daha fazla boyutu verilen dizin seçicilerle eşleyerek bu dizinin çok boyutlu bir görünümünü (veya dilimini) oluşturur.
Dilimler, N boyutlu bir diziyi herhangi bir eksende hareket ettirmeye ve/veya yalnızca ilgilenilen öğeleri filtrelemeye olanak tanır. Örneğin, [x, y]
eksenlerindeki belirli bir matris için, tüm x
için y=0
noktasında yinelenen öğeler mümkündür.
Döndürülen dilime uygulanan herhangi bir değişiklik, herhangi bir kopya olmadığından bu dizinin verilerini de etkiler.
Kullanım örneği:
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
});
}
Parametreler
endeksler | bu dizinin 0 boyutundan başlayarak boyut başına dizin seçiciler. |
---|
İade
- indeks seçiminin sonucunda ortaya çıkan eleman