LongNdArray

genel arayüz LongNdArray
Bilinen Dolaylı Alt Sınıflar

Uzunlardan oluşan bir NdArray .

Genel Yöntemler

soyut LongNdArray
copyTo ( NdArray <Uzun> dst)
soyut NdArraySequence < LongNdArray >
öğeler (int sizeIdx)
Belirli bir boyuttaki tüm öğelerin sırasını döndürür.
soyut LongNdArray
get (uzun... koordinatlar)
Verilen koordinatlarda bu dizinin N boyutlu öğesini döndürür.
soyut uzun
getLong (uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin uzun değerini döndürür.
özet Uzun
getObject (uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin değerini döndürür.
soyut LongNdArray
oku ( DataBuffer <Uzun> dst)
soyut LongNdArray
soyut NdArraySequence < LongNdArray >
skalerler ()
Bu dizideki tüm skalerlerin sırasını döndürür.
soyut LongNdArray
set ( NdArray <Long> src, long... koordinatlar)
soyut LongNdArray
setLong (uzun değer, uzun... koordinatlar)
Verilen koordinatlarda bulunan skalerin uzun değerini atar.
soyut LongNdArray
setObject (Uzun değer, uzun... koordinatlar)
soyut LongNdArray
dilim ( İndeks... indeksler)
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.
soyut LongNdArray
soyut LongNdArray
yaz ( DataBuffer <Uzun> kaynak)

Kalıtsal Yöntemler

Genel Yöntemler

genel özet LongNdArray copyTo ( NdArray <Long> dst)

genel özet NdArraySequence < LongNdArray > öğeleri (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 LongNdArray 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 özet long getLong (uzun... koordinatlar)

Verilen koordinatlarda bulunan skalerin uzun 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:

LongNdArray matrix = NdArrays.ofLongs(shape(2, 2));  // matrix rank = 2
  matrix.getLong(0, 1);  // succeeds, returns 0L
  matrix.getLong(0);  // throws IllegalRankException

  LongNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getLong();  // succeeds, returns 0L
 

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 Uzun 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 türden değerleri 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 LongNdArray okuması ( DataBuffer <Long> dst)

genel özet LongNdArray okuması ( LongDataBuffer dst)

genel özet NdArraySequence < LongNdArray > 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 LongNdArray seti ( NdArray <Long> src, long... koordinatlar)

genel özet LongNdArray setLong (uzun değer, uzun... koordinatlar)

Verilen koordinatlarda bulunan skalerin uzun 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:

LongNdArray matrix = NdArrays.ofLongs(shape(2, 2));  // matrix rank = 2
  matrix.setLong(10L, 0, 1);  // succeeds
  matrix.setLong(10L, 0);  // throws IllegalRankException

  LongNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setLong(10L);  // 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 LongNdArray setObject (Uzun değer, uzun... koordinatlar)

genel özet LongNdArray 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 değerleri için öğeleri y=0 yinelemek 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

genel özet LongNdArray yazma ( LongDataBuffer src)

genel özet LongNdArray yazma ( DataBuffer <Long> src)