DoubleNdArray

الواجهة العامة DoubleNdArray
الفئات الفرعية غير المباشرة المعروفة

NdArray من الزوجي.

الأساليب العامة

مجردة DoubleNdArray
CopyTo ( NdArray <Double> dst)
مجردة NdArraySequence < DoubleNdArray >
العناصر (int DimensionIdx)
إرجاع تسلسل لجميع العناصر في بعد معين.
مجردة DoubleNdArray
الحصول على (طويلة... الإحداثيات)
تُرجع العنصر N-الأبعاد لهذه المصفوفة عند الإحداثيات المحددة.
مجردة مزدوجة
getDouble (إحداثيات طويلة)
إرجاع القيمة المزدوجة للعددية الموجودة في الإحداثيات المحددة.
مجردة مزدوجة
getObject (إحداثيات طويلة)
إرجاع قيمة العددية الموجودة في الإحداثيات المحددة.
مجردة DoubleNdArray
قراءة ( DataBuffer <Double> dst)
مجردة DoubleNdArray
مجردة NdArraySequence < DoubleNdArray >
العددية ()
إرجاع تسلسل لجميع الكميات الموجودة في هذه المصفوفة.
مجردة DoubleNdArray
تعيين ( NdArray <Double> src، إحداثيات طويلة ...)
مجردة DoubleNdArray
setDouble (قيمة مزدوجة، إحداثيات طويلة)
يعين القيمة المزدوجة للعددية الموجودة في الإحداثيات المحددة.
مجردة DoubleNdArray
setObject (قيمة مزدوجة، إحداثيات طويلة)
مجردة DoubleNdArray
شريحة ( فهرس... فهارس)
ينشئ عرضًا (أو شريحة) متعدد الأبعاد لهذه المصفوفة عن طريق تعيين بُعد واحد أو أكثر لمحددات الفهرس المحددة.
مجردة DoubleNdArray
الكتابة ( DataBuffer <Double> src)
مجردة DoubleNdArray

الطرق الموروثة

الأساليب العامة

الملخص العام DoubleNdArray CopyTo ( NdArray <Double> dst)

ملخص عام NdArraySequence < DoubleNdArray > العناصر (int DimensionIdx)

إرجاع تسلسل لجميع العناصر في بعد معين.

منطقيًا، يمكن تسوية المصفوفة ذات الأبعاد N في متجه واحد، حيث تسبق الكميات القياسية للعنصر (n - 1) تلك الخاصة بالعنصر (n) ، لإجمالي قيم size() .

على سبيل المثال، بالنظر إلى مصفوفة nxm على المحاور [x, y] ، يتم تكرار العناصر بالترتيب التالي:

س 0 ص 0 , س 0 ص 1 , ..., س 0 ص م-1 , س 1 ص 0 , س 1 ذ 1 , ..., س ن-1 ص م-1

يمكن بعد ذلك تكرار التسلسل الذي تم إرجاعه لزيارة كل عنصر، إما عن طريق استدعاء forEach(Consumer) أو 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);
    });
 }

حدود
DimensionIdx مؤشر البعد
المرتجعات
  • تسلسل NdArray

الحصول على الملخص العام DoubleNdArray (الإحداثيات الطويلة)

تُرجع العنصر N-الأبعاد لهذه المصفوفة عند الإحداثيات المحددة.

يمكن استرجاع عناصر أي من أبعاد هذه المصفوفة. على سبيل المثال، إذا كان عدد الإحداثيات يساوي عدد أبعاد هذه المصفوفة، فسيتم إرجاع مصفوفة من المرتبة 0 (عددية)، ويمكن بعد ذلك الحصول على القيمة عن طريق استدعاء `array.getObject()`.

أي تغييرات يتم تطبيقها على العناصر التي تم إرجاعها تؤثر على بيانات هذه المصفوفة أيضًا، حيث لا توجد نسخة معنية.

لاحظ أن استدعاء هذه الطريقة هو طريقة مكافئة وأكثر فعالية لتقسيم هذه المصفوفة إلى عددية فردية، على سبيل المثال array.get(x, y, z) يساوي array.slice(at(x), at(y), at(z))

حدود
الإحداثيات إحداثيات العنصر المراد الوصول إليه، لن يقوم أي منها بإرجاع هذه المصفوفة
المرتجعات
  • العنصر في هذا الفهرس

getDouble مجردة عامة (إحداثيات طويلة)

إرجاع القيمة المزدوجة للعددية الموجودة في الإحداثيات المحددة.

للوصول إلى العنصر العددي، يجب أن يكون عدد الإحداثيات المقدمة مساويًا لعدد أبعاد هذه المصفوفة (أي رتبتها). على سبيل المثال:

DoubleNdArray matrix = NdArrays.ofDoubles(shape(2, 2));  // matrix rank = 2
  matrix.getDouble(0, 1);  // succeeds, returns 0.0
  matrix.getDouble(0);  // throws IllegalRankException

  DoubleNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getDouble();  // succeeds, returns 0.0
 

حدود
الإحداثيات إحداثيات العددية لحلها
المرتجعات
  • قيمة تلك العددية
رميات
IndexOutOfBoundsException إذا كانت بعض الإحداثيات خارج حدود البعد الخاص بها
IllegalRankException إذا كان عدد الإحداثيات غير كاف للوصول إلى عنصر عددي

ملخص عام مزدوج getObject (إحداثيات طويلة)

إرجاع قيمة العددية الموجودة في الإحداثيات المحددة.

للوصول إلى العنصر العددي، يجب أن يكون عدد الإحداثيات المقدمة مساويًا لعدد أبعاد هذه المصفوفة (أي رتبتها). على سبيل المثال:

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

حدود
الإحداثيات إحداثيات العددية لحلها
المرتجعات
  • قيمة تلك العددية

قراءة DoubleNdArray العامة ( DataBuffer <Double> dst)

قراءة الملخص العام لـ DoubleNdArray ( DoubleDataBuffer dst)

الملخص العام NdArraySequence < DoubleNdArray > العدديات ()

إرجاع تسلسل لجميع الكميات الموجودة في هذه المصفوفة.

وهذا يعادل استدعاء elements(shape().numDimensions() - 1)

المرتجعات
  • تسلسل NdArray

مجموعة DoubleNdArray مجردة عامة ( NdArray <Double> src، إحداثيات طويلة ...)

الملخص العام DoubleNdArray setDouble (قيمة مزدوجة، إحداثيات طويلة)

يعين القيمة المزدوجة للعددية الموجودة في الإحداثيات المحددة.

للوصول إلى العنصر العددي، يجب أن يكون عدد الإحداثيات المقدمة مساويًا لعدد أبعاد هذه المصفوفة (أي رتبتها). على سبيل المثال:

DoubleNdArray matrix = NdArrays.ofDoubles(shape(2, 2));  // matrix rank = 2
  matrix.setDouble(10.0, 0, 1);  // succeeds
  matrix.setDouble(10.0, 0);  // throws IllegalRankException

  DoubleNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setDouble(10.0);  // succeeds
 

حدود
قيمة قيمة لتعيينها
الإحداثيات إحداثيات العددية لتعيين
المرتجعات
  • هذه المصفوفة
رميات
IndexOutOfBoundsException إذا كانت بعض الإحداثيات خارج حدود البعد الخاص بها
IllegalRankException إذا كان عدد الإحداثيات غير كاف للوصول إلى عنصر عددي

الملخص العام DoubleNdArray setObject (قيمة مزدوجة، إحداثيات طويلة...)

شريحة DoubleNdArray العامة ( الفهرس... المؤشرات)

ينشئ عرضًا (أو شريحة) متعدد الأبعاد لهذه المصفوفة عن طريق تعيين بُعد واحد أو أكثر لمحددات الفهرس المحددة.

تسمح الشرائح باجتياز مصفوفة ذات أبعاد N في أي محور و/أو تصفية العناصر محل الاهتمام فقط. على سبيل المثال، بالنسبة لمصفوفة معينة على المحاور [x, y] ، من الممكن تكرار العناصر عند y=0 لجميع x .

تؤثر أي تغييرات يتم تطبيقها على الشريحة التي تم إرجاعها على بيانات هذه المصفوفة أيضًا، حيث لا توجد نسخة معنية.

مثال للاستخدام:

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

حدود
المؤشرات محددات الفهرس لكل أبعاد، بدءًا من البعد 0 لهذه المصفوفة.
المرتجعات
  • العنصر الناتج عن اختيار الفهرس

كتابة DoubleNdArray مجردة عامة ( DataBuffer <Double> src)

كتابة الملخص العام لـ DoubleNdArray ( DoubleDataBuffer src)